Batch Jobs Google Ads API
Hello, I need to regularly upload one campaign with a few hundred ad groups in it and few hundred keyword in each ad group. I constantly hit the API limits. It's there a way to upload everything like there was with the AdWords API via batch jobs? What's the best practice to accomplish this? -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog: https://googleadsdeveloper.blogspot.com/ =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads 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 and Google Ads API Forum" group. To unsubscribe from this group and stop receiving emails from it, send an email to adwords-api+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/89133448-d7f0-47ad-8228-8cab364b0599%40googlegroups.com.
How are API calls counted?
If I want to create 100 ad groups, something like this: # Create ad group. all_adgroups = [] for x in range(200): ad_group_operation = client.get_type('AdGroupOperation', version=google_ads_version) ad_group = ad_group_operation.create ad_group.name.value = 'Earth to Mars cruises %s' % uuid.uuid4() ad_group.status = client.get_type('AdGroupStatusEnum', version=google_ads_version).ENABLED ad_group.campaign.value = campaign_service.campaign_path(customer_id, campaign_id) ad_group.type = client.get_type('AdGroupTypeEnum', version=google_ads_version).SEARCH_STANDARD ad_group.cpc_bid_micros.value = 1000 all_adgroups.append(ad_group_operation) # Add the ad groups. try: ad_group_response = ad_group_service.mutate_ad_groups(customer_id, all_adgroups[:2]) except google.ads.google_ads.errors.GoogleAdsException as ex: abort(400, "ERROR") Does this count as 1 API call or 200 ones? -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog: https://googleadsdeveloper.blogspot.com/ =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads 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 and Google Ads 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/7d459b79-f8b1-4d3a-bcf6-7209d056ed94%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Feature suggestion: When wrong country code is given the API should return an error, not setup Afghanistan
Right now when I make an API call to set a country code for a call only ad and I use for example gb instead of GB the api doesn't return an error but simply sets the country code as Afghanistan. This can easily lead to mistakes and errors. The API should return an error like: "invalid country code" -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog: https://googleadsdeveloper.blogspot.com/ =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads 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 and Google Ads 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/fc210b6d-9ac1-4fed-aed9-d8f6e90b92b1%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Add a campaign without a shared budget
Hi, Is it possible to create a new campaign with a fixed daily budget just for that campaign instead of attaching to it a shared budget like in the example: https://github.com/googleads/google-ads-python/blob/master/examples/basic_operations/add_campaigns.py Thanks -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog: https://googleadsdeveloper.blogspot.com/ =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads 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 and Google Ads 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/18d7f4d1-7fd7-4cc3-b1cf-76ef560df7ab%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Add list of keywords to an ad group (NEW API)
Hello, I'm trying to add a list of keywords to a specific ad group. From the exaples it seems that I have to make an API call for each keyword, but that seems unlikely because I would need to make 1000s of API calls just to make one ad group. Is it possible to add several keywords to an ad group with just one API call? The example I'm referring to is this one: https://github.com/googleads/google-ads-python/blob/master/examples/basic_operations/add_keywords.py -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog: https://googleadsdeveloper.blogspot.com/ =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads 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 and Google Ads 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/65ea1796-4c48-4ad0-8a6f-0038acc08c98%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Google Ads new API Get CPC for list of keywords
Hello, I'm trying to get CPC for a list of keywords. I'm using the KeywordPlanIdeaService however I can get only new keyword ideas with their competition and avg monthly search. I can't get the Avg. CPC for those keywords. Is this available somehow? -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog: https://googleadsdeveloper.blogspot.com/ =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads 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 and Google Ads 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/5ec245f9-74bb-47b2-a7c0-96c21cb0c026%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: ListAccessibleCustomers Google Ads API
Hello, I'm having the same issue. I need to do an extra API call for each account to extract the name, if it's test and all that info. With large accounts this becomes quickly impossible. Is there a plan to update the ListAccessibleCustomers method and return more info like the account name? If it's MCC etc Thanks On Wednesday, March 13, 2019 at 2:54:46 PM UTC+1, cv wrote: > > Hi, > > ListAccessibleCustomers example for PHP lib for Google Ads API is not > giving all the Managed customers for the MCC. > > Is there anything need to be done to get All the Accounts? > > Thanks, > -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog: https://googleadsdeveloper.blogspot.com/ =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads 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 and Google Ads 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/480b8c3a-c60a-4292-a64f-11d9aa86394f%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Cannot add beta API to Google Developer Console project
> > Hello everyone, > The issue in *NOT browser related*. It's related to your ad blocker. Pause your adblocker extension and you will be able to activate everything without problems! -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog: https://googleadsdeveloper.blogspot.com/ =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads 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 and Google Ads 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/81b8fc71-2769-4fbe-91e2-efd09cbe7165%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Integer or Float with Customizer
Hi Dannison, Sorry but I still don't get it. The name field should be the column name, for type STRING, I can pass any random name and the column gets appropriately labeled with that name on Google Ads. I'm pretty sure that the same is supposed to happen also with type FLOAT or other types. Why I would want to name a column with an integer name? The value, however, must be an integer if I set the type as INT64, that does make sense. As a very minimal example you could try to make this request: ad_customizer_feed_service = client.GetService("AdCustomizerFeedService", version='v201809') customizer_feed = { 'feedName': 'feed name xyz', 'feedAttributes': [{'type': 'STRING', 'name': 'this is the column name'}]} feed_service_operation = {'operator': 'ADD', 'operand': customizer_feed} response = ad_customizer_feed_service.mutate([feed_service_operation]) if response and 'value' in response: r = "VALID: {}".format(response) else: r = "NOT VALID: {}".format(response) return r This correctly returns: VALID: { 'ListReturnValue.Type': 'AdCustomizerFeedReturnValue', 'value': [ { 'feedId': 85X, 'feedName': 'feed name xyz', 'feedStatus': 'ENABLED', 'feedAttributes': [ { 'id': 1, 'name': 'this is the column name', 'type': 'STRING' } ] } ] } *Now if I try to submit a column with type INT64:* ad_customizer_feed_service = client.GetService("AdCustomizerFeedService", version='v201809') customizer_feed = { 'feedName': 'feed name xyz 2', 'feedAttributes': [{'type': 'INT64', 'name': 'this is the column name 2'}] } feed_service_operation = {'operator': 'ADD', 'operand': customizer_feed} response = ad_customizer_feed_service.mutate([feed_service_operation]) if response and 'value' in response: r = "VALID: {}".format(response) else: r = "NOT VALID: {}".format(response) print(r) return r This gives me the following error: googleads.errors.GoogleAdsServerFault: [RequiredError.REQUIRED @ operations[ 0].operand.feedAttributes[0].type] I've tried to use an integer as the name but that also didn't work. I'm pretty sure that the request above is supposed to work just like that. Could someone try to make the same request and see why is not working? I would really need this to work. This is the full SOAP logs of the failed (the second) request: [2018-12-05 12:39:41,601 - googleads.soap - INFO] Request made: Service: "AdCustomizerFeedService" Method: "mutate" URL: "https://adwords.google.com/api/adwords/cm/v201809/AdCustomizerFeedService; [2018-12-05 12:39:41,601 - googleads.soap - DEBUG] Outgoing request: { 'SOAPAction': '""', 'Content-Type': 'text/xml; charset=utf-8', 'authorization': 'REDACTED'} http://schemas.xmlsoap.org/soap/envelope/;> https://adwords.google.com/api/adwords/cm/v201809;> 197XX REDACTED unknown (AwApi-Python, googleads/15.0.0, Python/3.6.3, zeep) false false https://adwords.google.com/api/adwords/cm/v201809;> ADD feed name xyz 2 this is the column name 2 INT64 [2018-12-05 12:39:42,717 - googleads.soap - DEBUG] Incoming response: b'http://schemas.xmlsoap.org/soap/envelope/;>\n \nhttps://adwords.google.com/api/adwords/cm/v201809;>\n 00057c43ffeXXX\n AdCustomizerFeedService\n mutate\n 1\n 520\n\n \n \n\n soap:Client\n [RequiredError.REQUIRED @ operations[0].operand.feedAttributes[0].type]\n \nhttps://adwords.google.com/api/adwords/cm/v201809;>\n [RequiredError.REQUIRED @ operations[0].operand.feedAttributes[0].type]\n ApiException\n http://www.w3.org/2001/XMLSchema-instance; xsi:type="RequiredError">\n operations[0].operand.feedAttributes[0].type\n \n operations\n 0\n\n \n operand\n \n\n feedAttributes\n 0\n \n\n type\n\n \n RequiredError.REQUIRED\n RequiredError\n REQUIRED\n \n \n \n\n \n\n' [2018-12-05 12:39:42,718 - googleads.soap - WARNING] Error summary: { 'faultMessage': '[RequiredError.REQUIRED @ operations[0].operand.feedAttributes[0].type]', 'requestId': '00057c43ffe9XXX', 'serviceName': 'AdCustomizerFeedService', 'methodName': 'mutate', 'operations': '1', 'responseTime': '520'} -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog: https://googleadsdeveloper.blogspot.com/ =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads API Forum" group. To post to this group, send email to
Re: Increase bid by X%
Fantastic, exactly what I was looking for. Thank you! On Thu, Sep 13, 2018 at 11:16, Thorsten Merz wrote: Adding 50% bid modifier values will increase the bids on each of the devices by 50%, yes. That means if your bid is 1 $ then all devices will receive 1,50 $ -- On Thursday, September 13, 2018 at 10:13:41 AM UTC+2, cos...@gmail.com wrote: Does anyone know if adding 3 bid modifiers (Computer, tablet, and mobile) all to the same value, e.g. +50% would work? Would all my bids be increased by 50% automatically? On Thursday, September 13, 2018 at 11:00:07 AM UTC+3, cos...@gmail.com wrote: Hello, I use Python 3.X and the Google official libraries (adwords & Google Ads) I would like to increase and reduce bids by X% programmatically. In other words, apply a bid modifier globally and not only for a particular device or CALLS. Is this somehow possible? I'm using the new beta google ads api, but if needed I can also use the google adwords api to achieve this. I tried hard to find an example online without luck. My thinking is that I should do something like this: ## 1 - Get current campaign. ## 2 - Get current campaign Budget. ## 3 - Edit current Budget. ## 4 - Save current Budget. Is this right? Any example doc? -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog: https://googleadsdeveloper.blogspot.com/ [https://googleadsdeveloper.blogspot.com/] =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads 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 [http://groups.google.com/group/adwords-api?hl=en] --- You received this message because you are subscribed to a topic in the Google Groups "AdWords API and Google Ads API Forum" group. To unsubscribe from this topic, visit https://groups.google.com/d/topic/adwords-api/lO-2kOWeMFA/unsubscribe [https://groups.google.com/d/topic/adwords-api/lO-2kOWeMFA/unsubscribe] . To unsubscribe from this group and all its topics, send an email to adwords-api+unsubscr...@googlegroups.com [adwords-api+unsubscr...@googlegroups.com] . Visit this group at https://groups.google.com/group/adwords-api [https://groups.google.com/group/adwords-api] . To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/138460e3-146a-42a4-b2b1-f90869b48a36%40googlegroups.com [https://groups.google.com/d/msgid/adwords-api/138460e3-146a-42a4-b2b1-f90869b48a36%40googlegroups.com?utm_medium=email_source=footer] . For more options, visit https://groups.google.com/d/optout [https://groups.google.com/d/optout] . -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog: https://googleadsdeveloper.blogspot.com/ =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads 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 and Google Ads 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/ab223f58-ee22-4ddb-ac07-c7e10ff1e82e%40gmail.com. For more options, visit https://groups.google.com/d/optout.