Re: UnicodeDecodeError on DownloadReportAsStringWithAwql

2015-05-06 Thread João Aparício
That doesn't seem to work, unfortunately.

Code:

  r = report_downloader.DownloadReportAsStringWithAwql(report_query, 
'GZIPPED_CSV')

Error:

Traceback (most recent call last):
  File get_keywords_ids.py, line 84, in module
get_kws_one_acc(acc_id)
  File get_keywords_ids.py, line 51, in get_kws_one_acc
r = report_downloader.DownloadReportAsStringWithAwql(report_query, 
'GZIPPED_CSV')
  File /usr/local/lib/python2.7/dist-packages/googleads/adwords.py, 
line 635, in DownloadReportAsStringWithAwql
return response.read().decode()
UnicodeDecodeError: 'ascii' codec can't decode byte 0x8b in position 1: 
ordinal not in range(128)



On Tuesday, April 28, 2015 at 7:34:13 PM UTC+1, Anash P. Oommen (AdWords 
API Team) wrote:

 Hi Joao,

 Could you please fine a bug with the Python client library at 
 https://github.com/googleads/googleads-python-lib/issues? The report is 
 encoded in UTF-8, so I suspect that the library is picking an incorrect 
 encoder.

 A temporary workaround would be to download the report as GZIPPED_CSV 
 instead of CSV, and then unzip it in memory.

 Cheers,
 Anash P. Oommen,
 AdWords Scripts Team.

 On Tuesday, April 28, 2015 at 5:49:59 AM UTC-4, João Aparício wrote:

 Not much more to say apart from the title.

 I have the code:

 report_downloader = client.GetReportDownloader(version='v201409')
 report_query = ('SELECT Impressions,QualityScore,KeywordText ' +
 'FROM KEYWORDS_PERFORMANCE_REPORT ' +
 'WHERE Impressions  0 ' +
 'DURING YESTERDAY ')
 r = report_downloader.DownloadReportAsStringWithAwql(report_query, 
 'CSV').splitlines()

 And I get the exception:

 Traceback (most recent call last):
   File qs_tracking.py, line 100, in module
 qs_report(list_of_customer_ids, tracking_config)
   File qs_tracking.py, line 68, in qs_report
 r = qs_report_one_acc(client)
   File qs_tracking.py, line 34, in qs_report_one_acc
 r = 
 report_downloader.DownloadReportAsStringWithAwql(report_query, 
 'CSV').splitlines()
   File 
 /usr/local/lib/python2.7/dist-packages/googleads/adwords.py, line 635, in 
 DownloadReportAsStringWithAwql
 return response.read().decode()
 UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 
 55408: ordinal not in range(128)

 This only happens in one of my accounts. In the others this code runs 
 fine.




-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/5bab596f-6139-41dd-adf1-55bd2495f987%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


UnicodeDecodeError on DownloadReportAsStringWithAwql

2015-04-28 Thread João Aparício
Not much more to say apart from the title.

I have the code:

report_downloader = client.GetReportDownloader(version='v201409')
report_query = ('SELECT Impressions,QualityScore,KeywordText ' +
'FROM KEYWORDS_PERFORMANCE_REPORT ' +
'WHERE Impressions  0 ' +
'DURING YESTERDAY ')
r = report_downloader.DownloadReportAsStringWithAwql(report_query, 
'CSV').splitlines()

And I get the exception:

Traceback (most recent call last):
  File qs_tracking.py, line 100, in module
qs_report(list_of_customer_ids, tracking_config)
  File qs_tracking.py, line 68, in qs_report
r = qs_report_one_acc(client)
  File qs_tracking.py, line 34, in qs_report_one_acc
r = report_downloader.DownloadReportAsStringWithAwql(report_query, 
'CSV').splitlines()
  File /usr/local/lib/python2.7/dist-packages/googleads/adwords.py, 
line 635, in DownloadReportAsStringWithAwql
return response.read().decode()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 
55408: ordinal not in range(128)

This only happens in one of my accounts. In the others this code runs fine.


-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/d42c0a9b-71fd-4f12-874c-1c84c0591db1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: AD_GROUP_BIDDING_STRATEGY_OVERRIDES_PER_CAMPAIGN

