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 Am Donnerstag, 12. März 2015 17:35:49 UTC+1 schrieb Josh Radcliff (AdWords API Team): > > 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 > <https://developers.google.com/adwords/api/docs/guides/bestpractices#group_operations>) > > 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 > > On Wednesday, March 11, 2015 at 12:19:11 PM UTC-4, Dominic Asche wrote: >> >> 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 >> >> >> >> >> >> Am Mittwoch, 11. März 2015 14:40:22 UTC+1 schrieb Josh Radcliff (AdWords >> API Team): >>> >>> 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 >>> <https://developers.google.com/adwords/api/docs/guides/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 >>> >>> <https://developers.google.com/adwords/api/docs/guides/rate-limits#operational_limit_based_on_access_level> >>> >>> 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 >>> <https://developers.google.com/adwords/api/docs/guides/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 >>> >>> On Monday, March 9, 2015 at 2:01:34 PM UTC-4, Dominic Asche wrote: >>>> >>>> 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. >>>> >>>> -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and Google+: https://googleadsdeveloper.blogspot.com/ https://plus.google.com/+GoogleAdsDevelopers/posts =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To post to this group, send email to adwords-api@googlegroups.com To unsubscribe from this group, send email to adwords-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/adwords-api?hl=en --- You received this message because you are subscribed to the Google Groups "AdWords API Forum" group. To unsubscribe from this group and stop receiving emails from it, send an email to adwords-api+unsubscr...@googlegroups.com. Visit this group at http://groups.google.com/group/adwords-api. To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/ae7dfede-e504-4d6d-9d9c-dfd0c9ca316b%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.