Hi,
sorry for getting back to you again, but my main question is still
unanswered:
Why are there no QuotaErrorDetails in this case?
That would provide guidance about how long to wait. I cannot determine that
upfront in a distributed environment as you already pointed out.
In other words: Feat
Hi,
thanks for your explanation. I already read that, but I did not find what I
was searching for:
If there is no API call for retrieving that information (as you pointed
out), it would have been nice, if at least the day-in-month would be
documented from that the data is guaranteed to be avai
Hi,
thanks for pointing out that I hit the daily API operations limit. I didn't
expect that :-)
It would have been nice if there had been a reference to the daily limit in
the error.
Or does RESOURCE_EXHAUSTED always just relates to the daily limit? If so, I
misunderstood the description "too
Hi,
I am aware of the fact that the data is not available yet.
But is there any documentation on when the data will be available exactly?
Or an API that provides that information?
Otherwise programmatic access would be a bit unreliable.
Best regards,
Markus
Google Ads API Forum Advisor schrieb
Hi,
the main (unanswered) question was:
Why do I get a rate limit error _without QuotaErrorDetails_?
IMO that makes automation hard, because it is required by the docs that I
have to wait the provided amount of time. I wouldn't like to resort to
parsing error messages to extract the retry delay
Hi,
I am using KeywordPlanIdeaService.generateKeywordIdeas(). If I set the date
range for the historical metrics (today: 3rd of May 2023) to the last month
(start and end: April 2023) I get an INVALID_VALUE:
Request
---
MethodName:
google.ads.googleads.v13.services.KeywordPlanIdeaService/G
Hi,
I am using KeywordPlanIdeaService.generateKeywordIdeas() and sometimes
getting quota errors though I obey the 1 QPS rate limit. Furthermore the
quota error message says that I need to wait for 30 seconds. But there are
no corresponding QuotaErrorDetails (hasDetails() says false). So I am no
Hi,
we get an ASSET_ERROR / DUPLICATE_ASSET "Assets are duplicated across
operations." when creating an AdGroupAd / Ad / ResponsiveSearchAdInfo.
Please explain in a bit more detail what may cause the problem.
In this case, the headline at position 9 seems to be the problem. But
against what is
Hello Darwin,
thanks for taking a second look.
I was pretty sure that we don't violate the 1 RPS limit because we use a
Guava rate limiter that should ensure that.
So maybe I'll try a little less than 1 RPS to avoid this kind of problem.
Thanks,
Markus
adsapi schrieb am Montag, 14. November 2
Hello Yasar,
I already found that limit. But IMO I do not exceed the 1 QPS limit.
As the error message reads this is IMO not the 1 QPS limit that I hit but
the concurrency limit per service method.
I issue a query each second, even if the prior query has not finished yet.
If these requests ta
Hello,
I get errors that I interpret as calling a method
(KeywordPlanService#generateHistoricalMetrics) too concurrently. I wonder
where that limit is documented?
error_code {
quota_error: RESOURCE_EXHAUSTED
}
message: "Too many requests. Retry in 4 seconds."
details {
quota_error_details {
Hi Ernie,
one additional info: We opened the account in the Google Ads Editor. There
these RSAs are all displayed.
Regards,
Markus
adsapi schrieb am Donnerstag, 18. August 2022 um 10:35:30 UTC+2:
> Hi Markus,
>
> Thank you for the reply and providing information. Allow me to continue
> the di
Hello Aryeh,
the above problem arises for RSAs that are in the same ad group. Thus the
status of the campaign or ad group shouldn't be an issue.
The logs I will provide privately.
Regards,
Markus
adsapi schrieb am Mittwoch, 17. August 2022 um 21:24:40 UTC+2:
> Hi Markus,
>
> The Ads UI has def
Hi,
we download RSAs programmatically with an `ad_group_ad` query.
I am unable to find some of the (enabled) RSAs returned by the query on the
Google Ads website.
In Google Ads, I selected the correct account to which these RSAs belong.
I selected "Ad status: All".
I filter for the Ad ID (with t
Hi Anthony,
I hope that it is possible to resolve this issue without the request and
response logs.
The query and the type of request are shown above.
The response is none as mentioned above.
With that information, I hope it should be possible to at least guess why
the Google Ads API v10 does n
Hi,
we experience an EOS after almost exactly 1 hour for
SearchGoogleAdsStreamRequests (Java library) like
SELECT
ad_group.id,
ad_group_ad.ad.id,
ad_group_ad.status,
ad_group_ad.ad.responsive_search_ad.headlines,
ad_group_ad.ad.responsive_search_ad.descriptions,
ad_group_ad.ad.responsive_search_
I sent it via "reply to author". So the default subject "Re:
ResourceCountLimitExceededError for labels" should have been used. I will
send it again.
On Tuesday, May 10, 2022 at 4:25:47 AM UTC+2 adsapi wrote:
> Hi Markus,
>
> Thank you for getting back to us.
>
> Moving forward, could you confi
Did you receive my private mail? The copy I received looks like I only sent
it to myself.
Markus Heiden schrieb am Freitag, 6. Mai 2022 um 19:17:01 UTC+2:
> The error type is LIMITED_LABELS_PER_TYPE_PER_CUSTOMER. Details will
> follow via private mail.
>
> adsapi schrieb am Mitt
The error type is LIMITED_LABELS_PER_TYPE_PER_CUSTOMER. Details will follow
via private mail.
adsapi schrieb am Mittwoch, 4. Mai 2022 um 15:11:24 UTC+2:
> Hi Markus,
>
> Thanks for reaching out. If you can *privately* provide the complete
> request and response logs, we can check exactly which
Hi,
we currently get an ResourceCountLimitExceededError.RESOURCE_LIMIT
(existing count = 764, limit = 200) when creating labels for a specific
customer.
This limit is not documented IMO. The closest match I found
was
https://developers.google.com/google-ads/api/docs/best-practices/system-limi
When I try to create a keyword plan ad group via the GoogleAdsService v10
API (with the Java SDK 17.0.1) I get a non-saying error message. What am I
doing wrong?
mutate_operation_responses {
keyword_plan_ad_group_result {
}
}
partial_failure_error {
code: 3
message: "The error code is no
Hi Peter,
did you receive my private message with the logs? Is there any progress on
this issue?
Regards,
Markus
adsapi schrieb am Montag, 25. Oktober 2021 um 03:33:56 UTC+2:
> Hi Markus,
>
> Thank you for your follow up.
>
> Please note that our API team would *need* the complete request
>
Hi,
with the AdWords API it was possible to just add some custom tracking
parameters e.g. to groups. I am missing the equivalent to the "doReplace =
false" option of the AdWords API CustomParameters in the Google Ads API.
I am aware that I can retrieve the existing custom parameters, add my new
Hi Ernie,
maybe you misunderstood me. There is a request id in the log. That was the
source of the request id I posted privately. I was just not able to find an
accessor for it in the Java lib response object.
Regards,
Markus
adsapi schrieb am Freitag, 22. Oktober 2021 um 12:55:55 UTC+2:
> Hi
Hi,
I experienced some differences in the authentication between AdWords and
Google Ads API access using the Java libs.
We have a setup with
1) The main MCC account that gets authenticated.
2) Below that a MCC which we use as "clientCustomerId" /
"login-customer-id".
3) Below that a "normal" a
Hi Ernie,
Yes and no. I can grab the request id from the log. But to avoid log spam,
the log is usually turned off. So it would be nice to have a possibility to
get the request id programmatically from each response and exception. That
way I can automatically persist it and/or just log it.
Reg
Hi Aryeh,
BTW Why has MutateGoogleAdsResponse no request ID attribute like
SearchGoogleAdsStreamResponse?
Regards,
Markus
adsapi schrieb am Mittwoch, 20. Oktober 2021 um 19:55:52 UTC+2:
> Hi Markus,
>
> I work with Peter and will assist you. Thank you for giving us the steps
> to reproduce, ho
Hi Peter,
The bug is also reproducible in the Google Ads frontend:
1) Create 20 sitelinks.
2) Remove 1 sitelink.
3) Add 1 new sitelink -> Limit exceeded error.
4) Press again on the add button -> OK. Sitelink shows up.
Best regards,
Markus
adsapi schrieb am Mittwoch, 20. Oktober 2021 um 04:00:33 U
We tested the above scenario with the Google Ads frontend too and it shows
the same strange behavior.
Markus Heiden schrieb am Montag, 18. Oktober 2021 um 23:50:43 UTC+2:
> I am trying to book sitelink assets / customer assets connected by
> temporary ids via the GoogleAdsService.
>
I am trying to book sitelink assets / customer assets connected by
temporary ids via the GoogleAdsService.
Error case: I have 19 active sitelink assets / customer assets and several
already removed ones. When booking the 20th sitelink asset / customer asset
I get a limit exceeded error on the
Hi Xiaoming,
I am not using the BatchJobService for this purpose and it happened in
production with a regular account. I am using the
CampaignExtensionSettingServiceInterface.mutate() directly.
adsapiforumadvisor schrieb am Donnerstag, 29. Oktober 2020 um 21:41:12
UTC+1:
> Hi Markus,
>
> Than
Hello,
I got a size limit error, when creating many sitelinks with exactly 250
CampaignExtensionSettingOperations (officially documented limit):
SizeLimitError{apiErrorType=SizeLimitError,
errorString=SizeLimitError.REQUEST_SIZE_LIMIT_EXCEEDED, fieldPath=,
reason=REQUEST_SIZE_LIMIT_EXCEEDED, t
Hi Danica,
First thanks for the detailed response.
But I am still a bit confused: How am I supposed to use new features, if
they are not added to the production (AdWords) API?
Regards,
Markus
adsapiforumadvisor schrieb am Donnerstag, 16. Juli 2020 um 21:00:33 UTC+2:
> Hi Markus,
>
> Thank you
Since the Google Ads API is around for some time now, I got a few questions
about the migration:
Where do I find reliable information what and when to migrate to the Google
Ads API?
Which parts are considered "production ready"?
When will the AdWords API be deprecated?
Why is the AdWords API stu
We are using a test account for each of our customers for providing them an
additional "playground" system.
For that purposes we use a cell phone number to create these test accounts.
Recently I always get an error "telephone number used too often" when using
the cell phone number when creating t
Hi,
I am updating many (10+) expanded text ads via
the AdServiceInterface.mutate() method.
Most requests are successful, but some always run in a socket timeout error.
I already tried to reduce the number of operations per request from 2000 to
500, but this did not solve the problem.
Are the
Hi Peter,
before we just created ads via the AdGroupAdServiceInterface.mutate(),
which supports partial failures. So the successful operations are executed
and the failed ones are reported.
Now we additionally update ads via AdServiceInterface.mutate(). I am not
sure how to reliably update ads
Hello,
AdServiceInterface.mutate throws an ApiException for PolicyFindingErrors
instead of returning them as partial errors, though AdReturnValue supports
partial errors.
Are the operations without errors executed anyway or does an exception
always mean that all operations of the request have n
Hi Dannison,
thanks for clarify the required fields and update details.
But there is still no statement regarding whether the performance data are
kept under all circumstances.
Are the performance data still kept, if I update all fields or just if I
update only headlinePart1, headlinePart2, de
Hi Dannison,
I already read that guide (just the german version, because I found no
switch for the language) and there is no point about *updating* expanded
text ads, just the creation via the AdGroupAdService is mentioned.
My concern is that there are no details about *updating* expanded text
Hello,
I tried to update the final URL of an existing expanded text ad by creating
a SET operation with just the ad id and the new final URL and passing it to
AdService.mutate.
But AdWords complains about a missing headlinePart1, headlinePart2 and
description.
With all other services I just ne
The current AdWords API references are not linked in the german "reference
index
page" https://developers.google.com/adwords/api/docs/reference/?hl=de.
The most current version mentioned there is 201702.
Please fix that, e.g. by linking to the english page.
Regards,
Markus
--
--
=~=~=~=~=~=
Hi Danisson,
sorry for bugging you again.
I noticed that labels on negatives ARE supported when creating a new
negative via the API, by setting the "labels" field of
"NegativeAdGroupCriterion".
So we ended up with a lot labels that we cannot manage (Because we label
all elements managed by o
Hi Dannison,
I am a bit confused, because one of our customers got this answer from
their Google AdWords support:
> "Ad rotation setting is made available for Adgroups as well along with
campaigns from the v201710 version of AdWords API. They could use the
adServingOptimizationStatus field of
Hi Dannison,
thanks for clarifying this. I was just a bit confused since the API
documentation
(https://developers.google.com/adwords/api/docs/reference/v201806/CampaignService.Campaign#adservingoptimizationstatus)
does not mention the fact, that the adServingOptimizationStatus is
read-only.
Hello,
the release note for the 201710 AdWords API says:
> Simplified and improved ad rotation settings are now available at the ad
group level via the adGroupRotationMode field. *Campaign-level rotation
settings in the adServingOptimizationStatus field are now read-only*.
Due to this we moved
Hi Dannison,
what I am interested in most is, whether there is any way to add labels to
negatives via the API or not. The UI is not important for me.
Regards,
Markus
--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=
Hi Dannison,
I am not able to see that the "here" links says that labels are not
supported for negatives.
I do not see any difference to the documentation of
BiddableAdGroupCriterion, which supports labels.
Campaigns, ad groups, keywords, ads all support assigning labels to them
when creating
Hi,
we are adding labels to our negatives (NegativeAdGroupCriterion) when
booking them since quite a while. Recently we added functionality to add
labels to already booked negatives.
Then we got some
AdGroupCriterionError.CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION errors and ask
ourselves where
Hi Shwetha,
I do not known that, because I noticed that with our migration from v20172
to v20178 where this field has been added.
Regards,
Markus
--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.
Hi,
I experienced invalid values in the ad performance report when downloading
it as csv with the v201708 AdWords API.
In the column "CombinedApprovalStatus" (returned as "Approval status") all
values are returned as lower case, e.g. "approved" instead of "Approved"
since today.
Are there any
Hi,
prior to v201705 we used the column "AdGroupAdTrademarkDisapproved" of the
ad performance report to record our trademark violations.
Since v201705 I find no replacement for that.
Is "PolicySummary" maybe suitable for that?
If so: How can the complex type "AdGroupAdPolicySummary" be downloa
Hi Sreelakshmi,
> The BaseAdGroupId will have the AdGroupId of the base AdGroup if it is
trial and if it is a base AdGroup,
> it will have the same value for the AdGroupId and the BaseAdGroupId.
> In your report, there are three AdGroups which are having BaseAdGroupId
as 0 and all of them are
Since around a week, we are experiencing "strange" behaviour of the keyword
performance report:
Some of the keywords have a "Base Ad group ID" of 0, unlike the "Base
Campaign ID" which is still set. These keywords are in finished tests.
Is this expected behaviour?
--
--
=~=~=~=~=~=~=~=~=~=~=~
Hi,
today everything works as expected. I don't know what went wrong yesterday.
Thanks,
Markus
--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~
Hi,
I am experiencing some strange behaviour of the campaign performance report
(include zero impressions == true).
When requesting all campaigns, base campaigns and trials are returned both
having "CampaignStatus" == "ENABLED".
When I add a predicate "CampaignStatus" EQUALS "ENABLED" the trials
At least in the german documentation this still has not been documented yet.
--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and Google+:
https://googleadsdeveloper.blogspot.com/
https://plus.google.com/+GoogleAdsDevelopers/posts
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Hello Vishal,
sure, I could merge my two jobs into one to ensure precedence.
But what I want to know is: How to ensure that a job has successfully been
executed before a second depending job gets executed (the purpose of the
prerequisites in the old MutateJobService)? Because jobs are limited
I am currently migration from the MutateJobService to the BatchJobService
and cannot find job prerequisites in BatchJobService.
How can I declare job dependencies with the new BatchJobService?
Are jobs for the same account get sequentially executed with the new
BatchJobService instead?
--
--
Hello Joyce,
we had one experiment created with the AdWords UI. We deleted that now and
the job runs without an error. So we need to filter the campaign
performance report to not contain experiments. Anyway it would be nice, if
this error message gets documented.
Thanks,
Markus
--
--
=~=~=~
Hello,
we are using the AdWords v201601 API via Java and recently got
a CampaignError.CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN. I am not able to find
this error in the AdWords Java libs nor on Google. Where does it come from
and what does it mean? What have I to change on the campaign to make this
err
Hi,
I successfully created an AccountLabel. But adding it to a ManagedCustomer
during creation (ADD) via ManagedCustomerService.mutate has no effect. The
ManagedCustomer is always created without the label assigned. Is using
mutateLabel after creating the ManagedCustomer the only possibility to
I am doing an AD_PERFORMANCE_REPORT and try to add a predicate for "AdType"
(e.g. EQUALS "Text Ad"). But I always get a SelectorError
INVALID_PREDICATE_ENUM_VALUE. What are the valid enum values for "AdType"?
--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and G
Hi Josh,
thanks for your response, it pointed me to the right direction. We used
cached instance of XMLInputFactory concurrently which is not thread-safe
too. After fixing this, the problem did not occur anymore.
Thanks,
Markus
--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also fin
Hi,
I try to use a predicate for SearchRankLostImpressionShare in my keyword
performance report. But for every predicate operator I try, I always get an
"invalid predicate operator" error.
How can I select keywords with SearchRankLostImpressionShare != null in
keyword performance reports?
-
Hi Josh,
we are downloading the XML-Reports with the Java
com.google.api.ads.adwords.lib.utils.v201409.ReportDownloader. I tried to
reproduce it today, but did not get this case. I will send you a XML file,
if this error happens again.
Markus
2015-02-11 20:04 GMT+01:00 Josh Radcliff (AdWords API
Hi,
when querying for campaign states sometimes invalid values are returned,
e.g. "6nabled" instead of "Enabled".
Is this a bug or a feature?
This happens for other types like e.g. keyword match type too.
The pattern seems to be, that the first character is replaced by a number.
--
--
=~=~=~=
Is it for sure that "global" uniqueness of ids (described in
https://developers.google.com/adwords/api/docs/guides/working-with-objects)
means
"AdWords global"? I read on Stackoverflow
(http://stackoverflow.com/questions/8111884/are-adwords-keyword-adgroup-campaign-ids-unique-across-multiple-ac
68 matches
Mail list logo