2015-03-18 Thread João Aparício
A related question is: When this error occurs, do the operations that 
aren't spelled out as having exceeded the campaign limit still get mutated? 
Do all operations fail or all succeed, or is it possible to have partial 
successes/failures?



On Tuesday, March 17, 2015 at 5:44:59 PM UTC, João Aparício wrote:

 Just to clarify, above where I wrote Exceptions I meant Overrides.

 On Tuesday, March 17, 2015 at 5:44:04 PM UTC, João Aparício wrote:

 I'm getting the following error:

 Server raised fault: '[EntityCountLimitExceeded.CAMPAIGN_LIMIT @ 
 operations[0] (enclosingId=243426876, limit=1000, 
 accountLimitType=AD_GROUP_BIDDING_STRATEGY_OVERRIDES_PER_CAMPAIGN, 
 existingCount=1000), EntityCountLimitExceeded.CAMPAIGN_LIMIT @ 
 operations[12] (enclosingId=243426876, limit=1000, 
 accountLimitType=AD_GROUP_BIDDING_STRATEGY_OVERRIDES_PER_CAMPAIGN, 
 existingCount=1000), EntityCountLimitExceeded.CAMPAIGN_LIMIT @ 
 operations[28] (enclosingId=243426876, limit=1000, 
 accountLimitType=AD_GROUP_BIDDING_STRATEGY_OVERRIDES_PER_CAMPAIGN, 
 existingCount=1000)]

 The scenario is the following: I have a campaign where I set a target cpa 
 bidding strategy at the campaign level. Try I'm settings bidding strategy 
 exceptions at the adgroup level inside that campaign. When I do that for 
 many adgroups, I get the error above.

 The error looks like AdWords is imposing a maximum limit on the number of 
 adgroup bidding strategy exceptions that can exist within a campaign. Fine. 
 So my question is: What can I do about this? One thing I can think of, is 
 remove the campaign level bidding strategy and apply them to all the 
 adgroups directly. That way they're not exceptions any more I guess. The 
 problem is that for some reason applying bidding strategies to adgroups 
 seems to take a long time (it's taking me about 20-30 secs for each mutate 
 operation acting in batches of 100 adgroups).

 Suggestions?



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/5194c3a3-026e-4bb8-9abc-f860b9ca1e83%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: AD_GROUP_BIDDING_STRATEGY_OVERRIDES_PER_CAMPAIGN

2015-03-17 Thread João Aparício
Just to clarify, above where I wrote Exceptions I meant Overrides.

On Tuesday, March 17, 2015 at 5:44:04 PM UTC, João Aparício wrote:

 I'm getting the following error:

 Server raised fault: '[EntityCountLimitExceeded.CAMPAIGN_LIMIT @ 
 operations[0] (enclosingId=243426876, limit=1000, 
 accountLimitType=AD_GROUP_BIDDING_STRATEGY_OVERRIDES_PER_CAMPAIGN, 
 existingCount=1000), EntityCountLimitExceeded.CAMPAIGN_LIMIT @ 
 operations[12] (enclosingId=243426876, limit=1000, 
 accountLimitType=AD_GROUP_BIDDING_STRATEGY_OVERRIDES_PER_CAMPAIGN, 
 existingCount=1000), EntityCountLimitExceeded.CAMPAIGN_LIMIT @ 
 operations[28] (enclosingId=243426876, limit=1000, 
 accountLimitType=AD_GROUP_BIDDING_STRATEGY_OVERRIDES_PER_CAMPAIGN, 
 existingCount=1000)]

 The scenario is the following: I have a campaign where I set a target cpa 
 bidding strategy at the campaign level. Try I'm settings bidding strategy 
 exceptions at the adgroup level inside that campaign. When I do that for 
 many adgroups, I get the error above.

 The error looks like AdWords is imposing a maximum limit on the number of 
 adgroup bidding strategy exceptions that can exist within a campaign. Fine. 
 So my question is: What can I do about this? One thing I can think of, is 
 remove the campaign level bidding strategy and apply them to all the 
 adgroups directly. That way they're not exceptions any more I guess. The 
 problem is that for some reason applying bidding strategies to adgroups 
 seems to take a long time (it's taking me about 20-30 secs for each mutate 
 operation acting in batches of 100 adgroups).

 Suggestions?



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/2c91b5f8-dd1e-4f4d-9a48-8d7f655d40a0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


