Hi,
I hit a small issue with the 201802 API level, which is probably mainly because I'm not following best practices by sending a sparse object to mutate. I figured I'd share my issue and finding anyways incase someone else hits something similar. I also have a follow up question at the end.... :)
When setting up a new managed customer account, we get the Customer from the API and verify that auto-tagging flag is set and if not set it. What I found last night with the new API (201802) what that the new field parallelTrackingEnabled is set to false in the Customer object being returned from get. If I set auto-tagging to true and mutate this Customer object I get the OperationAccessDenied error due to parallelTrackingEnabled being set.
From the link above:
Upgraded URLs (test accounts only)
The new fields in this section are only available in test accounts. Attempts to set these fields in a non-test account will fail with an OperationAccessDenied
error with reason ACTION_NOT_PERMITTED
.
The new parallelTrackingEnabled
field was added to Customer
to indicate whether parallel tracking is enabled for an account.
The finalUrlSuffix
field was added to Customer
, Campaign
, AdGroup
, AdGroupCriterion
, and Ad
for future use.
To appease the new API, I'm working around this in our code by setting the parallelTrackingEnabled value to null before mutating the Customer to set auto-tagging to true. If I had created the Customer object as opposed to using the one returned, setting auto-tagging only, then parallelTrackingEnabled would not have been set and the error would have been avoided.
My confusion was with the docs stating that this field was only available with test accounts, when in fact it's set for non-test accounts.
Follow up question for the AdWords API experts on this forum. When parallelTracking is rolled out, is the plan to allow API access to enable or disable this feature?
Thank you for the ongoing support here on this forum.
Matt.