Is it possible to download bulk of data?

189 views
Skip to first unread message

miho.m...@gmail.com

unread,
Jun 6, 2014, 5:37:57 AM6/6/14
to adwor...@googlegroups.com
Hi All,

Is there a way to download bulk data (e.g get multiple campaigns, groups, keywords, ads at once?) with Google API?
Currently, we have download campaigns first, then for each campaigns, we download its groups, then for each groups we download its keywords,...Do in this sequentially is quite slow in case we need to download alot of campaigns. 

Thanks
Hong

Josh Radcliff (AdWords API Team)

unread,
Jun 6, 2014, 3:29:30 PM6/6/14
to adwor...@googlegroups.com
Hi Hong,

The fastest and most streamlined way to do this is to use reporting as described in the Structure Reports Guide.

If you decide to still use the SOAP services, keep in mind that you are not limited to pulling data one campaign or one ad group at a time. For example, when pulling ad groups from the AdGroupService, you can create a predicate that uses the IN operator to select ad groups for multiple campaign IDs at once.

Cheers,
Josh, AdWords API Team

miho.m...@gmail.com

unread,
Jun 9, 2014, 3:06:25 AM6/9/14
to adwor...@googlegroups.com
Hi Josh,

According to Structure Reports Guide, we can make use of report service to get basic data (attributes) of campaign/group/keywords/ad without performance data quickly.
But then we have to use normal API service to get other detail data. So, in comparison with using API service to get all data of campaigns, then from get all data of groups behind all campaigns,.. (without using report service), how does this way improve processing speed?

Thanks
Hong

Josh Radcliff (AdWords API Team)

unread,
Jun 9, 2014, 12:47:26 PM6/9/14
to adwor...@googlegroups.com
Hi Hong,

It depends on your use case. If you are simply trying to sync IDs of your campaigns, ad groups, ads, etc. to your local database, then you can just use reports. If instead you need every attribute of every object within all of your campaigns, then reports alone won't help. However, you may still be able to use reports to get the set of IDs you want to process later using the API, e.g.,

1. Use CAMPAIGN_PERFORMANCE_REPORT to get all of the campaign IDs in your account.
2. Use CampaignService.get to batch together requests for sets of campaign IDs into manageable request and response sizes.

Another option is to use CustomerSyncService to detect which campaigns, ad groups, feeds or criteria changed since your last full sync, and only fetch the details of those objects through the API.

Cheers,
Josh, AdWords API Team

miho.m...@gmail.com

unread,
Jun 10, 2014, 10:49:23 AM6/10/14
to adwor...@googlegroups.com
Thank Josh for very clear answer. I will try with CustomerSyncService to see if it helps increasing speeds.

Hong
Reply all
Reply to author
Forward
0 new messages