AD_GROUP_BIDDING_STRATEGY_OVERRIDES_PER_CAMPAIGN

2015-03-17 Thread João Aparício
I'm getting the following error:

Server raised fault: '[EntityCountLimitExceeded.CAMPAIGN_LIMIT @ 
operations[0] (enclosingId=243426876, limit=1000, 
accountLimitType=AD_GROUP_BIDDING_STRATEGY_OVERRIDES_PER_CAMPAIGN, 
existingCount=1000), EntityCountLimitExceeded.CAMPAIGN_LIMIT @ 
operations[12] (enclosingId=243426876, limit=1000, 
accountLimitType=AD_GROUP_BIDDING_STRATEGY_OVERRIDES_PER_CAMPAIGN, 
existingCount=1000), EntityCountLimitExceeded.CAMPAIGN_LIMIT @ 
operations[28] (enclosingId=243426876, limit=1000, 
accountLimitType=AD_GROUP_BIDDING_STRATEGY_OVERRIDES_PER_CAMPAIGN, 
existingCount=1000)]

The scenario is the following: I have a campaign where I set a target cpa 
bidding strategy at the campaign level. Try I'm settings bidding strategy 
exceptions at the adgroup level inside that campaign. When I do that for 
many adgroups, I get the error above.

The error looks like AdWords is imposing a maximum limit on the number of 
adgroup bidding strategy exceptions that can exist within a campaign. Fine. 
So my question is: What can I do about this? One thing I can think of, is 
remove the campaign level bidding strategy and apply them to all the 
adgroups directly. That way they're not exceptions any more I guess. The 
problem is that for some reason applying bidding strategies to adgroups 
seems to take a long time (it's taking me about 20-30 secs for each mutate 
operation acting in batches of 100 adgroups).

Suggestions?

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/deeaa92c-2e27-46ce-bd20-ec9ec020c6a9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Internal API error while Mutating BiddingStrategy

2015-03-17 Thread João Aparício
Alright thanks :-)

On Monday, March 16, 2015 at 9:06:41 PM UTC, Josh Radcliff (AdWords API 
Team) wrote:

 Hi,

 Sorry, I forgot you're already targeting by ad group. In that case, 
 there's no need to worry about campaign-level batching since an ad group 
 only exists in one campaign.

 Thanks,
 Josh, AdWords API Team

 On Monday, March 16, 2015 at 2:05:05 PM UTC-4, João Aparício wrote:

 Hi again Josh,

 Are you saying that even though those operations target a certain 
 AdGroupId, grouping together adgroups that belong to the same campaign is 
 faster?



 On Monday, March 16, 2015 at 5:23:52 PM UTC, Josh Radcliff (AdWords API 
 Team) wrote:

 Hi,

 Glad to hear that reducing the # of operations helped. You may also want 
 to consider grouping operations as specified in the best practices guide 
 https://developers.google.com/adwords/api/docs/guides/bestpractices#group_operations,
  
 if you are not already doing so.

 Thanks,
 Josh, AdWords API Team

 On Monday, March 16, 2015 at 11:31:11 AM UTC-4, João Aparício wrote:

 Hi Josh,

 No, that doesn't work. The unexpected_internal_api_error happens 
 repeatedly (even though, like I said, some times the bidding strategy IS 
 changed even though an error is thrown), and retrying doesn't help.

 What did help was lowering the number of operations in the mutate chunk 
 from 500 to 100. Now it seems to be going on without errors.

 Thanks for your help.



 On Sunday, March 15, 2015 at 11:54:09 PM UTC, Josh Radcliff (AdWords 
 API Team) wrote:

 Hi Joao,

 An *UNEXPECTED_INTERNAL_API_ERROR* is, as you suspected, often due to 
 a timeout occurring while we process your request.

 As a general rule, you should implement error handling and retry logic 
 as specified in our best practices guide 
 https://developers.google.com/adwords/api/docs/guides/bestpractices#error_handling,
  
 since timeouts of this sort are bound to happen eventually on a small 
 percentage of requests. Usually retrying such a request after waiting a 
 few 
 seconds will result in a successful request.

 Thanks,
 Josh, AdWords API Team


 On Sunday, March 15, 2015 at 12:37:51 PM UTC-4, João Aparício wrote:

 Hi there,

 This is happening some times:

 Server raised fault: 
 'InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ 
 com.google.ads.api.services.common.error.InternalApiError.init(InternalApiErro'

 The python code is

 adgroup_service = client.GetService('AdGroupService', 
 version='v201409')
 adgroup_operations = [{
  'operator':'SET',
  'operand': {
 'xsi_type':'AdGroup',
 'id':adgroupid,
 'biddingStrategyConfiguration': {
   'biddingStrategyId': strategy_id
 }
  }
 } for text_sorted,acc_id,adgroupid,kw_id in chunk]
 logger.info('%s %s mutating bidstrategy %s operations' % 
 (n,acc_id,len(adgroup_operations)) )
 r = adgroup_service.mutate(adgroup_operations)

 The things that is strange here is the following:

 A) Whether this code throws an error or not depends on the account. 
 For some accounts it always throws an error, for other accounts it never 
 throws an error.
 B) For the accounts where an error is thrown, most of the times the 
 adgroup biddingstrategies ARE mutated! My issue here is that mutates 
 where 
 an error is thrown are really slow (I assume due to some sort of 
 internal 
 timeout?)

 Some guidance would be very useful.

 Best,
 Joao



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/d9a1d5fb-68ca-4d92-afa3-309a09fffe31%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Internal API error while Mutating BiddingStrategy

