Re: Date format error in examples/adspygoogle/adwords/v200909/get_unit_count.py
Ok, thanks for that - will do. Regards On 18 Aug, 01:05, AdWords API Advisor adwordsapiadvi...@google.com wrote: Hi Chris, Thank you for reporting this issue. For issues that are related to the client library, not the API, you can file them directly against the library's issue tracker: http://code.google.com/p/google-api-adwords-python-lib/issues/list Best, - Eric Koleda, AdWords API Team On Aug 16, 11:47 am, Chris Ramsay raz@gmail.com wrote: Hello, I encountered a problem when running the example code to get a unit count for the sandbox account. I got an internal server error when running get_unit_count.py as suggested inhttp://code.google.com/p/google-api-adwords-python-lib/wiki/Readme: *** Outgoing HTTP headers ** User-Agent: ZSI 2.0.0 (http://pywebsvcs.sf.net);PyXMLv0.8.3 *** Outgoing SOAP ** ?xml version=1.0 encoding=UTF-8? SOAP-ENV:Envelope xmlns:SOAP-ENC=http://schemas.xmlsoap.org/soap/ encoding/ xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/; xmlns:ZSI=http://www.zolera.com/schemas/ZSI/; xmlns:xsd=http://www.w3.org/2001/XMLSchema; xmlns:xsi=http://www.w3.org/2001/XMLSchema- instance SOAP-ENV:Header RequestHeader xmlns=https://adwords.google.com/api/adwords/info/ v200909 xmlns:ns1=https://adwords.google.com/api/adwords/cm/ v200909 ns1:authTokenxx/ns1:authToken ns1:userAgentAwApi-Python-12.1.0|GoogleTest/ns1:userAgent ns1:developerTokenmyacco...@gmail.com++gbp/ns1:developerToken /RequestHeader /SOAP-ENV:Header SOAP-ENV:Body xmlns:ns1=https://adwords.google.com/api/adwords/info/ v200909 ns1:get xmlns:ns1=https://adwords.google.com/api/adwords/info/ v200909 ns1:selector ns1:dateRange xmlns:ns2=https://adwords.google.com/api/adwords/ cm/v200909 ns2:min2010801/ns2:min ns2:max2010816/ns2:max /ns1:dateRange ns1:apiUsageTypeUNIT_COUNT/ns1:apiUsageType /ns1:selector /ns1:get /SOAP-ENV:Body /SOAP-ENV:Envelope *** Incoming HTTP headers ** 500 Internal Server Error Content-Type: text/xml; charset=UTF-8 Content-Encoding: gzip Transfer-Encoding: chunked Date: Mon, 16 Aug 2010 15:20:12 GMT Expires: Mon, 16 Aug 2010 15:20:12 GMT Cache-Control: private, max-age=0 X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-XSS-Protection: 1; mode=block Server: GSE *** Incoming SOAP ** ?xml version=1.0 encoding=UTF-8? soap:Envelope xmlns:soap=http://schemas.xmlsoap.org/soap/envelope/; soap:Body soap:Fault faultcodesoap:Server/faultcode faultstringFault occurred while processing./faultstring /soap:Fault /soap:Body /soap:Envelope The problem seems to be the date formatting, where ns2:min2010801/ ns2:min should be ns2:min20100801/ns2:min etc. In examples/adspygoogle/adwords/v200909/get_unit_count.py lines 44 - 48 selector = { 'dateRange': { 'min': '%s%s01' % (today.year, today.month), 'max': '%s%s%s' % (today.year, today.month, today.day) }, today.month should be formatted to supply a month as two digit always; presently it formats August as '8' rather than '08' on my system. Correcting this date formatting results in a successful request to the service. -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: TargetingIdea costs
Just wondering if you'd had a chance to look at my query. It would be good to get an answer today if that's possible. Kind regards Justin On Aug 17, 6:36 pm, Justin justindeavi...@googlemail.com wrote: Hi Eric I hope you can help me. I'm trying to calculate the costs of making calls to your API to get keyword ideas. I'd like to get an idea of the costs before our technical team starts work on the implementation. I want to be able to submit a keyword and get back 200 keyword suggestions along with a search count (my parameters are that I want a search count from the US in English). I want to limit the costs - so I don't want more than 200 keywords returned. I've looked at your rate sheet and I reckon that we should be using the TargetingIdea call. And I reckon this will cost us: * 5 units (per-request cost); plus * (for 200 keywords), 200*0.1 units So, 25 units in total. You charge $0.25/1000 units. So, just to check, I'd be able to make that call 160 times for $1. Could you let me know whether my understanding is correct? Thanks and kind regards Justin -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: Better way to manage Ad Extensions?
Hi Joel, To add (or modify) SiteLinks for a campaign, you have to - Check if there is an active SiteLinkExtension. If yes, remove it. (Otherwise you will get CANNOT_HAVE_MULTIPLE_SITELINKS_EXTENSIONS_PER_CAMPAIGN). - Add a new SiteLinkExtension with the desired SiteLinks. The sample code in C# to check if a campaign has active sitelinks is given below: long siteLinkExtensionId = -1; // Get the campaign ad extension containing sitelinks. CampaignAdExtensionSelector selector = new CampaignAdExtensionSelector(); selector.campaignIds = new long[] { campaignId }; selector.statuses = new CampaignAdExtensionStatus[] { CampaignAdExtensionStatus.ACTIVE }; CampaignAdExtensionPage page = campaignExtensionService.get(selector); if (page != null page.entries != null) { foreach (CampaignAdExtension extension in page.entries) { if (extension.adExtension is SitelinksExtension) { siteLinkExtensionId = extension.adExtension.id; break; } } } If there are active sitelinks, then you can remove them as follows: if (siteLinkExtensionId == -1) { return; // No active sitelinks, so no need to remove. } CampaignAdExtension campaignAdExtension = new CampaignAdExtension(); campaignAdExtension.campaignId = campaignId; campaignAdExtension.adExtension = new AdExtension(); // no need to create a SiteLinksExtension here, just an AdExtension would do. campaignAdExtension.adExtension.id = siteLinkExtensionId; CampaignAdExtensionOperation operation = new CampaignAdExtensionOperation(); operati...@operator = Operator.REMOVE; operation.operand = campaignAdExtension; CampaignAdExtensionReturnValue retVal = campaignExtensionService.mutate(new CampaignAdExtensionOperation[] { operation }); Now you can add sitelinks as follows: // create your sitelinks. Sitelink siteLink = new Sitelink(); siteLink.displayText = New albums; siteLink.destinationUrl = http://www.example.com/albums/new;; SitelinksExtension siteLinkExtension = new SitelinksExtension(); siteLinkExtension.sitelinks = new Sitelink[] {siteLink}; CampaignAdExtension campaignAdExtension = new CampaignAdExtension(); campaignAdExtension.adExtension = siteLinkExtension; campaignAdExtension.campaignId = campaignId; CampaignAdExtensionOperation operation = new CampaignAdExtensionOperation(); operati...@operator = Operator.ADD; operation.operand = campaignAdExtension; CampaignAdExtensionReturnValue retVal = campaignExtensionService.mutate(new CampaignAdExtensionOperation[] {operation}); Hope this helps. Let me know if you have more questions. Cheers, Anash P. Oommen, AdWords API Advisor. On Aug 18, 1:13 am, joel joel.patt...@gmail.com wrote: To follow-up, I can't even seem to remove SiteLinks using my methodology above. If I request the SiteLinks and then attempt a REMOVE operation, I get a NotEmptyError.EMPTY_LIST exception because my SitelinksExtension object has no Sitelinks attached. If I don't remove and simply call another ADD while specifying the existing SitelinksExtension Id, I get an INVALID_ADEXTENSION_ID errors. Lastly, if I simply try to ADD without setting the Id or removing, then I get a CANNOT_HAVE_MULTIPLE_SITELINKS_EXTENSIONS_PER_CAMPAIGN error. Here's a snippet of my code: CampaignAdExtensionServiceInterface extSvc = user.getService(AdWordsService.V201003.CAMPAIGN_AD_EXTENSION_SERVICE); try { CampaignAdExtensionSelector selector = new CampaignAdExtensionSelector(); selector.setCampaignIds(new long[] { dbCampaign.getExternalIdAsLong() }); // Get all campaign ad extensions. CampaignAdExtensionPage page = extSvc.get(selector); // Display campaign ad extensions. if (page.getEntries() != null page.getEntries().length 0) { for (CampaignAdExtension campaignAdExtension : page.getEntries()) { if (campaignAdExtension.getAdExtension().getAdExtensionType().equals(Sitelink sExtension)) { SitelinksExtension ext = new SitelinksExtension(); ext.setId(campaignAdExtension.getAdExtension().getId()); CampaignAdExtension extension = new CampaignAdExtension(); extension.setCampaignId(dbCampaign.getExternalIdAsLong()); extension.setAdExtension(ext); CampaignAdExtensionOperation operation = new CampaignAdExtensionOperation(); operation.setOperand(extension); operation.setOperator(Operator.REMOVE); extSvc.mutate(new CampaignAdExtensionOperation[] { operation }); break; } } } } catch (Exception e) { ServiceResult failure =
Re: scopingEntityId bulkmutatejobservice
HI Jean, scopingEntityId is a field of type EntityId. See http://code.google.com/apis/adwords/v2009/docs/reference/BulkMutateJobService.EntityId.html for details. When creating a campaign, you can set the scopingEntityId as CUSTOMER_ID. That said, BulkMutateJobService is meant for performing bulk operations, and v201003 requires you to have at least 100 operations per job. Since an account can have upto 25 campaigns only, it is easier to manage them using the regular synchronous APIs. Cheers, Anash P. Oommen, AdWords API Advisor. On Aug 17, 7:23 pm, jean robert multicom...@adweb-media.com wrote: Hi I am using the bulkmutatejobservice and I dont understand the interest of scopingEntityId Each time i do: $OpStream- scopingEntityId = new EntityID ('CAMPAIGN_ID', 0); and my groups,ads,keywords are well createdin the good campaigns(the campaign's id is defined in the AdGroup operation when creating an adgroup for example) What value should I put when creating a campaign? Can we create only campaign's groups in a job or can we create groups of different campaigns in the same job? In this case, what value should I use for scopingEntityId. -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: Keyword each announcement.
Hi Rafael, I assume you are trying to retrieve keywords in an ad group. If yes, have a look at http://code.google.com/p/google-api-adwords-php/source/browse/trunk/examples/v201003/GetAllAdGroupCriteria.php. Cheers, Anash P. Oommen, AdWords API Advisor. On Aug 17, 11:54 pm, rsan...@allinmedia.com.br m...@gpmidia.com.br wrote: Friends, How do I search for key words in each advertisement. I downloaded a library of sample code. In this link: http://code.google.com/p/google-api-adwords-php/downloads/list More there is no file that searches key words in each advertisement. I'm using PHP 5.3 and NuSOAP Please help me and my work is stopped. Thank you. Rafael -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: Negative Keywords (campaign level and group level)
Hi Eric, 1. To get all adgroup level negative criteria, you can refer to http://code.google.com/p/google-api-adwords-dotnet/source/browse/trunk/Examples/v201003/GetAllAdGroupCriteria.cs. You need to specify an additional field in selector to restrict it for negative criteria only: selector.criterionUse = CriterionUse.NEGATIVE; 2. I don't have a handy example for setting an adgroup negative criteria, but it is quite similar to http://code.google.com/p/google-api-adwords-dotnet/source/browse/trunk/Examples/v201003/AddAdGroupCriteria.cs. The only major difference is that instead of creating a BiddableAdGroupCriterion, you create a NegativeAdGroupCriterion. 3. You can pass an empty selector while retrieving campaign level negative keywords. This will give you results for the entire account. CampaignCriterionSelector selector = new CampaignCriterionSelector(); CampaignCriterionPage page = campaignCriterionService.get(selector); 4. See http://code.google.com/p/google-api-adwords-dotnet/source/browse/trunk/Examples/v201003/AddNegativeCampaignCriterion.cs for a code example. 5. No, you have to use (1) and (3) to accomplish this. Cheers, Anash P. Oommen, AdWords API Advisor. On Aug 17, 10:29 pm, Eric ericliu6...@gmail.com wrote: Hello, I am currently implementing the Negative Keywords feature in our system(.net) After some online research, I still have some questions that need help from your team. Thanks a lot. 1. Retrieve group level negative keywords for my whole account(all groups) We can use (Structure report with aggregationTypes “Keyword” and column “kwisnegative”) to get group level negative keywords. Seems Campaign level negative keywords is not included in this report, right? 2. Set Group Level negative keywords AdGroupCriterionService mutate NegativeAdGroupCriterion. 3. Retrieve campaign level negative keywords for my whole account(all campaigns) CampaignCriterionService get with all the campaignids in the idFilters. Any suggestion to get all the campaign negative keywords for all campaigns without explicitly input all campaign ids? 4. Set Campaign Level negative keywords CampaignCriterionService mutate NegativeCampaignCriterion 5. Is there a API call that can get all the negative keywords under a single account(including both group level and campaign level)? Besides, Is there any other more efficient options(faster) that you can suggest? ANY HELP IS GREATLY APPRECIATED! Thanks a lot. -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
View Through Conversions via API supported in v201003
Hi, is it now possible to fetch View-Through-Conversions via the new version of the API? If so, how? thx tim -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: scopingEntityId bulkmutatejobservice
Hi Anash, Thanks for your answer. Can you confirm scopingEntityId is not necessary. When I create groups, I put a '0'(new EntityID ('CAMPAIGN_ID', 0);) and my groups are well created anyway!??? So I dont understand the interest. v201003 requires you to have at least 100 operations per job. You mean under 100 operations per job we have to use regular synchronous services? Thank you for your help Regards Jean On 18 août, 13:17, AdWords API Advisor adwordsapiadvi...@google.com wrote: HI Jean, scopingEntityId is a field of type EntityId. Seehttp://code.google.com/apis/adwords/v2009/docs/reference/BulkMutateJo... for details. When creating a campaign, you can set the scopingEntityId as CUSTOMER_ID. That said, BulkMutateJobService is meant for performing bulk operations, and v201003 requires you to have at least 100 operations per job. Since an account can have upto 25 campaigns only, it is easier to manage them using the regular synchronous APIs. Cheers, Anash P. Oommen, AdWords API Advisor. On Aug 17, 7:23 pm, jean robert multicom...@adweb-media.com wrote: Hi I am using the bulkmutatejobservice and I dont understand the interest of scopingEntityId Each time i do: $OpStream- scopingEntityId = new EntityID ('CAMPAIGN_ID', 0); and my groups,ads,keywords are well createdin the good campaigns(the campaign's id is defined in the AdGroup operation when creating an adgroup for example) What value should I put when creating a campaign? Can we create only campaign's groups in a job or can we create groups of different campaigns in the same job? In this case, what value should I use for scopingEntityId. -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: Better way to manage Ad Extensions?
Thank you, that worked. I was 99% of the way there. The only difference is that in my REMOVE operation I was using new SiteLinkExtension() whereas you used new AdExtension(); // no need to create a SiteLinksExtension here, just an AdExtension would do. So for future reference for others: use the generic AdExtension object in REMOVES. Thanks, Joel On Aug 18, 7:00 am, AdWords API Advisor adwordsapiadvi...@google.com wrote: Hi Joel, To add (or modify) SiteLinks for a campaign, you have to - Check if there is an active SiteLinkExtension. If yes, remove it. (Otherwise you will get CANNOT_HAVE_MULTIPLE_SITELINKS_EXTENSIONS_PER_CAMPAIGN). - Add a new SiteLinkExtension with the desired SiteLinks. The sample code in C# to check if a campaign has active sitelinks is given below: long siteLinkExtensionId = -1; // Get the campaign ad extension containing sitelinks. CampaignAdExtensionSelector selector = new CampaignAdExtensionSelector(); selector.campaignIds = new long[] { campaignId }; selector.statuses = new CampaignAdExtensionStatus[] { CampaignAdExtensionStatus.ACTIVE }; CampaignAdExtensionPage page = campaignExtensionService.get(selector); if (page != null page.entries != null) { foreach (CampaignAdExtension extension in page.entries) { if (extension.adExtension is SitelinksExtension) { siteLinkExtensionId = extension.adExtension.id; break; } } } If there are active sitelinks, then you can remove them as follows: if (siteLinkExtensionId == -1) { return; // No active sitelinks, so no need to remove. } CampaignAdExtension campaignAdExtension = new CampaignAdExtension(); campaignAdExtension.campaignId = campaignId; campaignAdExtension.adExtension = new AdExtension(); // no need to create a SiteLinksExtension here, just an AdExtension would do. campaignAdExtension.adExtension.id = siteLinkExtensionId; CampaignAdExtensionOperation operation = new CampaignAdExtensionOperation(); operati...@operator = Operator.REMOVE; operation.operand = campaignAdExtension; CampaignAdExtensionReturnValue retVal = campaignExtensionService.mutate(new CampaignAdExtensionOperation[] { operation }); Now you can add sitelinks as follows: // create your sitelinks. Sitelink siteLink = new Sitelink(); siteLink.displayText = New albums; siteLink.destinationUrl = http://www.example.com/albums/new;; SitelinksExtension siteLinkExtension = new SitelinksExtension(); siteLinkExtension.sitelinks = new Sitelink[] {siteLink}; CampaignAdExtension campaignAdExtension = new CampaignAdExtension(); campaignAdExtension.adExtension = siteLinkExtension; campaignAdExtension.campaignId = campaignId; CampaignAdExtensionOperation operation = new CampaignAdExtensionOperation(); operati...@operator = Operator.ADD; operation.operand = campaignAdExtension; CampaignAdExtensionReturnValue retVal = campaignExtensionService.mutate(new CampaignAdExtensionOperation[] {operation}); Hope this helps. Let me know if you have more questions. Cheers, Anash P. Oommen, AdWords API Advisor. On Aug 18, 1:13 am, joel joel.patt...@gmail.com wrote: To follow-up, I can't even seem to remove SiteLinks using my methodology above. If I request the SiteLinks and then attempt a REMOVE operation, I get a NotEmptyError.EMPTY_LIST exception because my SitelinksExtension object has no Sitelinks attached. If I don't remove and simply call another ADD while specifying the existing SitelinksExtension Id, I get an INVALID_ADEXTENSION_ID errors. Lastly, if I simply try to ADD without setting the Id or removing, then I get a CANNOT_HAVE_MULTIPLE_SITELINKS_EXTENSIONS_PER_CAMPAIGN error. Here's a snippet of my code: CampaignAdExtensionServiceInterface extSvc = user.getService(AdWordsService.V201003.CAMPAIGN_AD_EXTENSION_SERVICE); try { CampaignAdExtensionSelector selector = new CampaignAdExtensionSelector(); selector.setCampaignIds(new long[] { dbCampaign.getExternalIdAsLong() }); // Get all campaign ad extensions. CampaignAdExtensionPage page = extSvc.get(selector); // Display campaign ad extensions. if (page.getEntries() != null page.getEntries().length 0) { for (CampaignAdExtension campaignAdExtension : page.getEntries()) { if (campaignAdExtension.getAdExtension().getAdExtensionType().equals(Sitelink sExtension)) { SitelinksExtension ext = new SitelinksExtension(); ext.setId(campaignAdExtension.getAdExtension().getId()); CampaignAdExtension extension = new CampaignAdExtension(); extension.setCampaignId(dbCampaign.getExternalIdAsLong()); extension.setAdExtension(ext);
Re: scopingEntityId bulkmutatejobservice
Hi Anash, Thanks for your answer. Can you confirm scopingEntityId is not necessary. When I create groups, I put a '0'(new EntityID ('CAMPAIGN_ID', 0);) and my groups are well created anyway!??? So I dont understand the interest. v201003 requires you to have at least 100 operations per job. You mean under 100 operations per job we have to use regular synchronous services? Thank you for your help Regards Jean On 18 août, 13:17, AdWords API Advisor adwordsapiadvi...@google.com wrote: HI Jean, scopingEntityId is a field of type EntityId. Seehttp://code.google.com/apis/adwords/v2009/docs/reference/BulkMutateJo... for details. When creating a campaign, you can set the scopingEntityId as CUSTOMER_ID. That said, BulkMutateJobService is meant for performing bulk operations, and v201003 requires you to have at least 100 operations per job. Since an account can have upto 25 campaigns only, it is easier to manage them using the regular synchronous APIs. Cheers, Anash P. Oommen, AdWords API Advisor. On Aug 17, 7:23 pm, jean robert multicom...@adweb-media.com wrote: Hi I am using the bulkmutatejobservice and I dont understand the interest of scopingEntityId Each time i do: $OpStream- scopingEntityId = new EntityID ('CAMPAIGN_ID', 0); and my groups,ads,keywords are well createdin the good campaigns(the campaign's id is defined in the AdGroup operation when creating an adgroup for example) What value should I put when creating a campaign? Can we create only campaign's groups in a job or can we create groups of different campaigns in the same job? In this case, what value should I use for scopingEntityId. -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: scopingEntityId bulkmutatejobservice
Hi Anash, Thanks for your answer. Can you confirm scopingEntityId is not necessary. When I create groups, I put a '0'(new EntityID ('CAMPAIGN_ID', 0);) and my groups are well created anyway!??? So I dont understand the interest. v201003 requires you to have at least 100 operations per job. You mean under 100 operations per job we have to use regular synchronous services? Thank you for your help Regards Jean On 18 août, 13:17, AdWords API Advisor adwordsapiadvi...@google.com wrote: HI Jean, scopingEntityId is a field of type EntityId. Seehttp://code.google.com/apis/adwords/v2009/docs/reference/BulkMutateJo... for details. When creating a campaign, you can set the scopingEntityId as CUSTOMER_ID. That said, BulkMutateJobService is meant for performing bulk operations, and v201003 requires you to have at least 100 operations per job. Since an account can have upto 25 campaigns only, it is easier to manage them using the regular synchronous APIs. Cheers, Anash P. Oommen, AdWords API Advisor. On Aug 17, 7:23 pm, jean robert multicom...@adweb-media.com wrote: Hi I am using the bulkmutatejobservice and I dont understand the interest of scopingEntityId Each time i do: $OpStream- scopingEntityId = new EntityID ('CAMPAIGN_ID', 0); and my groups,ads,keywords are well createdin the good campaigns(the campaign's id is defined in the AdGroup operation when creating an adgroup for example) What value should I put when creating a campaign? Can we create only campaign's groups in a job or can we create groups of different campaigns in the same job? In this case, what value should I use for scopingEntityId. -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: Not able to test Rohan Almeida's Perl client library on sandbox
Hi, Unfortunately Rohan' client library is not longer supported by Google, however we are working on releasing a new Perl library soon. Best, - David Torres, AdWords API Team On Aug 17, 1:27 pm, Media Math mediamath@gmail.com wrote: Hi, I am trying to use Rohan Almeida's Perl Client Library to use ReportService. Here is what I did, and not able to succeed: 1. Installed all pre-requisite modules 2. Installed Rohan's Client Library from CPAN 3. When I ran 'make test' I am getting below message: PERL_DL_NONLAZY=1 /usr/bin/perl -MExtUtils::Command::MM -e test_harness(0, 'blib/lib', 'blib/arch') t/*.t t/perlcriticskipped all skipped: Author test. Set $ENV{TEST_AUTHOR} to a true value to run. t/ pod...ok t/ run...ok t/sandbox...ok 1/0Use of uninitialized value in substitution (s///) at /usr/lib/perl5/site_perl/5.8.8/SOAP/Lite.pm line 1055. Use of uninitialized value in exists at /usr/lib/perl5/site_perl/5.8.8/ SOAP/Lite.pm line 1056. Use of uninitialized value in hash element at /usr/lib/perl5/site_perl/ 5.8.8/SOAP/Lite.pm line 1056. Use of uninitialized value in hash element at /usr/lib/perl5/site_perl/ 5.8.8/SOAP/Lite.pm line 1060. Use of uninitialized value in hash element at /usr/lib/perl5/site_perl/ 5.8.8/SOAP/Lite.pm line 1060. t/sandbox...ok 10/0URI is not provided as an attribute for method (getAllJobs) URI is not provided as an attribute for method (getReportJobStatus) t/ sandbox...ok All tests successful, 1 test skipped. Can you please let me know the proper way to test it or if you could send me a sample code to use Rohan's library with ReportService on both prod/sandbox. -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Wrong clic value
Hello everyone. I come with a weird problem. I'm using the API to download 1 month worth of data. I have every value correct for my adgroups but two of them have a value that exceeds the one i can see on adwords.google.fr for the last day of my download. For example If i download every value from july 16th 2010 to august 15th 2010 (i download them on august 16th) all the values will be correct except for two adgroups that have a value for clicks that exceed the one shown on adwords for the 15th. How is that possible ? I live in France, and i downloaded them at 9am. Could it be a time difference ? -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Negative Polygon Targeting
We've been negative targeting polygons for some time. Recently, we were informed by a Google rep that this was a loophole. However, the online documentation states you can exclude ( negatively target ) a polygon: http://code.google.com/apis/adwords/v2009/docs/reference/CampaignTargetService.PolygonTarget.html Documentation and loophole aside, how can we go about transforming our negative polygon targets to something proper for Google. An idea is to find all the cities in the previously negatively targeted polygon and negatively target those cities, at the same time positively targeting the previous negatively targeted polygon. Simply, target an area, but exclude all cities in the area. I can't seem to get that idea to work. I always receive a TargetError.CANNOT_EXCLUDE_IF_NOT_TARGETED error ... Thoughts? -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
how can i get Maximum CPC using Adgroupcriterion
hi, I am trying to retreive all the keyword in a adgroup. I am using adgroupCriterion as shown belowe. AdGroupCriterionServiceInterface criterionService = googleServiceFactory.getAdWordsService(user, AdWordsService.V200909.ADGROUP_CRITERION_SERVICE); AdGroupCriterionIdFilter[] idFilters = {new AdGroupCriterionIdFilter(null, adgroup.getId(), null)} ; AdGroupCriterionSelector agcSelector = new AdGroupCriterionSelector(idFilters , null, null, null, null); agcSelector.setIdFilters(idFilters); agcSelector.setCriterionUse(CriterionUse.BIDDABLE); AdGroupCriterionPage criterionPage = criterionService.get(agcSelector); if ( criterionPage!= null criterionPage.getEntries() != null) { for(AdGroupCriterion adgroupCriterion : criterionPage.getEntries()){ ckeyword =(Keyword)adgroupCriterion.getCriterion(); adGroupKeyword = (BiddableAdGroupCriterion) criterionPage.getEntries(0); } } Now can anyone tell me how to get maxCPC using this. Its urgetn please. -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: Reporting by ad extension. Does it exist?
Hi Peer, Unfortunately there are no stats or reports for AdExtensions available in the API at this time. Best, - Eric Koleda, AdWords API Team On Aug 17, 9:13 am, Peer Jakobsen (AdWords API Guru) peer.jakob...@gmail.com wrote: Hello, Is there any way to get cost stats per AdExtension through V201003 reports? Thanks -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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
Re: how can i get Maximum CPC using Adgroupcriterion
if ( criterionPage!= null criterionPage.getEntries() != null) { for(AdGroupCriterion adgroupCriterion : criterionPage.getEntries()){ BiddableAdGroupCriterion BiddableadGroupCriterion = (BiddableAdGroupCriterion)adgroupCriterion; if (BiddableadGroupCriterion.criterion is Keyword) { long lngMaxCPC = 0; Keyword ckeyword = (Keyword)BiddableadGroupCriterion.criterion; lngMaxCPC = (BiddableadGroupCriterion.bids as ManualCPCAdGroupCriterionBids).maxCpc.amount.microAmount; } } } I hope this helps --Navneet On Aug 18, 2:17 pm, Syed javeed.s...@gmail.com wrote: hi, I am trying to retreive all the keyword in a adgroup. I am using adgroupCriterion as shown belowe. AdGroupCriterionServiceInterface criterionService = googleServiceFactory.getAdWordsService(user, AdWordsService.V200909.ADGROUP_CRITERION_SERVICE); AdGroupCriterionIdFilter[] idFilters = {new AdGroupCriterionIdFilter(null, adgroup.getId(), null)} ; AdGroupCriterionSelector agcSelector = new AdGroupCriterionSelector(idFilters , null, null, null, null); agcSelector.setIdFilters(idFilters); agcSelector.setCriterionUse(CriterionUse.BIDDABLE); AdGroupCriterionPage criterionPage = criterionService.get(agcSelector); if ( criterionPage!= null criterionPage.getEntries() != null) { for(AdGroupCriterion adgroupCriterion : criterionPage.getEntries()){ ckeyword =(Keyword)adgroupCriterion.getCriterion(); adGroupKeyword = (BiddableAdGroupCriterion) criterionPage.getEntries(0); } } Now can anyone tell me how to get maxCPC using this. Its urgetn please. -- =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ Also find us on our blog and discussion group: http://adwordsapi.blogspot.com http://groups.google.com/group/adwords-api =~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~ 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