Today targeting.keywords / targeting.negativeKeywords on PUT /v1/ads/{adId} replace the entire set of that kind on the ad group — anything not sent is removed. That is the right primitive for a campaign builder, but it is a dangerous
one for any tool that acts on a suggestion.
Our use case: we analyse a customer's search terms and propose "exclude these three wasteful terms". To execute that today we must re-send the ad group's complete keyword inventory, correctly, including match types. If our inventory is
one sync behind — a paginated sync that hit a 429, a keyword added in Google Ads five minutes ago — we silently delete working keywords and spend the customer's money in the wrong places. There is no way to detect that after the fact.
Request: an additive shape, e.g. targeting.addKeywords / targeting.removeKeywords (and the same for negatives), or a PATCH-style operation list. Removal by keyword text + match type would be enough; a criterion ID would be even better.
Why it matters beyond us: any agent or advisory layer built on your API runs into this. Full replacement forces every integrator to maintain a perfectly fresh mirror of the platform's state, which is exactly the thing an API should not
require.Please authenticate to join the conversation.
Completed
Feature Request
28 days ago

JW Stukart
Get notified by email when there are changes.
Completed
Feature Request
28 days ago

JW Stukart
Get notified by email when there are changes.