2015-03-16 Thread João Aparício
Hi Josh,

No, that doesn't work. The unexpected_internal_api_error happens repeatedly 
(even though, like I said, some times the bidding strategy IS changed even 
though an error is thrown), and retrying doesn't help.

What did help was lowering the number of operations in the mutate chunk 
from 500 to 100. Now it seems to be going on without errors.

Thanks for your help.



On Sunday, March 15, 2015 at 11:54:09 PM UTC, Josh Radcliff (AdWords API 
Team) wrote:

 Hi Joao,

 An *UNEXPECTED_INTERNAL_API_ERROR* is, as you suspected, often due to a 
 timeout occurring while we process your request.

 As a general rule, you should implement error handling and retry logic as 
 specified in our best practices guide 
 https://developers.google.com/adwords/api/docs/guides/bestpractices#error_handling,
  
 since timeouts of this sort are bound to happen eventually on a small 
 percentage of requests. Usually retrying such a request after waiting a few 
 seconds will result in a successful request.

 Thanks,
 Josh, AdWords API Team


 On Sunday, March 15, 2015 at 12:37:51 PM UTC-4, João Aparício wrote:

 Hi there,

 This is happening some times:

 Server raised fault: 
 'InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ 
 com.google.ads.api.services.common.error.InternalApiError.init(InternalApiErro'

 The python code is

 adgroup_service = client.GetService('AdGroupService', 
 version='v201409')
 adgroup_operations = [{
  'operator':'SET',
  'operand': {
 'xsi_type':'AdGroup',
 'id':adgroupid,
 'biddingStrategyConfiguration': {
   'biddingStrategyId': strategy_id
 }
  }
 } for text_sorted,acc_id,adgroupid,kw_id in chunk]
 logger.info('%s %s mutating bidstrategy %s operations' % 
 (n,acc_id,len(adgroup_operations)) )
 r = adgroup_service.mutate(adgroup_operations)

 The things that is strange here is the following:

 A) Whether this code throws an error or not depends on the account. For 
 some accounts it always throws an error, for other accounts it never throws 
 an error.
 B) For the accounts where an error is thrown, most of the times the 
 adgroup biddingstrategies ARE mutated! My issue here is that mutates where 
 an error is thrown are really slow (I assume due to some sort of internal 
 timeout?)

 Some guidance would be very useful.

 Best,
 Joao



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/0540cbac-6320-4dec-b021-efaa5acb3d3a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Internal API error while Mutating BiddingStrategy

