Re: Downloading reports concurrently returns corrupted report data. Please advise.
This turned out to be a thread safety issue in one of the Java classes we use (NumberFormat) to parse the reports. Apologies for the false alarm. Oliver On Wednesday, May 14, 2014 4:29:28 PM UTC+1, Josh Radcliff (AdWords API Team) wrote: Hi Oliver, Are you using a new instance of ReportDownloaderhttps://github.com/googleads/googleads-java-lib/blob/831d8a73dbf686d34caa09b489a9515335b177ca/modules/ads_lib/src/main/java/com/google/api/ads/adwords/lib/utils/v201402/ReportDownloader.java#L52for each thread? As mentioned in that type's javadoc, instances are not thread-safe. Thanks, Josh, AdWords API Team On Wednesday, May 14, 2014 5:39:30 AM UTC-4, Oliver wrote: I'd like to also mention that the multiple threads all handle *different *accounts that belong to different root accounts i.e. there is no issue here of the access token or Credential object being created and used multiple times concurrently. Looking forward to hearing back from you. Oliver On Wednesday, May 14, 2014 8:11:01 AM UTC+1, Oliver wrote: We have an app that downloads performance reports (csv) for Adgroups, keywords, Ads, etc. So far, we've been using one thread to download the reports and everything has been working fine for a long time. In an attempt to speed up the download process, we want to use multiple threads to download the various reports. However, doing this causes most of the reports data to be corrupted. We're seeing columns with no value, or an empty string, or even numbers with multiple decimal points e.g. 123.456.789 We use the Java client library. API v201309 Any ideas why this is happening? This is currently a showstopper for us. Thanks for your help. Oliver -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
CONCURRENT MODIFICATION Error
Hi all, I am getting quite often CONCURRENT MODIFICATION ERRORS when trying to upload KWs. I have a long list of operations and my strategy is to batch the requests and then call the mutate method of the service for the batch. Batch are uploaded in series therefore, there should not be any issue with multiple threads. However I still get from time to time the CONCURRENT MODIFICATION error. Reading the doc seems that this is due to the way google processes the requests. My understanding is that it may happen when I try to add multiple Kws to the same adgroup. The question is : - if I implement a more clever batching strategy: parsing the operations and creating batches which only add Kws to different adgroups, would it help? In general I would not like to go for this solution since it is a bit complicated to implement ( I have hundred thousands requests) and it does not allow to handle different types of requests (not only Kws) in a more general fashion. Anybody could comment on what would be the best option to handle this issue? -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: Using TargetingIdeaService to return the data for the actual search term provided.
Jeremy, The returned result are not expected to return the same search terms, but rather, keyword ideas. I.e., for a given term, the idea may not always be the same as the original term. Thanks, Ray On Wednesday, May 14, 2014 5:34:13 PM UTC+2, Jeremy Tremblay wrote: It should be the same value as what you have in setQuery(...) Yes, that is what I expect. But it does not come back in my TargetingIdeaPage as a TargetingIdea for every search term I use. For example when I use bakruptcy as my search term, I can find A TargetingIdea in my TargetingIdeaPage with a KEYWORD_TEXT attribute of bankrputcy, yet if I use adoption, I cannot. Is this a paging issue? Should I be making multiple calls to targetingIdeaService.get? On Wednesday, May 14, 2014 4:54:40 AM UTC-5, Ray Tsang (AdWords API Team) wrote: Jeremy, The search terms field in the UI should be exactly the same string you entered in the previous step (in the Your product or service field). It is an user input. It should be the same value as what you have in setQuery(...). Cheers, Ray On Tuesday, May 13, 2014 9:58:12 PM UTC+2, Jeremy Tremblay wrote: Ray, see attached. I am using the following to get a TargetingIdeaPage which generally contains all the data in that screen snap under the Keyword (by relevance) section. I'm having issues getting the data under the Search Terms section to come though on the TargetingIdeaPage: // Get the TargetingIdeaService. TargetingIdeaServiceInterface targetingIdeaService = adWordsServices.get(session, TargetingIdeaServiceInterface.class); // Create category products and services search parameter CategoryProductsAndServicesSearchParameter categoryProductsAndServicesSearchParameter = new CategoryProductsAndServicesSearchParameter(); categoryProductsAndServicesSearchParameter.setCategoryId(10018); // Create related to query search parameter. RelatedToQuerySearchParameter relatedToQuerySearchParameter = new RelatedToQuerySearchParameter(); relatedToQuerySearchParameter.setQueries(new String[] {searchTerm}); //Location int locationsSize = locationIds.size(); Location[] locations = new Location[locationsSize]; for (int i = 0; i locationsSize; i++) { Location location = new Location(); location.setId(locationIds.get(i).longValue()); locations[i] = location; } LocationSearchParameter locationSearchParameter = new LocationSearchParameter(); locationSearchParameter.setLocations(locations); //Google only NetworkSearchParameter networkSearchParameter = new NetworkSearchParameter(); networkSearchParameter.setNetworkSetting(new NetworkSetting(true, false, false, false)); // Create selector. TargetingIdeaSelector selector = new TargetingIdeaSelector(); selector.setRequestType(RequestType.IDEAS); selector.setIdeaType(IdeaType.KEYWORD); selector.setSearchParameters(new SearchParameter[] {relatedToQuerySearchParameter, categoryProductsAndServicesSearchParameter, locationSearchParameter, networkSearchParameter}); selector.setRequestedAttributeTypes(new AttributeType[] { AttributeType.KEYWORD_TEXT, AttributeType.COMPETITION, AttributeType.SEARCH_VOLUME, AttributeType.AVERAGE_CPC}); //800 is the MAX here. // Set selector paging (required for targeting idea service). Paging paging = new Paging(); paging.setStartIndex(0); paging.setNumberResults(800); selector.setPaging(paging); TargetingIdeaPage page = targetingIdeaService.get(selector); I am using On Tuesday, May 13, 2014 1:11:20 PM UTC-5, Ray Tsang (AdWords API Team) wrote: Jeremy, To make sure I'm on the same page - could I trouble you to attach a screenshot of the search term that you are referring to? Thanks, Ray On Monday, May 12, 2014 4:10:00 PM UTC-4, Jeremy Tremblay wrote: Currently I am using the TargetingIdeaService to provide a subset of the functionality of the Keyword Plannerhttps://adwords.google.com/ko/KeywordPlanner/Home?__c=2479277912__u=3596500112__o=cues by providing a list of locations and a RelatedToQuerySearchParameter query to TargetingIdeaService.get to get a list of keywords and their associated data, as one might in the Search for new keyword and ad group ideas section of the tool. The results returned by the tool on the Keyword Ideas tab include the Search Term data as well as a list of Keywords and their data. My use of TargetingIdeaService.get is returning the list of Keywords just fine, but I can't seem to get the Search Term data to come through. Does anyone know how I might go about doing that? Is it perhaps due to the paging limitations of TargetingIdeaService.get and I need more than 800 results to get a TargetingIdeaPage that includes an entry where the KEYWORD_TEXT matches the RelatedToQuerySearchParameter query Search Term exactly? Any help is appreciated, -jt- -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Re: Changing the OAuth2 client secret
Rob, I've noted this down. However, I'm only able to help resolving AdWords API issues. This is more related to the accounts and authenticationshttps://developers.google.com/accounts/ in general. Could I trouble you to reach out via Google Accounts API related forumshttps://developers.google.com/accounts/forum ? Thanks, Ray On Wednesday, May 14, 2014 6:51:44 PM UTC+2, Rob wrote: Note that Bing Ads allow changing the client secret for a given ID in their Developer Center... it shouldn't be that difficult for Google! On Wednesday, 14 May 2014 17:37:19 UTC+1, Rob wrote: Hi, Is there a way to change the OAuth2 client secret without changing the client ID? From what I can see, the only option is to generate a new client ID and secret together, meaning any refresh tokens obtained against the old client ID are effectively useless. If that is the case, what's the point of having a separate ID and secret? Surely they should just be a single property of the application. This appears to be a design flaw with separating authentication from authorization. I can't periodically change the client secret as a security best practice (like changing your password on a regular basis) without having to get all my clients to re-authorize me. -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: Changing the OAuth2 client secret
Thanks Ray, I've posted a question there... http://stackoverflow.com/questions/23679229/generating-a-new-client-secret Rob. On Thursday, 15 May 2014 11:59:04 UTC+1, Ray Tsang (AdWords API Team) wrote: Rob, I've noted this down. However, I'm only able to help resolving AdWords API issues. This is more related to the accounts and authenticationshttps://developers.google.com/accounts/ in general. Could I trouble you to reach out via Google Accounts API related forumshttps://developers.google.com/accounts/forum ? Thanks, Ray On Wednesday, May 14, 2014 6:51:44 PM UTC+2, Rob wrote: Note that Bing Ads allow changing the client secret for a given ID in their Developer Center... it shouldn't be that difficult for Google! On Wednesday, 14 May 2014 17:37:19 UTC+1, Rob wrote: Hi, Is there a way to change the OAuth2 client secret without changing the client ID? From what I can see, the only option is to generate a new client ID and secret together, meaning any refresh tokens obtained against the old client ID are effectively useless. If that is the case, what's the point of having a separate ID and secret? Surely they should just be a single property of the application. This appears to be a design flaw with separating authentication from authorization. I can't periodically change the client secret as a security best practice (like changing your password on a regular basis) without having to get all my clients to re-authorize me. -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: PHP Client Library: An error has occurred: [QuotaCheckError.INCOMPLETE_SIGNUP @ ; trigger:'null']
I am also getting the same type of error as the OP, and I have followed the exact same steps. I have also tried troubleshooting via error guide. Could you please take a look, Ray? Production MCC ID: 307-898-0570 Test MCC ID: 203-909-5769 AdWords account inside Test MCC: 279-058-2489 On Thursday, April 10, 2014 6:22:36 PM UTC-4, Ray Tsang (AdWords API Team) wrote: Hi all, If you are receiving INCOMPLETE_SIGNUP errorhttps://developers.google.com/adwords/api/docs/common-errors#QuotaCheckError, please carefully review the common error guide on how to resolve thishttps://developers.google.com/adwords/api/docs/common-errors#QuotaCheckError . Cheers, Ray On Monday, April 7, 2014 1:13:11 PM UTC-4, Ray Tsang (AdWords API Team) wrote: Gabriel, I've replied to you on the other thread in private. Please take a look. Cheers, Ray On Thursday, April 3, 2014 6:28:34 PM UTC-4, Gabriel Kung wrote: Having the exact same problem. Production MCC Customer ID is: 565-672-9383 Test MCC Customer ID is: 899-817-0069 Test MCC Adwords Account: 460-090-3879 If you have a solution, please let me know. Thanks, Gabriel -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: AdWords API Re: Upgrading from V6 to V9
Michael this is your brother Jack, could you give me a call or text 352-444-4111 On Monday, April 16, 2007 12:01:35 PM UTC-4, Michael Waites wrote: Do a search for wsdl.exe. You will find that post I told you about and in there Cali laid out a pretty descriptive version on using the WSDL.exe including code paths. His example used an older version, but once you see how they name the path, it will make sense to you where the new version is. As well, in that post, another person talked about using an XML file as a parameter to the WSDL.exe. Michael R. Waites, Jr. Sr. Software Developer SendTec, Inc. -Original Message- From: adwor...@googlegroups.com javascript: [mailto: adwor...@googlegroups.com javascript:] On Behalf Of a...@babyage.com javascript: Sent: Monday, April 16, 2007 11:48 AM To: AdWords API Forum Subject: AdWords API Re: Upgrading from V6 to V9 Well, I know that my predeccessor did infact use the WSDL to create the code, I am just unsure where to get the source to do it. (Not the WSDL.EXE, but the actual codebase for the API), I will have to poke around. On Apr 16, 11:45 am, Michael Waites mwai...@sendtec.com wrote: You need to either add Google's WSDL's path to your project as a web reference or build the stub code on your own. My college has previously spoken on how to do this with wsdl.exe; you may want to search this forum for wsdl.exe. Otherwise, do read the API's documentation, it is well laid out. Additionally, poke around a bit, there is sample code to be had and even better, some classes that can be used outright. Michael R. Waites, Jr. Sr. Software Developer SendTec, Inc. -Original Message- From: adwor...@googlegroups.com javascript: [mailto:adwor...@googlegroups.com javascript:] On Behalf Of a...@babyage.com Sent: Monday, April 16, 2007 11:23 AM To: AdWords API Forum Subject: AdWords API Re: Upgrading from V6 to V9 I cannot find any code to upgrade with, I did not implament the original V6 API, so I am a bit unsure how the new V9 is even supposed to be implamented. On Apr 16, 10:27 am, Michael Waites mwai...@sendtec.com wrote: We recently did this as well. First, become aware that two big main objects have been removed. CreativeService and Creative. I will get credit where credit is due, and Google's AdWords API Developer's Guide does a good job of documenting what is deprecated and removed and how to overcome the issue. The place to start in the documentation is the Release notes for V9:http://www.google.com/apis/adwords/developer/releasenotes.html The real big helper is the API Difference table at the bottom of the page, you can click the deprecated items and you will be directed to suggestions on what you should use instead. I think you will find that your code will upgrade pretty easy. I found that where we had used CreativeService and Creative objects, a few extra lines of code were needed, but nothing overly difficult. Hope this helps, Michael R. Waites, Jr. Sr. Software Developer SendTec, Inc. -Original Message- From: adwor...@googlegroups.com javascript: [mailto:adwor...@googlegroups.com javascript:] On Behalf Of a...@babyage.com Sent: Monday, April 16, 2007 10:17 AM To: AdWords API Forum Subject: AdWords API Upgrading from V6 to V9 We have an implamentation of V6 API, and I cannot figure out how to upgrade this to V9! We have a VB.NET Implamentation of the API, and I am trying to figure out how to upgrade to V9, any ideas and suggestions would be most helpful! Thank You.- Hide quoted text - - Show quoted text -- Hide quoted text - - Show quoted text - -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: campaign conversion count greater than summed adgroup conversion count?
The campaign I'm looking at is set to Search Network Only. On Wednesday, May 14, 2014 1:28:06 PM UTC-5, Josh Radcliff (AdWords API Team) wrote: Hi, Are any of the campaigns involved *Search Display Networks*, *Search Network with Display Select*, or *Display Network Only* campaigns, or are any of the ads *Dynamic Search Ads*? Thanks, Josh, AdWords API Team On Tuesday, May 13, 2014 5:12:08 PM UTC-4, Omar El-Domeiri wrote: I've found that number of conversions reported in the CAMPAIGN_PERFORMANCE_REPORT is greater than the sum of conversions in the ADGROUP_PERFORMANCE_REPORT. Similarly for, the sum of the conversions column for the KEYWORD_PERFORMANCE_REPORT is less than the sum for the ADGROUP_PERFORMANCE_REPORT. Why would this be the case? Shouldn't every conversion be tied to a keyword? -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: Adding campaigns and kws multiple times
Hi Luca, The keyword will be added only once. I'm not sure why such a difference exists in this behaviour, I guess AdWords throws error on duplicate campaign name because it enforces that condition, whereas you could add a keyword, delete it, add it back again and so on, so throwing an error for trying to add a duplicate keyword doesn't make sense. I'll ask the API team to take a look. Cheers, Anash P. Oommen, AdWords API Advisor. On Thursday, May 15, 2014 6:02:22 AM UTC-4, Luca Fiaschi wrote: Hi, I would like a little clarification regarding adding an object (campaign, adgroup, kw ... ) multiple times: For example when I try to add a campaign with the same name 2 times I get an error (existing campaign). However this error does not occur when readding a kw with the same text. What is the logic behind this? Will the Kw be duplicated or added only once? -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: CONCURRENT MODIFICATION Error
Hi Luca, Your approach of batching keyword operations by adgroups is fine, but you can also try staggering the batches such that successive API calls don't go to a single adgroup. That should reduce the frequency of CONCURRENT MODIFICATION errors. Cheers, Anash P. Oommen, AdWords API Advisor. On Thursday, May 15, 2014 5:37:33 AM UTC-4, Luca Fiaschi wrote: Hi all, I am getting quite often CONCURRENT MODIFICATION ERRORS when trying to upload KWs. I have a long list of operations and my strategy is to batch the requests and then call the mutate method of the service for the batch. Batch are uploaded in series therefore, there should not be any issue with multiple threads. However I still get from time to time the CONCURRENT MODIFICATION error. Reading the doc seems that this is due to the way google processes the requests. My understanding is that it may happen when I try to add multiple Kws to the same adgroup. The question is : - if I implement a more clever batching strategy: parsing the operations and creating batches which only add Kws to different adgroups, would it help? In general I would not like to go for this solution since it is a bit complicated to implement ( I have hundred thousands requests) and it does not allow to handle different types of requests (not only Kws) in a more general fashion. Anybody could comment on what would be the best option to handle this issue? -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
About 'SizeLimitError.RESPONSE_SIZE_LIMIT_EXCEEDED'
I got 'SizeLimitError.RESPONSE_SIZE_LIMIT_EXCEEDED' when downloading a performance report. Please tell me the standard value of this 'SIZE_LIMIT'. -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: ERROR_GETTING_RESPONSE_FROM_BACKEND when including CampaignId in PLACEHOLDER_FEED_ITEM_REPORT
Hi Jeremy, Could you provide the complete report request after removing any sensitive information? I just successfully ran the PLACEHOLDER_FEED_ITEM_REPORT with the fields mentioned below. I'd like to see which fields and predicates you are using -- it may be that you found certain combinations that aren't working. Thanks, Josh, AdWords API Team On Wednesday, May 14, 2014 4:52:10 PM UTC-4, Jeremy Aube wrote: I'm trying to get a PLACEHOLDER_FEED_ITEM_REPORT that includes CampaignId, but so far I keep getting this error: AdwordsApi::Errors::ReportXmlError - HTTP code: 500, error type: 'ReportDownloadError.ERROR_GETTING_RESPONSE_FROM_BACKEND', trigger: 'Unable to read report data', field path: '': The report works just fine if I remove the CampaignId field. Other fields like CampaignName, AdGroupId, and AdGroupName result in the same error. Other attribute fields are working fine. For example, I can include AttributeValues, FeedId, or FeedItemId without any problems. I saw another post where the issue seemed to have something to do with not including any metrics, but I am requesting metrics. There was also another post regarding an implied campaign_id, but I don't think that applies here. -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: Modifying CPC bid accross multiple ads by a common factor
Hi Dominic, If work hours is something that decides how many operators your client has at a given point, then you could consider using AdSchedules instead. You can set bid modifiers on them, at campaign level. See https://developers.google.com/adwords/api/docs/reference/v201402/CampaignCriterionService.CampaignCriterion#bidModifier for details. Cheers, Anash P. Oommen, AdWords API Advisor. On Wednesday, May 14, 2014 6:30:47 PM UTC-4, Dominic wrote: Hi Josh, Thanks for the reply, but unfortunately I don't think this will suit my client. They have a PPC expert who is advising them and creating campaigns by tweaking the CPC at the ad level, so I don't think I'm gong to be able to convince them to switch to any of the flexible bid strategies. I'd come up with an alternate solution where they will duplicate their campaigns and manually adjust the the CPC on each ad in each duplicated campaign. This way you would have a standard campaign, a low rate campaign and a high rate campaign, then use the API to switch between these campaigns based on the number of operators they have available. I was thinking that I could even create a simple script to duplicate a campaign and adjust all CPC bids by a fixed percentage. Thanks, Dom On Wednesday, May 14, 2014 6:33:46 PM UTC+1, Josh Radcliff (AdWords API Team) wrote: Hi Dom, Have you considered creating a Shared Bid Strategyhttps://developers.google.com/adwords/api/docs/guides/bidding#shared-strategies that you could use across all of your campaigns? The TargetSpendBiddingSchemehttps://developers.google.com/adwords/api/docs/reference/v201402/BiddingStrategyService.TargetSpendBiddingScheme may be a good fit for your use case. Also, since you are looking at limiting the *spend* you might want to consider using Shared Budgetshttps://developers.google.com/adwords/api/docs/guides/shared-budgets. With a shared budget you could adjust the spend for all campaigns associated with the budget at once. Cheers, Josh, AdWords API Team On Tuesday, May 13, 2014 7:41:51 PM UTC-4, Dominic wrote: Hi, I'm new to both adwords and the API, so please excuse me if I use terms incorrectly. My clients runs several campaigns with a CPC set at the ad level. I would like to adjust their spend based on the number of call handlers they have to available to process new clients. Ideally I would like to allow them to keep the fine grained control and use a multiplier to adjust their spend. Ad group level bid modifiers would be ideal for what I want to do, but they are only available for mobile and I need something across all platforms. One solution I'm considering is querying their account, getting the CPC for each ad, then modifying them all by a fixed percentage and then locally storing the change, so that I can modify them back again later. I can see two problems with this - firstly I'm sure rounding errors will creep in and compound and secondly if my client changes the CPC for an ad after I've made a global adjustment then that ad will have a price that is out of sync with the other ads. If anyone can suggest a solution or point me to and API call I'd overlooked then I'd appreciate it. Thanks, Dom -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: ERROR_GETTING_RESPONSE_FROM_BACKEND when including CampaignId in PLACEHOLDER_FEED_ITEM_REPORT
Hi Jeremy, ERROR_GETTING_RESPONSE_FROM_BACKEND usually happens when the amount of data being requested is very large, and there is a timeout between the API server and stats server. Try reducing the size of the report by removing some columns, or restricting the report to a shorter date range / fewer campaigns. Let me know if that doesn't work, and I'll investigate this further. Cheers, Anash P. Oommen, AdWords API Advisor. On Wednesday, May 14, 2014 4:52:10 PM UTC-4, Jeremy Aube wrote: I'm trying to get a PLACEHOLDER_FEED_ITEM_REPORT that includes CampaignId, but so far I keep getting this error: AdwordsApi::Errors::ReportXmlError - HTTP code: 500, error type: 'ReportDownloadError.ERROR_GETTING_RESPONSE_FROM_BACKEND', trigger: 'Unable to read report data', field path: '': The report works just fine if I remove the CampaignId field. Other fields like CampaignName, AdGroupId, and AdGroupName result in the same error. Other attribute fields are working fine. For example, I can include AttributeValues, FeedId, or FeedItemId without any problems. I saw another post where the issue seemed to have something to do with not including any metrics, but I am requesting metrics. There was also another post regarding an implied campaign_id, but I don't think that applies here. -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: Modifying CPC bid accross multiple ads by a common factor
Hi Anash, Hours do determine how many operators are working, but not how many are available, as the time of day doesn't predict when operators will be handling a call and when they'll be available. I really need fine grained control, perhaps even on a minute by minute basis. What I really need is to be able to set a global percentage bid modifier for the campaign, in the same way that you can for mobile, but I think this just isn't possible with the adwords API. Thanks, Dominic On Thursday, May 15, 2014 3:50:29 PM UTC+1, Anash P. Oommen (AdWords API Team) wrote: Hi Dominic, If work hours is something that decides how many operators your client has at a given point, then you could consider using AdSchedules instead. You can set bid modifiers on them, at campaign level. See https://developers.google.com/adwords/api/docs/reference/v201402/CampaignCriterionService.CampaignCriterion#bidModifierfor details. Cheers, Anash P. Oommen, AdWords API Advisor. On Wednesday, May 14, 2014 6:30:47 PM UTC-4, Dominic wrote: Hi Josh, Thanks for the reply, but unfortunately I don't think this will suit my client. They have a PPC expert who is advising them and creating campaigns by tweaking the CPC at the ad level, so I don't think I'm gong to be able to convince them to switch to any of the flexible bid strategies. I'd come up with an alternate solution where they will duplicate their campaigns and manually adjust the the CPC on each ad in each duplicated campaign. This way you would have a standard campaign, a low rate campaign and a high rate campaign, then use the API to switch between these campaigns based on the number of operators they have available. I was thinking that I could even create a simple script to duplicate a campaign and adjust all CPC bids by a fixed percentage. Thanks, Dom On Wednesday, May 14, 2014 6:33:46 PM UTC+1, Josh Radcliff (AdWords API Team) wrote: Hi Dom, Have you considered creating a Shared Bid Strategyhttps://developers.google.com/adwords/api/docs/guides/bidding#shared-strategies that you could use across all of your campaigns? The TargetSpendBiddingSchemehttps://developers.google.com/adwords/api/docs/reference/v201402/BiddingStrategyService.TargetSpendBiddingScheme may be a good fit for your use case. Also, since you are looking at limiting the *spend* you might want to consider using Shared Budgetshttps://developers.google.com/adwords/api/docs/guides/shared-budgets. With a shared budget you could adjust the spend for all campaigns associated with the budget at once. Cheers, Josh, AdWords API Team On Tuesday, May 13, 2014 7:41:51 PM UTC-4, Dominic wrote: Hi, I'm new to both adwords and the API, so please excuse me if I use terms incorrectly. My clients runs several campaigns with a CPC set at the ad level. I would like to adjust their spend based on the number of call handlers they have to available to process new clients. Ideally I would like to allow them to keep the fine grained control and use a multiplier to adjust their spend. Ad group level bid modifiers would be ideal for what I want to do, but they are only available for mobile and I need something across all platforms. One solution I'm considering is querying their account, getting the CPC for each ad, then modifying them all by a fixed percentage and then locally storing the change, so that I can modify them back again later. I can see two problems with this - firstly I'm sure rounding errors will creep in and compound and secondly if my client changes the CPC for an ad after I've made a global adjustment then that ad will have a price that is out of sync with the other ads. If anyone can suggest a solution or point me to and API call I'd overlooked then I'd appreciate it. Thanks, Dom -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: Keywords and Ads Added to the Account with CustomerSyncService
Hi Ben, The typical use case for the *CustomerSyncService *is an application that stores a local copy of a subset of information from the account, and the application uses the service to determine which objects have changed since it last checked. Depending on the type of changed/deleted object, the application will then either use another service (e.g., AdGroupCriterionServicehttps://developers.google.com/adwords/api/docs/reference/v201402/AdGroupCriterionService) or structure reportshttps://developers.google.com/adwords/api/docs/guides/structure-reports to retrieve the relevant objects and compare them to its local copy of each object. The service just returns IDs because the alternative of including all of the details behind each changed object would mean that the CampaignChangeDatahttps://developers.google.com/adwords/api/docs/reference/v201402/CustomerSyncService.CampaignChangeData would have to essentially replicate the entire campaign object graph of AdWords (twice if it contained before and after values for every possible object and attribute). In the case of keywords, the changedCriteriahttps://developers.google.com/adwords/api/docs/reference/v201402/CustomerSyncService.AdGroupChangeData#changedCriteria and deletedCriteriahttps://developers.google.com/adwords/api/docs/reference/v201402/CustomerSyncService.AdGroupChangeData#deletedCriteria fields on AdGroupChangeData will give you the IDs of any keywords (or other criteria) that changed. Each ID will correspond to the modified AdGroupCriterionService.Criterion.idhttps://developers.google.com/adwords/api/docs/reference/v201402/AdGroupCriterionService.Criterion#id, and you can use that in conjunction with the AdGroupChangeData.adGroupIdhttps://developers.google.com/adwords/api/docs/reference/v201402/CustomerSyncService.AdGroupChangeData#adGroupId to issue an additional reporting or AdGroupCriterionServicehttps://developers.google.com/adwords/api/docs/reference/v201402/AdGroupCriterionService request to retrieve further information. Best regards, Josh, AdWords API Team On Thursday, May 15, 2014 9:03:20 AM UTC-4, Ben Pate wrote: Hi, I am trying to use the CustomerSyncService to find the number of keywords or ads that have been added to an account. For the newly added keywords I also want to know the match type. It doesn't seem like this is possible with the CustomerSyncService because I can only see that as Ad Group field has changed but I can not determine exactly what such as: 5 Keywords added, 4 of exact match and 1 of broad match 2 Ads created At this point, we are leaning towards forcing the user to download XML change history report and then parse that information in order to get at the information we seek. We are trying to get some aggregate stats of changes made to the account like the example I gave. It would be greatly appreciated if someone could point me in the right direction if this is possible. -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: Issues with adding production partition in shopping campaign with API
Hi, When you created the campaign, did you create it through the AdWords user interface or by running our AddShoppingCampaignhttps://github.com/googleads/googleads-java-lib/blob/master/examples/adwords_axis/src/main/java/adwords/axis/v201402/shoppingcampaigns/AddShoppingCampaign.java example? If you used the UI, please try creating the campaign via the API and post back if you still have trouble with the partition tree. Thanks, Josh, AdWords API Team On Wednesday, May 14, 2014 4:38:45 PM UTC-4, Peijun Xu wrote: We'are implementing the code to call the adwords api for shopping campaign. We want to use the feature for product partition under the adgroup criterion service. I created the campaign with shopping type and created the adgroup under the campaign. And then, I tried to run the example code in AddProductPartitionTree.java. It returns the error PRODUCT_PARTITION_ALREADY_EXISTS. I thought it is because of the default production partition had already been created as 'All products'. But this criterion is not removable. Then I tried to use that default product partition as the parent criterion to create new partition under that. But it returns the error as PRODUCT_PARTITION_UNIT_CANNOT_HAVE_CHILDREN. The default one is a UNIT not a SUBDIVISION. Also I tried to update the partition type for the default partition to SUBDIVISION. But after running the mutate for update, it's still a unit. I can manually add product partition under the default one on adwords UI then it could be changed to SUBDIVISION type. I'm wondering is there any runnable example for the shopping campaign case. Thanks! -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: Using TargetingIdeaService to return the data for the actual search term provided.
Which brings me back to my original question: How do I get the data for the Search Term?? If you look at the screenshot I provided, there is data in the Search terms section. How do I use the API to get that data? The Keyword Tool provides data in that section no matter what Search Term I use. I need to replicate this behavior using the API. How do I do that? -jt- On Thursday, May 15, 2014 5:29:35 AM UTC-5, Ray Tsang (AdWords API Team) wrote: Jeremy, The returned result are not expected to return the same search terms, but rather, keyword ideas. I.e., for a given term, the idea may not always be the same as the original term. Thanks, Ray On Wednesday, May 14, 2014 5:34:13 PM UTC+2, Jeremy Tremblay wrote: It should be the same value as what you have in setQuery(...) Yes, that is what I expect. But it does not come back in my TargetingIdeaPage as a TargetingIdea for every search term I use. For example when I use bakruptcy as my search term, I can find A TargetingIdea in my TargetingIdeaPage with a KEYWORD_TEXT attribute of bankrputcy, yet if I use adoption, I cannot. Is this a paging issue? Should I be making multiple calls to targetingIdeaService.get? On Wednesday, May 14, 2014 4:54:40 AM UTC-5, Ray Tsang (AdWords API Team) wrote: Jeremy, The search terms field in the UI should be exactly the same string you entered in the previous step (in the Your product or service field). It is an user input. It should be the same value as what you have in setQuery(...). Cheers, Ray On Tuesday, May 13, 2014 9:58:12 PM UTC+2, Jeremy Tremblay wrote: Ray, see attached. I am using the following to get a TargetingIdeaPage which generally contains all the data in that screen snap under the Keyword (by relevance) section. I'm having issues getting the data under the Search Terms section to come though on the TargetingIdeaPage: // Get the TargetingIdeaService. TargetingIdeaServiceInterface targetingIdeaService = adWordsServices.get(session, TargetingIdeaServiceInterface.class); // Create category products and services search parameter CategoryProductsAndServicesSearchParameter categoryProductsAndServicesSearchParameter = new CategoryProductsAndServicesSearchParameter(); categoryProductsAndServicesSearchParameter.setCategoryId(10018); // Create related to query search parameter. RelatedToQuerySearchParameter relatedToQuerySearchParameter = new RelatedToQuerySearchParameter(); relatedToQuerySearchParameter.setQueries(new String[] {searchTerm}); //Location int locationsSize = locationIds.size(); Location[] locations = new Location[locationsSize]; for (int i = 0; i locationsSize; i++) { Location location = new Location(); location.setId(locationIds.get(i).longValue()); locations[i] = location; } LocationSearchParameter locationSearchParameter = new LocationSearchParameter(); locationSearchParameter.setLocations(locations); //Google only NetworkSearchParameter networkSearchParameter = new NetworkSearchParameter(); networkSearchParameter.setNetworkSetting(new NetworkSetting(true, false, false, false)); // Create selector. TargetingIdeaSelector selector = new TargetingIdeaSelector(); selector.setRequestType(RequestType.IDEAS); selector.setIdeaType(IdeaType.KEYWORD); selector.setSearchParameters(new SearchParameter[] {relatedToQuerySearchParameter, categoryProductsAndServicesSearchParameter, locationSearchParameter, networkSearchParameter}); selector.setRequestedAttributeTypes(new AttributeType[] { AttributeType.KEYWORD_TEXT, AttributeType.COMPETITION, AttributeType.SEARCH_VOLUME, AttributeType.AVERAGE_CPC}); //800 is the MAX here. // Set selector paging (required for targeting idea service). Paging paging = new Paging(); paging.setStartIndex(0); paging.setNumberResults(800); selector.setPaging(paging); TargetingIdeaPage page = targetingIdeaService.get(selector); I am using On Tuesday, May 13, 2014 1:11:20 PM UTC-5, Ray Tsang (AdWords API Team) wrote: Jeremy, To make sure I'm on the same page - could I trouble you to attach a screenshot of the search term that you are referring to? Thanks, Ray On Monday, May 12, 2014 4:10:00 PM UTC-4, Jeremy Tremblay wrote: Currently I am using the TargetingIdeaService to provide a subset of the functionality of the Keyword Plannerhttps://adwords.google.com/ko/KeywordPlanner/Home?__c=2479277912__u=3596500112__o=cues by providing a list of locations and a RelatedToQuerySearchParameter query to TargetingIdeaService.get to get a list of keywords and their associated data, as one might in the Search for new keyword and ad group ideas section of the tool. The results returned by the tool on the Keyword Ideas tab include the Search Term data as well as a list of Keywords and their data. My use of TargetingIdeaService.get is returning the list of Keywords just fine, but
Re: Issues with adding production partition in shopping campaign with API
Hi, I just ran a few quick tests and found that you *can* remove the default product partition created when you create the ad group through the UI. Simply issue an AdGroupCriterionService.mutatehttps://developers.google.com/adwords/api/docs/reference/v201402/AdGroupCriterionService#mutate and pass it a single AdGroupCriterionOperationhttps://developers.google.com/adwords/api/docs/reference/v201402/AdGroupCriterionService.AdGroupCriterionOperation where the operand is the default product partition and the operator is *REMOVE*. After that, you should be able to run AddProductPartitionTree.javahttps://github.com/googleads/googleads-java-lib/blob/master/examples/adwords_axis/src/main/java/adwords/axis/v201402/shoppingcampaigns/AddProductPartitionTree.java successfully. Cheers, Josh, AdWords API Team On Thursday, May 15, 2014 11:08:00 AM UTC-4, Josh Radcliff (AdWords API Team) wrote: Hi, When you created the campaign, did you create it through the AdWords user interface or by running our AddShoppingCampaignhttps://github.com/googleads/googleads-java-lib/blob/master/examples/adwords_axis/src/main/java/adwords/axis/v201402/shoppingcampaigns/AddShoppingCampaign.java example? If you used the UI, please try creating the campaign via the API and post back if you still have trouble with the partition tree. Thanks, Josh, AdWords API Team On Wednesday, May 14, 2014 4:38:45 PM UTC-4, Peijun Xu wrote: We'are implementing the code to call the adwords api for shopping campaign. We want to use the feature for product partition under the adgroup criterion service. I created the campaign with shopping type and created the adgroup under the campaign. And then, I tried to run the example code in AddProductPartitionTree.java. It returns the error PRODUCT_PARTITION_ALREADY_EXISTS. I thought it is because of the default production partition had already been created as 'All products'. But this criterion is not removable. Then I tried to use that default product partition as the parent criterion to create new partition under that. But it returns the error as PRODUCT_PARTITION_UNIT_CANNOT_HAVE_CHILDREN. The default one is a UNIT not a SUBDIVISION. Also I tried to update the partition type for the default partition to SUBDIVISION. But after running the mutate for update, it's still a unit. I can manually add product partition under the default one on adwords UI then it could be changed to SUBDIVISION type. I'm wondering is there any runnable example for the shopping campaign case. Thanks! -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: About 'SizeLimitError.RESPONSE_SIZE_LIMIT_EXCEEDED'
Hi, From our Reporting Basics guidehttps://developers.google.com/adwords/api/docs/guides/reporting : The report download request will time out after ten minutes of idle time (no data transmitted) or one hour total elapsed time. There is no explicit data size limit; however, due to a variety of factors, the server may return an error if the report is too large. Are you already requesting one of the gzipped formats (GZIPPED_CSV or GZIPPED_XML)? If not, I'd give that a try. Otherwise, you may need to break up your report request into multiple requests date and/or ID subsets. For example, if you're running a Campaign Performance Report on an account with 50 campaigns, you could run the report 5 times, with each request containing 10 of the campaign IDs in the predicate. Cheers, Josh, AdWords API Team On Thursday, May 15, 2014 4:23:34 AM UTC-4, 柴崎友哉 wrote: I got 'SizeLimitError.RESPONSE_SIZE_LIMIT_EXCEEDED' when downloading a performance report. Please tell me the standard value of this 'SIZE_LIMIT'. -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: QueryError.INVALID_DURING_CLAUSE For CALL_METRICS_CALL_DETAILS_REPORT
Hi Boric, You don't need to specify the date clause for this report. That said, let me check once with the team whether date columns were intentionally excluded from this report type. Cheers, Anash P. Oommen, AdWords API Advisor. On Tuesday, May 13, 2014 3:00:40 AM UTC-4, Boris Savic wrote: So how can I get this report just for today? -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: Zero Impressions but non-zero clicks in SEARCH_QUERY_PERFORMANCE_REPORT
Thanks - I just came across the following post related to the same question: https://groups.google.com/d/msg/adwords-api/V5ZjQaPJl80/BVIqOJZPgLQJ I think that explains the results you're seeing (which I just confirmed also match the results in the AdWords UI). Cheers, Josh, AdWords API Team On Wednesday, May 14, 2014 2:43:34 PM UTC-4, AdWordsApiUser wrote: Just did. Thanks for your quick reply :-) On Wednesday, May 14, 2014 11:21:18 PM UTC+5:30, Josh Radcliff (AdWords API Team) wrote: Hi MG, Could you send the following *only to me* by clicking *Reply to Author*? - Customer ID for the reporting request - The exact report requests you sent (you indicated that you ran this report at least twice: once with *Impressions = 0* and once without it) - Any report output you captured, especially any before and after output that shows there was a change in behavior Thanks, Josh, AdWords API Team On Wednesday, May 14, 2014 1:19:15 PM UTC-4, AdWordsApiUser wrote: I found today that the query: SELECT Query, KeywordId, AdGroupId, CampaignId, Impressions, Clicks, Ctr FROM SEARCH_QUERY_PERFORMANCE_REPORT WHERE MatchTypeWithVariant IN [PHRASE, EXPANDED, BROAD_SESSION, BROAD, AUTO] AND Impressions = 0 AND Clicks 0 DURING LAST_30_DAYS is returning rows. The Ctr is set to 0.00. We found this as our condition was set to Clicks 0 only, and while calculating Ctr, we got a divide by 0 error and internal debugging revealed this. Could someone from the API team comment on this? I believe that this is a recent regression. Thanks! MG -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: OAuth2 Campaign update issue (c#)
Hi Abhijit, You need to use OAuth2 as authentication mechanism instead of authToken. AdWords API no longer supports ClientLogin as of v201402. From your code snippet, it doesn't look like you are using the AdWords API client library, so you need to use a third party library like http://dotnetopenauth.net/ to add OAuth2 support to your application, and set Authorization: Bearer ACCESS_TOKEN on the outgoing HTTP request header. It's unfortunately not that simple to do that on a Soap service, see http://stackoverflow.com/questions/4661627/how-to-set-http-headers-from-client-class-inherited-from-soaphttpclientprotocol?rq=1 for suggestions on how this may be done. Just wondering, is there any reason why you chose not to use the AdWords API .NET library? Cheers, Anash P. Oommen, AdWords API Advisor. On Wednesday, May 14, 2014 4:38:53 AM UTC-4, abhijit chaudhari wrote: Hi Richard, I am facing issues while getting campaigns, My application is ASP.NET MVC and i need to fetch all campaigns but how i can send authtoken while making request. below is sample code which i am using. SoapHeader do not have propert authtoken in v201402 version. can please she some info. we are migrating to v201402 version. campServiceClient1 = new CampaignServiceInterfaceClient(); Gateway.Google.CampaignService.SoapHeader RequestHeader = new Gateway.Google.CampaignService.SoapHeader(); RequestHeader.developerToken = connectionInfo.DeveloperToken.Trim(); RequestHeader.userAgent = UserAgent; //RequestHeader.*authToken *= authtoken.Trim(); RequestHeader.clientCustomerId = GoAccountId.ToString(); ///setting selector to download campaigns for the entire account CampaignService.Selector selector = new CampaignService.Selector(); selector.fields = new string[] { Id, Name, Status }; CampaignPage cp = new CampaignPage(); Gateway.Google.CampaignService.SoapResponseHeader res = campServiceClient1.get(RequestHeader, selector, out cp); On Tuesday, 29 April 2014 02:34:08 UTC+5:30, Richard wrote: ok I got it working now. one question, when I use CampaignService.get() I got the entire list of campaigns. Is there a way to select just one campaign based on campaignID? thanks, Richard On Wednesday, April 23, 2014 10:59:12 AM UTC-5, Anash P. Oommen (AdWords API Team) wrote: Hi Richard, You need to 1. Retrieve the budget id using CampaignService.get(). Use BudgetId as the selector field. 2. Set the budget using BudgetService.mutate(). My understanding is that you cannot update the budget using CampaignService.mutate any longer. Cheers, Anash On Tuesday, April 22, 2014 10:48:07 AM UTC-4, Richard wrote: Any idea? the update campaign budget worked on v201309 without budget id but now failed on v201402, is there any parameter I need to set? thanks! -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: ERROR_GETTING_RESPONSE_FROM_BACKEND when including CampaignId in PLACEHOLDER_FEED_ITEM_REPORT
I tried reducing the size of the request, but I'm still getting the same error. Here's the report definition I just tried: reportDefinition selector fieldsCampaignId/fields fieldsClicks/fields predicates fieldClickType/field operatorIN/operator valuesSITELINKS/values /predicates predicates fieldIsSelfAction/field operatorIN/operator valuestrue/values /predicates predicates fieldStatus/field operatorIN/operator valuesACTIVE/values /predicates predicates fieldCampaignId/field operatorIN/operator values39258782/values /predicates /selector reportNamePlaceholder+Feed+Item+Report/reportName reportTypePLACEHOLDER_FEED_ITEM_REPORT/reportType dateRangeTypeYESTERDAY/dateRangeType downloadFormatCSV/downloadFormat includeZeroImpressionstrue/includeZeroImpressions /reportDefinition On Thursday, May 15, 2014 10:52:50 AM UTC-4, Anash P. Oommen (AdWords API Team) wrote: Hi Jeremy, ERROR_GETTING_RESPONSE_FROM_BACKEND usually happens when the amount of data being requested is very large, and there is a timeout between the API server and stats server. Try reducing the size of the report by removing some columns, or restricting the report to a shorter date range / fewer campaigns. Let me know if that doesn't work, and I'll investigate this further. Cheers, Anash P. Oommen, AdWords API Advisor. On Wednesday, May 14, 2014 4:52:10 PM UTC-4, Jeremy Aube wrote: I'm trying to get a PLACEHOLDER_FEED_ITEM_REPORT that includes CampaignId, but so far I keep getting this error: AdwordsApi::Errors::ReportXmlError - HTTP code: 500, error type: 'ReportDownloadError.ERROR_GETTING_RESPONSE_FROM_BACKEND', trigger: 'Unable to read report data', field path: '': The report works just fine if I remove the CampaignId field. Other fields like CampaignName, AdGroupId, and AdGroupName result in the same error. Other attribute fields are working fine. For example, I can include AttributeValues, FeedId, or FeedItemId without any problems. I saw another post where the issue seemed to have something to do with not including any metrics, but I am requesting metrics. There was also another post regarding an implied campaign_id, but I don't think that applies here. -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.
Re: Using TargetingIdeaService to return the data for the actual search term provided.
Forget it, I got it. I need a separate call to TargetingIdeaServiceInterface.get with selector.setRequestType(RequestType.STATS); instead of IDEAS and Paging paging = new Paging(); paging.setStartIndex(0); paging.setNumberResults(1); selector.setPaging(paging); Thanks for your help again Ray! -jt- On Thursday, May 15, 2014 10:07:53 AM UTC-5, Jeremy Tremblay wrote: Which brings me back to my original question: How do I get the data for the Search Term?? If you look at the screenshot I provided, there is data in the Search terms section. How do I use the API to get that data? The Keyword Tool provides data in that section no matter what Search Term I use. I need to replicate this behavior using the API. How do I do that? -jt- On Thursday, May 15, 2014 5:29:35 AM UTC-5, Ray Tsang (AdWords API Team) wrote: Jeremy, The returned result are not expected to return the same search terms, but rather, keyword ideas. I.e., for a given term, the idea may not always be the same as the original term. Thanks, Ray On Wednesday, May 14, 2014 5:34:13 PM UTC+2, Jeremy Tremblay wrote: It should be the same value as what you have in setQuery(...) Yes, that is what I expect. But it does not come back in my TargetingIdeaPage as a TargetingIdea for every search term I use. For example when I use bakruptcy as my search term, I can find A TargetingIdea in my TargetingIdeaPage with a KEYWORD_TEXT attribute of bankrputcy, yet if I use adoption, I cannot. Is this a paging issue? Should I be making multiple calls to targetingIdeaService.get? On Wednesday, May 14, 2014 4:54:40 AM UTC-5, Ray Tsang (AdWords API Team) wrote: Jeremy, The search terms field in the UI should be exactly the same string you entered in the previous step (in the Your product or service field). It is an user input. It should be the same value as what you have in setQuery(...). Cheers, Ray On Tuesday, May 13, 2014 9:58:12 PM UTC+2, Jeremy Tremblay wrote: Ray, see attached. I am using the following to get a TargetingIdeaPage which generally contains all the data in that screen snap under the Keyword (by relevance) section. I'm having issues getting the data under the Search Terms section to come though on the TargetingIdeaPage: // Get the TargetingIdeaService. TargetingIdeaServiceInterface targetingIdeaService = adWordsServices.get(session, TargetingIdeaServiceInterface.class); // Create category products and services search parameter CategoryProductsAndServicesSearchParameter categoryProductsAndServicesSearchParameter = new CategoryProductsAndServicesSearchParameter(); categoryProductsAndServicesSearchParameter.setCategoryId(10018); // Create related to query search parameter. RelatedToQuerySearchParameter relatedToQuerySearchParameter = new RelatedToQuerySearchParameter(); relatedToQuerySearchParameter.setQueries(new String[] {searchTerm}); //Location int locationsSize = locationIds.size(); Location[] locations = new Location[locationsSize]; for (int i = 0; i locationsSize; i++) { Location location = new Location(); location.setId(locationIds.get(i).longValue()); locations[i] = location; } LocationSearchParameter locationSearchParameter = new LocationSearchParameter(); locationSearchParameter.setLocations(locations); //Google only NetworkSearchParameter networkSearchParameter = new NetworkSearchParameter(); networkSearchParameter.setNetworkSetting(new NetworkSetting(true, false, false, false)); // Create selector. TargetingIdeaSelector selector = new TargetingIdeaSelector(); selector.setRequestType(RequestType.IDEAS); selector.setIdeaType(IdeaType.KEYWORD); selector.setSearchParameters(new SearchParameter[] {relatedToQuerySearchParameter, categoryProductsAndServicesSearchParameter, locationSearchParameter, networkSearchParameter}); selector.setRequestedAttributeTypes(new AttributeType[] { AttributeType.KEYWORD_TEXT, AttributeType.COMPETITION, AttributeType.SEARCH_VOLUME, AttributeType.AVERAGE_CPC}); //800 is the MAX here. // Set selector paging (required for targeting idea service). Paging paging = new Paging(); paging.setStartIndex(0); paging.setNumberResults(800); selector.setPaging(paging); TargetingIdeaPage page = targetingIdeaService.get(selector); I am using On Tuesday, May 13, 2014 1:11:20 PM UTC-5, Ray Tsang (AdWords API Team) wrote: Jeremy, To make sure I'm on the same page - could I trouble you to attach a screenshot of the search term that you are referring to? Thanks, Ray On Monday, May 12, 2014 4:10:00 PM UTC-4, Jeremy Tremblay wrote: Currently I am using the TargetingIdeaService to provide a subset of the functionality of the Keyword Plannerhttps://adwords.google.com/ko/KeywordPlanner/Home?__c=2479277912__u=3596500112__o=cues by providing a list of locations and a RelatedToQuerySearchParameter query to
Programatically getting available fields for AWQL to service calls (and reports too I suppose)
I'm in the process of writing a simplified wrapper for the Adwords API client lib and it would be really helpful if there was some way to get a list of AWQL fields for service calls other than copy/pasting them from this website: https://developers.google.com/adwords/api/docs/appendix/selectorfields#v201402-AdGroupAdService Is there a call I'm missing somewhere that would provide this data? -- -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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. For more options, visit https://groups.google.com/d/optout.