In short: Since April 22, 2026, the Merchant API is reachable from inside Google Ads Scripts. Feed and campaigns finally live in one runtime. One script reads Merchant Center data and acts on it. A disapproved product gets pulled from a PMax listing group, an out-of-stock SKU pauses its asset group. Automatically, with no external glue between two systems.
I’ve been writing Google Ads Scripts since 2015, when I launched ppc-scripts.eu. For all those years the same wall stood in the middle of every Shopping setup. Campaigns lived in Scripts, the feed lived somewhere else entirely, and anything that needed both meant duct tape. On April 22, 2026, Google tore that wall down. The Merchant API is now reachable from inside Google Ads Scripts.
What changed
One script can now read Merchant Center data and act on it in the same Google Ads runtime. Combine that with product_filters (conditional feed sharing with Google Ads, shipped in November 2025) and the loop between feed health and ad spend finally closes in a single environment.
Why it matters
The split used to force awkward workarounds. A feed problem got detected in one system. The campaign reaction fired in another. Between them sat external plumbing, a cron job, a server, credentials, all of it yours to maintain. In twelve years on the Google Ads API I’ve built more of that glue than I care to admit. Now the reaction lives where the campaign control already is.
The obvious win is a closed-loop guardrail. A product gets disapproved in Merchant Center, and the same script pulls it from the PMax listing group or trims its budget. Automatically, with no human in the loop.
How to automate it
Start with the feed event that hurts you most by hand today and wire it to a campaign action:
- Disapproval → exclusion. A SKU loses approval, so remove it from the relevant listing group. Spend stops chasing a product nobody can buy.
- Out of stock → pause. Stock hits zero in the feed, so pause the asset group surfacing it or cut its bid.
- Price change → bid review. A price update eats into the margin, so flag the product for a bid revisit.
This kind of cross-domain logic used to need two systems and a cron job between them. Now it’s one script running on Google’s own schedule, with no external glue to maintain and no secrets to pass between environments. Start with one event and one action. Confirm the reaction fires, then wire up the next.
For the wider context of Google’s converging Ads and Merchant APIs, read our Google API year in review.