New AdWords ID Data in Google Analytics API

Thursday, May 06, 2010


Cross posted from the Google Analytics Blog.

Google Analytics helps marketers measure the performance of their ad campaigns. By linking Google Analytics and AdWords accounts, advertisers get a detailed picture of the performance of their ad creatives and keywords. Manually optimizing campaigns works well for the top 100 or 1000 keywords, but can be a challenge for the 1000+ keywords in the long tail.
To help advertisers, we are releasing 5 new dimensions through the Google Analytics API that correlate to the AdWords API IDs.

  • ga:adwordsCustomerID
  • ga:adwordsCampaignID
  • ga:adwordsAdGroupID
  • ga:adwordsCriteriaID
  • ga:adwordsCreativeID

This allows advertisers to gain new insight by by combining data from Google Analytics and Google AdWords data sets.


Image of table showing new AdWords IDs

Likewise, clients can increase their efficiency by automating reporting using applications. For example, a developer could write an application that ranks all the ad and keyword combinations by bounce rate for the top 50 landing pages, making it easy to identify which ad creatives could be optimized. Running such a report at night would allow an analyst to spend their day focused on optimizing ad creatives to yield real outcomes.

To help you get started quickly, we wrote an article that walks through the steps of joining data from both sources. We also provided the sample application that produces the table above. Here's a sample Java code snippet that shows exactly how to insert the IDs from Google Analytics into a Google AdWords API filter:


public AdGroupCriterionIdFilter[] getCriterionFilters(DataFeed
analyticsData) {

int numFilters = analyticsData.getEntries().size();
AdGroupCriterionIdFilter[] critFilters = new
AdGroupCriterionIdFilter[numFilters];

for (int i = 0; i < numFilters; i++) {

DataEntry entry = analyticsData.getEntries().get(i);
Long groupID =
Long.parseLong(entry.stringValueOf("ga:adwordsAdGroupID"));
Long critID =
Long.parseLong(entry.stringValueOf("ga:adwordsCriteriaID"));

AdGroupCriterionIdFilter critFilter = new AdGroupCriterionIdFilter();
critFilter.setAdGroupId(groupID);
critFilter.setCriterionId(critID);
critFilters[i] = critFilter;
}
return critFilters;
}

Please keep in mind that all applications that combine data with the AdWords API must follow the AdWords API terms and conditions.

We're really excited about the new possibilities this data allows. We look forward to hearing how you use it to improve your ad campaigns!

Thanks!
Alex Lucas, Google Analytics API Team