The concept of changing target URLs bulk

105 views
Skip to first unread message

Dominic Asche

unread,
Mar 9, 2015, 2:01:34 PM3/9/15
to adwor...@googlegroups.com
We are trying to change the target URLs of our clients ads through the AdWords API.
Our process is steched like this:
  • We pull via the AdWords API the existing and active AdGroups
  • Per AdGroup we do the following:
    1. Pause active text-ads
    2. Clone paused text-ads
    3. Change Display-URLs
    4. Change KeyWords target URLs
    5. Batch all those changes and send them using the MutateJobService to get the updates applied.
  • (Then we redo this until all desired AdGroups have been changes)

The reason why I'm asking about a best-practice approach is that our above described concept takes a lot of time till it's completed.
  • Is there a best-practice approach? Can you give me an idea of the best way to  bulk change target URLs?

Thanks for any hint.

Josh Radcliff (AdWords API Team)

unread,
Mar 11, 2015, 9:40:22 AM3/11/15
to adwor...@googlegroups.com
Hi,

A couple of ideas/questions come to mind:
  1. Could you give an estimate on a) the number of ads and keywords you are updating per ad group, b) the number of ad groups you're processing per account, and c) the number of accounts? I'd like to get an idea of the order of magnitude of the changes - are we talking about thousands, tens of thousands, or millions of changes?
  2. MutateJobService is a good approach here, but keep in mind that if you hit any rate limits, MutateJobService will have to wait and retry your requests. If you've hit your quota for the day on the number of operations, that means that your jobs will take a long time to complete because they'll have to wait for the daily quota reset. One way to minimize this would be to request Standard Access for your dev token if you don't already have it.
  3. If you are updating both ads and keywords, you may want to try submitting those in separate jobs.
  4. Depending on your use case, you may want to consider using Upgraded URLs going forward to avoid editorial reviews for this type of change. For example, if you are making this change because your tracking URLs need to change but the final destination URLs are not changing, upgraded URLs would offer significant benefits.
Hope that helps!

Thanks,
Josh, AdWords API Team

Dominic Asche

unread,
Mar 11, 2015, 12:19:11 PM3/11/15
to adwor...@googlegroups.com
Hi Josh - thanks for quick reply.

  1. Traffic estimation:
  • "Number of ads and keywords per ad group" --> ~50 ads and ~10-500+ keywords (per client)
  • "the number of ad groups you're processing per account" --> ~3.000+ (per client)
    (clients 1-100 / day)

    • At the moment we are sending one package per adgroup via MutateJobService (one package = pause ads, clone ads, change targetURL of ad related
    • This whole process takes us around 3-5 sec
      • We wait till the job is completed and send the next one
        • This process takes us a lot of time and we assume that there might be a conceptual misunderstanding on ourside (as updates with Google AdWords Editor uploading a CSV is going 100x times faster) --> what do you think - are we using the API in the way of our conceptual approch

          • Should we send all changes of all adgroups in one package via MutateJob or one package per AdGroup?
          • As you outlined, we should try to submit changes of keywords and URLs in separate jobs - also per AdGroup or all changes in all AdGroups at once?


  1. MutateJob / Rate Exceed: We use a Standard token
  1. Upgraded URLs: We need to change top and second level domain of the targetURL, so upgraded URL is unfortunatelly not applicable for us, i think



Thanks for further tips and hints,
Dominic

Josh Radcliff (AdWords API Team)

unread,
Mar 12, 2015, 12:35:49 PM3/12/15
to adwor...@googlegroups.com
Hi Dominic,

One important point about MutateJobService is that operations submitted through that service will most likely take longer to complete than those same operations submitted to the non-job service, e.g., AdGroupCriterionService. The reason for this is that jobs submitted through MutateJobService are queued up and prioritized, so they may not execute immediately. In contrast, operations submitted to the synchronous services such as AdGroupCriterionService are executed immediately.

Of course, if you move away from MutateJobService, you'll have to implement your own retry logic for transient errors and rate limit errors, but if speed is your top priority, this may be worth the extra development effort.

I'd recommend trying to use the non-job services for a subset of accounts to see if that provides a significant performance benefit.

Regarding grouping operations, my suggestion was to try updating ads and keywords separately. Grouping by ad group (as recommended in our Best Practices guide) should be sufficient. When you said "changes of keywords and URLs in separate jobs", did you mean to say "changes of keywords and ads in separate jobs"?

Thanks,
Josh, AdWords API Team

Dominic Asche

unread,
Mar 16, 2015, 3:13:02 AM3/16/15
to adwor...@googlegroups.com
Hi Josh - 
thanks a lot for your detailed answer. 
We'll give the synchronus alternative you outlined a try and decide from there.

When you said "changes of keywords and URLs in separate jobs", did you mean to say "changes of keywords and ads in separate jobs"?
--> yes.


Thanks a lot!
Much appreciated
Dominic

Reply all
Reply to author
Forward
0 new messages