2015-03-16 Thread João Aparício
Hi again Josh,

Are you saying that even though those operations target a certain 
AdGroupId, grouping together adgroups that belong to the same campaign is 
faster?



On Monday, March 16, 2015 at 5:23:52 PM UTC, Josh Radcliff (AdWords API 
Team) wrote:

 Hi,

 Glad to hear that reducing the # of operations helped. You may also want 
 to consider grouping operations as specified in the best practices guide 
 https://developers.google.com/adwords/api/docs/guides/bestpractices#group_operations,
  
 if you are not already doing so.

 Thanks,
 Josh, AdWords API Team

 On Monday, March 16, 2015 at 11:31:11 AM UTC-4, João Aparício wrote:

 Hi Josh,

 No, that doesn't work. The unexpected_internal_api_error happens 
 repeatedly (even though, like I said, some times the bidding strategy IS 
 changed even though an error is thrown), and retrying doesn't help.

 What did help was lowering the number of operations in the mutate chunk 
 from 500 to 100. Now it seems to be going on without errors.

 Thanks for your help.



 On Sunday, March 15, 2015 at 11:54:09 PM UTC, Josh Radcliff (AdWords API 
 Team) wrote:

 Hi Joao,

 An *UNEXPECTED_INTERNAL_API_ERROR* is, as you suspected, often due to a 
 timeout occurring while we process your request.

 As a general rule, you should implement error handling and retry logic 
 as specified in our best practices guide 
 https://developers.google.com/adwords/api/docs/guides/bestpractices#error_handling,
  
 since timeouts of this sort are bound to happen eventually on a small 
 percentage of requests. Usually retrying such a request after waiting a few 
 seconds will result in a successful request.

 Thanks,
 Josh, AdWords API Team


 On Sunday, March 15, 2015 at 12:37:51 PM UTC-4, João Aparício wrote:

 Hi there,

 This is happening some times:

 Server raised fault: 
 'InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ 
 com.google.ads.api.services.common.error.InternalApiError.init(InternalApiErro'

 The python code is

 adgroup_service = client.GetService('AdGroupService', 
 version='v201409')
 adgroup_operations = [{
  'operator':'SET',
  'operand': {
 'xsi_type':'AdGroup',
 'id':adgroupid,
 'biddingStrategyConfiguration': {
   'biddingStrategyId': strategy_id
 }
  }
 } for text_sorted,acc_id,adgroupid,kw_id in chunk]
 logger.info('%s %s mutating bidstrategy %s operations' % 
 (n,acc_id,len(adgroup_operations)) )
 r = adgroup_service.mutate(adgroup_operations)

 The things that is strange here is the following:

 A) Whether this code throws an error or not depends on the account. For 
 some accounts it always throws an error, for other accounts it never 
 throws 
 an error.
 B) For the accounts where an error is thrown, most of the times the 
 adgroup biddingstrategies ARE mutated! My issue here is that mutates where 
 an error is thrown are really slow (I assume due to some sort of internal 
 timeout?)

 Some guidance would be very useful.

 Best,
 Joao



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/5328d799-43ae-4331-b345-2a37300e3c9c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Internal API error while Mutating BiddingStrategy

2015-03-15 Thread João Aparício
Hi there,

This is happening some times:

Server raised fault: 
'InternalApiError.UNEXPECTED_INTERNAL_API_ERROR @ 
com.google.ads.api.services.common.error.InternalApiError.init(InternalApiErro'

The python code is

adgroup_service = client.GetService('AdGroupService', 
version='v201409')
adgroup_operations = [{
 'operator':'SET',
 'operand': {
'xsi_type':'AdGroup',
'id':adgroupid,
'biddingStrategyConfiguration': {
  'biddingStrategyId': strategy_id
}
 }
} for text_sorted,acc_id,adgroupid,kw_id in chunk]
logger.info('%s %s mutating bidstrategy %s operations' % 
(n,acc_id,len(adgroup_operations)) )
r = adgroup_service.mutate(adgroup_operations)

The things that is strange here is the following:

A) Whether this code throws an error or not depends on the account. For 
some accounts it always throws an error, for other accounts it never throws 
an error.
B) For the accounts where an error is thrown, most of the times the adgroup 
biddingstrategies ARE mutated! My issue here is that mutates where an error 
is thrown are really slow (I assume due to some sort of internal timeout?)

