Hi Andreas,
I looked into your account from your SOAP XML and noticed the account does
not have any active ads. Please read this section
<https://developers.google.com/adwords/api/docs/guides/rate-limits#differentiate_queue_or_rate_limiter_for_new_accounts_vs_established_accounts>
which
is relevant to your issue. My recommendation would be choosing an account
that has an active campaign with recent ad spend, or create a test account
<https://developers.google.com/adwords/api/docs/guides/first-api-call#create_test_accounts>
to test the code sample.
Thanks,
Poki, AdWords API Team
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://googleadsdeveloper.blogspot.com/search/label/adwords_api
https://developers.google.com/adwords/api/community/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
On 03/05/19 01:38:25 aperico....@gmail.com wrote:
*edit*
I just saw that I am already using batching, in fact, your SDK example is
by default. I have not got further than to use your own SDK example:
GetKeywordIdeas.java,
since I can not reliably use it without getting random rate exceeded errors.
// Create related to query search parameter.
RelatedToQuerySearchParameter relatedToQuerySearchParameter =
new RelatedToQuerySearchParameter();
relatedToQuerySearchParameter.setQueries(keywords.toArray(new String[0]));
searchParameters.add(relatedToQuerySearchParameter);
On Tuesday, March 5, 2019 at 7:10:25 AM UTC+1, Andreas Toresäter wrote:
Hello and thank you for the answer.
From the details I can read on all this there must then be a specific
problem with my dev token and a copy paste standard answer will not do?
Based on the details shared, it looks like you're receiving an error with
the rate scope as Account. This indicates that application is making a high
number of requests per second on a single AdWords account.
The details I shared was that there are minutes apart of the requests.
You could wait at least the amount of time specified in the
retryAfterSeconds and retry the request again.
Yes, as I said in my question I do that.
You will need to consider all requests made against that account
irrespective of whether the call was made via API or web interface.
I am the only one making calls for these 3 accounts, and I do it by
manually doing one query with one operation at the time from my IDE.
Please note that the API call might still fail as the rate limits are not
based on a constant QPS and are subjected to change.
What exactly does this mean? Do you say I can get this error even if I do
let's say 1 request with one operation every hour?
For the Rate limits, when you retry the requests, your application should
use an exponential backoff policy
<https://developers.google.com/adwords/api/docs/guides/bestpractices#distinguish_error_types>
.
How will this help if I still get this error when I just tried a query
after waiting for the whole night?
Please take a look at the system limits guide
<https://developers.google.com/adwords/api/docs/appendix/limits#targeting-idea>
for
the TargetingIdea specific limits.
I am not getting any of those errors and I am well below the limits for
seed keywords, at the moment I am testing with 2-3.
You can also take a look at Batching Targeting Ideas
<https://developers.google.com/adwords/api/docs/guides/bestpractices#batch_targeting_ideas>
to
make requests more efficiently.
I will look into this but I do not see how it will help in my case since I
get the error when I am using only a fraction of the rate limits you
publish.
Please look into what is wrong with my dev token, thank you!
On Monday, March 4, 2019 at 9:46:01 PM UTC+1, googleadsapi-forumadvisor
wrote:
Hello Andreas,
Based on the details shared, it looks like you're receiving an error with
the rate scope as Account. This indicates that application is making a high
number of requests per second on a single AdWords account. You could wait
at least the amount of time specified in the retryAfterSeconds and retry
the request again. You will need to consider all requests made against that
account irrespective of whether the call was made via API or web interface.
Please note that the API call might still fail as the rate limits are not
based on a constant QPS and are subjected to change.
For the Rate limits, when you retry the requests, your application should
use an exponential backoff policy
<https://developers.google.com/adwords/api/docs/guides/bestpractices#distinguish_error_types>.
For example, if you first pause 5 seconds before the first retry, you could
pause 10 seconds after the second and 20 seconds after the third retry.
Exponential backoff helps ensure you are not calling the API too
aggressively. This guide
<https://developers.google.com/adwords/api/docs/guides/rate-limits#take_control>
has
best practices that can be implemented to handle the rate limit errors.
Please take a look at the system limits guide
<https://developers.google.com/adwords/api/docs/appendix/limits#targeting-idea>
for
the TargetingIdea specific limits. You can also take a look at Batching
Targeting Ideas
<https://developers.google.com/adwords/api/docs/guides/bestpractices#batch_targeting_ideas>
to
make requests more efficiently. Could you please give this a try and let me
know if you're still having an issue?
Thanks,
Bharani, AdWords API Team
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
http://googleadsdeveloper.blogspot.com/search/label/adwords_api
https://developers.google.com/adwords/api/community/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Was your question answered? Please rate your experience with us by taking a
short survey.
If not -- reply to this email and tell us what else we can do to help.
Take Survey
<https://support.google.com/google-ads/contact/survey_transactional?caseid=6-2608000025997&hl=en&ctx=1>
Also find us on our blog and discussion group:
http://googleadsdeveloper.blogspot.com/search/label/adwords_api
https://developers.google.com/adwords/api/community/
On 03/04/19 09:53:09 aperi...@gmail.com wrote:
Hello,
I am having problems getting the GetKeywordIdeas to work reliably. It will
randomly throw this error.
1. I am not making excessive requests, I manually make them from the IDE.
2. When I got the errors I always waited for at least 30 seconds
3. I have tried 3 different accounts, both have spent 10 of thousands for
ads and it happens on all of them.
4. The very two first queries I ever did got this error, how can I have
exceeded a limit if I never used the API before?
Is there a solution to this issue, or a workaround? It is a great source of
information for my customers but I need to be able to guarantee I can
deliver it to them. Below is complete SOAP log for last time this happened:
[Thread-1] WARN
com.google.api.ads.adwords.lib.client.AdWordsServiceClient.requestInfoLogger
- Request made: Service: TargetingIdeaService Method: get clientCustomerId:
723-498-3557 URL: https://adwords.google.com/api/adwords/o/v201806/
TargetingIdeaService Request ID: 00058345c16d3c6a0ac1260cc0031364
ResponseTime(ms): 137 OperationsCount: 1 IsFault: true FaultMessage:
ApiException{applicationExceptionType=ApiException,
errors=[RateExceededError{apiErrorType=RateExceededError,
errorString=RateExceededError.RATE_EXCEEDED, fieldPath=,
rateName=RATE_LIMIT, rateScope=ACCOUNT, reason=RATE_EXCEEDED,
retryAfterSeconds=30, trigger=}]}
[Thread-1] INFO
com.google.api.ads.adwords.lib.client.AdWordsServiceClient.soapXmlLogger
- SOAP request:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/
2001/XMLSchema-instance">
<soapenv:Header>
<ns1:RequestHeader xmlns:ns1="https://adwords.
google.com/api/adwords/o/v201806" soapenv:mustUnderstand="0">
<ns2:clientCustomerId xmlns:ns2="https://adwords.
google.com/api/adwords/cm/v201806">723-498-3557</ns2:clientCustomerId>
<ns3:developerToken xmlns:ns3="https://adwords.
google.com/api/adwords/cm/v201806">REDACTED</ns3:developerToken>
<ns4:userAgent xmlns:ns4="https://adwords.
google.com/api/adwords/cm/v201806">Aperico (AwApi-Java, AdWords-Axis/4.4.0,
Common-Java/4.4.0, Axis/1.4, Java/1.8.0_191, maven)</ns4:userAgent>
<ns5:validateOnly xmlns:ns5="https://adwords.
google.com/api/adwords/cm/v201806">false</ns5:validateOnly>
<ns6:partialFailure xmlns:ns6="https://adwords.
google.com/api/adwords/cm/v201806">false</ns6:partialFailure>
</ns1:RequestHeader>
</soapenv:Header>
<soapenv:Body>
<get xmlns="https://adwords.google.com/api/adwords/o/v201806">
<selector>
<searchParameters xmlns:ns7="https://adwords.
google.com/api/adwords/o/v201806" xsi:type="ns7:
RelatedToQuerySearchParameter">
<ns7:queries>portable solar charger</ns7:queries>
<ns7:queries>best mppt charge controllers</ns7:queries>
</searchParameters>
<searchParameters xmlns:ns8="https://adwords.
google.com/api/adwords/o/v201806" xsi:type="ns8:LanguageSearchParameter">
<ns8:languages>
<ns9:id xmlns:ns9="https://adwords.
google.com/api/adwords/cm/v201806">1000</ns9:id>
</ns8:languages>
</searchParameters>
<searchParameters xmlns:ns10="https://adwords.
google.com/api/adwords/o/v201806" xsi:type="ns10:NetworkSearchParameter">
<ns10:networkSetting>
<ns11:targetGoogleSearch xmlns:ns11="
https://adwords.google.com/api/adwords/cm/v201806">true</ns11:
targetGoogleSearch>
<ns12:targetSearchNetwork xmlns:ns12="
https://adwords.google.com/api/adwords/cm/v201806">false</ns12:
targetSearchNetwork>
<ns13:targetContentNetwork xmlns:ns13="
https://adwords.google.com/api/adwords/cm/v201806">false</ns13:
targetContentNetwork>
<ns14:targetPartnerSearchNetwork xmlns:ns14="
https://adwords.google.com/api/adwords/cm/v201806">false</ns14:
targetPartnerSearchNetwork>
</ns10:networkSetting>
</searchParameters>
<ideaType>KEYWORD</ideaType>
<requestType>IDEAS</requestType>
<requestedAttributeTypes>KEYWORD_TEXT</
requestedAttributeTypes>
<requestedAttributeTypes>SEARCH_VOLUME</
requestedAttributeTypes>
<requestedAttributeTypes>AVERAGE_CPC</
requestedAttributeTypes>
<requestedAttributeTypes>COMPETITION</
requestedAttributeTypes>
<paging>
<ns15:startIndex xmlns:ns15="https://adwords.
google.com/api/adwords/cm/v201806">0</ns15:startIndex>
<ns16:numberResults xmlns:ns16="https://adwords.
google.com/api/adwords/cm/v201806">100</ns16:numberResults>
</paging>
</selector>
</get>
</soapenv:Body>
</soapenv:Envelope>
[Thread-1] INFO
com.google.api.ads.adwords.lib.client.AdWordsServiceClient.soapXmlLogger
- SOAP response:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<ResponseHeader xmlns="
--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
---
You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to adwords-api+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit
https://groups.google.com/d/msgid/adwords-api/00d12hpsr800000080blog002d9veiz6omj4dhg70o30c1g68qjie9n%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.