Hi Mike, Looks like you are referring to our python example <https://github.com/googleads/googleads-python-lib/blob/master/examples/adwords/v201607/campaign_management/add_keywords_using_incremental_batch_job.py> to add keywords using a batch job, which is definitely recommended. Please find the rest of my answers inline:
Im creating adgroups with in total ~100000 keywords and it takes a lot of time(sometimes also stucked). *Could you please provide SOAP XML request and response logs for the job that you feel got stuck? If not, if you have the batch job ID, that would help me in debugging the issue.* 1. There a efficient way to create this batch jobs? *The recommended way to create a batch job is explained in our Batch Processing Guide <https://developers.google.com/adwords/api/docs/guides/batch-jobs#create_a_batch_job>. Although the process is explained in Java, the same guidelines are referred to when creating the Python library examples. * 2. There is a limit of operations? *You may see a RateExceededError <https://developers.google.com/adwords/api/docs/common-errors#RateExceededError.RATE_EXCEEDED> if you perform more than 10,000 operations in a day. Please refer to our Rate Sheet <https://developers.google.com/adwords/api/docs/ratesheet> to understand what counts as an operation. In this case, the only way to increase the operational limit for your account would be to apply for a Standard Access <https://www.google.com/appserve/fb/forms/standardaccess/>. You can, however, also see this error if you send too many requests to the API in a short amount of time (few minutes for example). This usually happens if you do not group your operations into a batch job <https://developers.google.com/adwords/api/docs/guides/batch-jobs> and instead prefer to send one operation with each API request. This rate limit is in place to stop malicious software from crashing our servers. Rate limits <https://developers.google.com/adwords/api/docs/guides/rate-limits> (not to be confused with System Limits <https://developers.google.com/adwords/api/docs/appendix/limits>) are transient and expire after a period of time.The retryAfterSeconds <https://developers.google.com/adwords/api/docs/guides/rate-limits#decomposing_rateexceedederror> property of the RateExceededError would tell you the appropriate time interval after which it is safe to retry. Also, there are no penalties associated with hitting the rate limit.* 3. How can we improve it(best practices)? *You can find a list of best practices for batch jobs here <https://developers.google.com/adwords/api/docs/guides/batch-jobs#best_practices>.* Regards, Vishal, AdWords API Team -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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 https://groups.google.com/group/adwords-api. To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/c2e541d1-b9f7-4dc8-8491-2bee3e35f38d%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.