Get top 5 keywords by Clicks

37 views
Skip to first unread message

Peter Kingswell

unread,
Mar 25, 2015, 10:09:56 AM3/25/15
to adwor...@googlegroups.com
Hi,

this has been asked a few years ago but I'd like to know as of the current API version, what the most efficient/best way of doing this is.  Ideally the call would take parameters/predicates along the lines of:

start date
end date
sort order e.g. Clicks | CPC | CTR
parent entity ID - i.e. Ad Group ID or Campaign ID.  This would be optional and query all keywords in the account if omitted.

Many thanks,
Peter

p.s. the forum editor's bullet-point feature seems to be broken (Win/Chrome)

Josh Radcliff (AdWords API Team)

unread,
Mar 26, 2015, 8:20:22 AM3/26/15
to adwor...@googlegroups.com
Hi Peter,

The best way I can think of to achieve this is via reports. For example, you could run a KEYWORDS_PERFORMANCE_REPORT with the following fields:
  • Date
  • CampaignId
  • AdGroupId
  • Id (the keyword criterion ID)
  • KeywordText
  • KeywordMatchType
  • Clicks
Reports do not support sorting, but you could take the output from the report and sort it by descending Clicks to see the top keywords. You may want to use Month in place of Date if you find that the Date field produces too many rows for meaningful analysis.

Thanks,
Josh, AdWords API Team

Peter Kingswell

unread,
Mar 26, 2015, 9:44:25 AM3/26/15
to adwor...@googlegroups.com
Hi Josh,

thanks for your reply.  That was my conclusion too.  I didn't realise that the CampaignId and AdGroupId predicates are both optional, thus achieving the functionality we need.  And as you say, sorting it afterwards is trivial.

My only reservation is for accounts with a vast number of keywords.  OTTOMH we have some accounts with 100,000's of keywords.  Do you foresee any issues with such a volume of data?

Best, Peter

Josh Radcliff (AdWords API Team)

unread,
Mar 26, 2015, 1:16:25 PM3/26/15
to adwor...@googlegroups.com
Hi Peter,

Glad to hear that this approach will work for you.

Regarding accounts with a large amount of data, I would recommend splitting up your request into multiple requests, one per group of campaigns or ad groups by specifying a Predicate on CampaignId IN [a, b, c] or AdGroupId IN [x, y, z].

Cheers,
Josh, AdWords API Team
Reply all
Reply to author
Forward
0 new messages