Some guidance would be very useful.

Best,
Joao

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/8cc4a781-df9f-4ada-8d8c-554f29c5c638%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Unable to select by label?

2014-11-24 Thread João Aparício
Hi

In the reports, I'm trying to select for ads that contain (or don't 
contain) a certain label. Somehow I'm getting an error both from the API 
and from Scripts. The query is the following:

SELECT AdGroupId FROM AD_PERFORMANCE_REPORT WHERE Labels CONTAINS_NONE ['my 
special label'] DURING 20140801,20141122

From the API I'm getting:

googleads.errors.AdWordsReportBadRequestError: Type: ReportDownloadError.
ERROR_GETTING_RESPONSE_FROM_BACKEND

And from Scripts I'm getting:

Failed to read from AdWords. Please wait a bit and try again. (line 6)

Interestingly, the error messages are different if instead I use the 
CONTAINS operator, and suggest to me a syntax error. That is, the query:

SELECT AdGroupId FROM AD_PERFORMANCE_REPORT WHERE Labels CONTAINS ['my 
special label'] DURING 20140801,20141122

Returns from the API:

googleads.errors.AdWordsReportBadRequestError: Type: QueryError.
INVALID_WHERE_CLAUSE

And from Scripts:

One of the conditions in the query is invalid. (line 6)


Any ideas?

Best regards,
Joao



-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/162f2155-305f-4b86-9718-d4a89b73a12d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: Unable to select by label?

2014-11-24 Thread João Aparício
You might be right, but I still haven't managed to get it to work though.

I can get the label id, but neither of the following queries work:

SELECT AdGroupId FROM AD_PERFORMANCE_REPORT WHERE Labels EQUALS '49545027' 
DURING 20140801,20141122
SELECT AdGroupId FROM AD_PERFORMANCE_REPORT WHERE Labels CONTAINS [
'49545027'] DURING 20140801,20141122

I get:

googleads.errors.AdWordsReportBadRequestError: Type: QueryError.
INVALID_WHERE_CLAUSE







On Monday, November 24, 2014 11:11:22 AM UTC, Danial Klimkin wrote:

 Hello Joao,


 Filtering by Labels requires using label IDs, not texts. Pull the IDs for 
 the labels and add a filter using LabelIds column instead.


 -Danial, AdWords API Team.


 On Monday, November 24, 2014 12:53:36 PM UTC+3, João Aparício wrote:

 Hi

 In the reports, I'm trying to select for ads that contain (or don't 
 contain) a certain label. Somehow I'm getting an error both from the API 
 and from Scripts. The query is the following:

 SELECT AdGroupId FROM AD_PERFORMANCE_REPORT WHERE Labels CONTAINS_NONE ['my 
 special label'] DURING 20140801,20141122

 From the API I'm getting:

 googleads.errors.AdWordsReportBadRequestError: Type: ReportDownloadError.
 ERROR_GETTING_RESPONSE_FROM_BACKEND

 And from Scripts I'm getting:

 Failed to read from AdWords. Please wait a bit and try again. (line 6)

 Interestingly, the error messages are different if instead I use the 
 CONTAINS operator, and suggest to me a syntax error. That is, the query:

 SELECT AdGroupId FROM AD_PERFORMANCE_REPORT WHERE Labels CONTAINS ['my 
 special label'] DURING 20140801,20141122

 Returns from the API:

 googleads.errors.AdWordsReportBadRequestError: Type: QueryError.
 INVALID_WHERE_CLAUSE

 And from Scripts:

 One of the conditions in the query is invalid. (line 6)


 Any ideas?

 Best regards,
 Joao





-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups AdWords API Forum group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
AdWords API Forum group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/adwords-api.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/41c6d02f-e5db-4489-8ff1-f63d349d9e14%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.