Local Inventory Ads will be enabled by default in every Google Shopping campaign starting August 31, 2026 — and this time it is official. On July 20, Google confirmed the change on its Ads Developer Blog, four days after advertisers began receiving email notices about it. The part that matters most for anyone running automated campaign management: the API opt-out is going away entirely.
The enable_local field in a Shopping campaign’s ShoppingSetting — until now the explicit opt-in switch for serving local inventory — will simply be ignored. Google will treat it as true regardless of what you submit. On Google Ads API v25.1 or later, attempting to set it to false returns a hard error. On older API versions, the same attempt is silently ignored, which is arguably the more dangerous failure mode for scripts that assume their settings still hold.
This guide covers exactly what Google confirmed, the API mechanics and their failure modes, who is actually affected, the two sanctioned ways to keep online and local inventory separate, and a posture-by-posture decision matrix for getting your account ready before the deadline.
- 01Confirmed: default-on from August 31, 2026.Google’s Ads Developer Blog post of July 20, 2026 confirms that Local Inventory Ads will be enabled by default for all Shopping campaigns beginning Aug. 31 — formalizing the advertiser email Google sent on July 16.
- 02The API opt-out is being removed.After the change, Shopping campaigns always have LIA enabled, the enable_local field is ignored, and Google treats the setting as true regardless of the value submitted.
- 03v25.1+ fails loud; older versions fail silent.Setting enable_local to false on API v25.1 or later returns ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT. On earlier versions the write is silently ignored — a quieter and riskier trap for automated campaign management.
- 04Shopping campaigns only — PMax and Demand Gen keep the switch.The enable_local field continues to function normally for Performance Max and Demand Gen. The change aligns Shopping with PMax for Retail, where LIA is already default-on — precedent, not a PMax settings change.
- 05Two sanctioned ways to keep online and local separate.Use the Inventory filter in campaign settings (Channel = Local or Online), or create a listing scope via CampaignCriterionService with product_channel set to ONLINE. Review campaigns before Aug 31 if you split budgets.
01 — The ConfirmationWhat Google confirmed on July 20.
The confirmation landed on Monday, July 20, 2026, in a Google Ads Developer Blog post titled “Enabling Local Inventory Ads by Default for Shopping Campaigns starting on August 31, 2026.” Search Engine Land’s Anu Adegbola covered it the same evening, reproducing the technical detail: starting Aug. 31, Google will automatically enable the “Local products” setting for every Shopping campaign, and advertisers will no longer be able to disable Local Inventory Ads through the Google Ads API.
This was not the first signal. Google emailed advertisers on July 16 — the developer blog post itself opens by referencing the notice sent “last week” — and that email contained the first written appearance of the date, in Google’s own words: review your Shopping campaigns “before 08/31/2026.” A second Search Engine Land article published July 16 independently confirmed the same date and mechanics. Three independent readings — the advertiser email, the July 16 trade coverage, and the July 20 developer blog confirmation — all agree on a single operative date: August 31, 2026.
Advertiser email notice
Google emailed manager accounts running Shopping campaigns linked to a Merchant Center account with the LIA add-on. PPC specialist Arpan Banerjee surfaced the email on LinkedIn; Search Engine Roundtable and Search Engine Land covered it the same day.
Developer Blog confirmation
Google formally confirmed default-on LIA for all Shopping campaigns from Aug. 31, including the API mechanics: enable_local ignored, treated as true, with a hard error on v25.1+ for attempts to set it false.
Default-on takes effect
Every Shopping campaign serves local inventory where a linked local feed exists. The Local products drop-down is removed from campaign settings; the Inventory filter becomes the control surface.
One sourcing note for the record: Google’s developer blog post is the primary source, but the fullest public account of its technical detail is Search Engine Land’s July 20 report, which explicitly credits and links the blog post. The API-level specifics in this article follow that reporting — a faithful paraphrase of Google’s post rather than verbatim Google prose, except where quotation marks indicate otherwise.
02 — API MechanicsThe API can’t say no — loudly or silently.
Until now, serving products from a Local Inventory Ads feed required an explicit opt-in: setting the enable_local field to true in a campaign’s ShoppingSetting. After August 31, per Google’s confirmation, three things hold at once: Shopping campaigns will always have Local Inventory Ads enabled, the Campaign.ShoppingSetting.enable_local field will be ignored, and Google will automatically treat the setting as true regardless of the value submitted.
The part most coverage buried is the version split — and it is the lead operational risk for anyone keeping control over how their Shopping campaigns run through automated tooling. On Google Ads API v25.1 or later, attempting to set enable_local to false returns ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT — a hard, visible error that will break scripts immediately. On API versions earlier than v25.1, existing code continues to run, but any attempt to disable Local Inventory Ads is simply ignored, with Google treating the value as true.
The loud failure
The request fails with ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT. Painful but honest: your pipeline breaks visibly, gets triaged, and gets fixed. Strip the write before Aug 31 to avoid the breakage entirely.
The silent no-op
Existing code keeps running and reports no error — but the opt-out it thinks it is applying does nothing. Campaigns serve local inventory while your automation believes they don’t. Audit every integration that writes enable_local.
Read those two failure modes side by side and the asymmetry is obvious. A hard error is self-correcting: it pages someone. A silent no-op can run for months while budget quietly splits across online and local inventory the account owner believes are separated. If your bid management, budget pacing, or campaign provisioning touches enable_local anywhere — first-party scripts, a third-party platform, or an agency’s internal tooling — the audit belongs on this week’s list, not on August 30th’s.
"Advertisers using Shopping campaigns will no longer be able to disable Local Inventory Ads through the Google Ads API."— Anu Adegbola, Paid Media Editor, Search Engine Land, July 20, 2026
03 — ScopeShopping campaigns only — PMax and Demand Gen keep the switch.
The scope discipline matters, because the headline is easy to over-read. This update applies only to Shopping campaigns. The enable_local field continues to function normally for other supported campaign types, including Performance Max and Demand Gen — it is not being forced to true there, and nothing about those campaign types' settings changes on August 31.
What Google is doing is aligning Shopping campaigns with Performance Max for Retail, where Local Inventory Ads are already enabled by default. That framing is precedent, not a PMax settings change: the default-on model has existed in PMax for Retail for some time, and Shopping is now being brought to the same posture. Search Engine Land’s July 16 analysis reads the consolidation as Google removing duplicate settings that previously controlled LIA — collapsing two overlapping controls into one, the Inventory filter.
enable_local deliberately set, nothing changes for those campaigns on August 31. The forced default applies to Shopping campaigns exclusively. Audit your Shopping campaigns first; leave PMax and Demand Gen configurations alone unless you have a separate reason to touch them.04 — Affected AccountsWho is affected, and how much runway is left.
No published figure exists for how many advertisers or campaigns this touches, and any percentage you see attached to this story is invented. What is known is qualitative and precise: Google’s July 16 notice went to manager accounts with Shopping campaigns linked to a Merchant Center account that has the local inventory ads add-on enabled. Arpan Banerjee, the PPC specialist who first posted the email to LinkedIn, put it plainly: “This notice applies to manager accounts with Shopping campaigns linked to a Merchant Center account that has the local inventory ads add-on enabled.”
In practice that means the impact concentrates on retailers already running — or at some point having enabled — the LIA add-on. If your Merchant Center has no local inventory feed and no LIA add-on, the setting will still flip on August 31, but there is no local inventory for it to serve; the change is a no-op for you in practice. The accounts with real work to do are the ones using the add-on while deliberately separating online and local serving at the campaign level — and every account whose automation writes enable_local.
Jul 20 → Aug 31
From the developer-blog confirmation to enforcement. Counting from the July 16 advertiser email, the total notice period is 46 days — a compressed window for accounts with many Shopping campaigns to review.
The hard-error line
v25.1 and later reject enable_local: false with a ContextError. Everything older silently ignores it. Know which side of the line every integration in your stack sits on.
Update window
Per Merchant Center policy, allow roughly 24–48 hours of processing after local inventory updates before treating a discrepancy as a bug. Google may also spot-check accounts with inventory verifications.
05 — Separation PathsTwo sanctioned ways to keep online and local separate.
Default-on does not mean the online/local split is dead — it means the split moves. The “Local products” drop-down is being removed from the “Other settings” section of Shopping campaigns; in its place, Google names two supported mechanisms for advertisers who previously disabled LIA on specific campaigns. Which one you pick depends on where your campaign management lives.
The Inventory filter
In Google Ads campaign settings, filter inventory using Channel = Local or Channel = Online. This is the mechanism Google’s own email points to for separating online and local budgets, and it replaces the removed Local products drop-down.
ONLINE listing scope
Create a listing scope via CampaignCriterionService with product_channel set to ONLINE. The campaign then serves online inventory only — the API-native equivalent of the old enable_local: false, and scriptable across large account structures.
Let the default stand
If you run the LIA add-on and always wanted local serving anyway — or you have no local feed at all — the change formalizes your status quo. Sanity-check budget pacing and channel reporting after Aug 31, and you’re done.
One subtlety worth planning for: the Inventory filter and the listing-scope approach are per-campaign constructs, exactly like the old setting. If you maintain paired campaigns — one online, one local, with separate budgets — you will need the filter or scope applied on the online-only side of each pair before August 31, or both campaigns will begin serving both channels against budgets you sized for one.
06 — Decision MatrixWhich bucket are you in? A posture-by-posture matrix.
Every published account of this change describes the mechanics in one linear narrative aimed at all readers equally. More useful is to segment by current posture: what you were doing before determines what breaks on August 31 and what — if anything — you need to do about it. The matrix below is compiled from Google’s July 20 developer-blog confirmation (as reported by Search Engine Land) and the July 16 advertiser email.
| Your posture today | Current behavior (pre-Aug 31) | What changes on Aug 31 | Required action | Deadline |
|---|---|---|---|---|
| Never used LIA — no add-on in Merchant Center | Shopping campaigns serve online inventory only; no local feed exists | The setting flips, but with no local feed there is no local inventory to serve — a practical no-op | Confirm no LIA add-on or local feed is linked; no structural change needed | None — optional sanity check |
| Run the add-on, want local always-on anyway | Local products setting enabled by choice; local and online serve together | Your choice becomes the platform default; the Local products drop-down is removed from Other settings | Sanity-check budget pacing and channel-level reporting after the switch | First weeks of September |
| Run the add-on, separate online/local budgets | Online-only campaigns rely on the Local products setting staying off | The setting is force-enabled and the drop-down removed — paired campaigns start serving both channels | Apply the Inventory filter (Channel = Online or Local) to each campaign in the pair | Before Aug 31, 2026 |
| API-automated management writing enable_local | Scripts or platforms set enable_local explicitly per campaign | Field ignored; v25.1+ writes of false hard-error, older versions silently no-op | Strip enable_local writes; migrate opt-outs to a product_channel = ONLINE listing scope | Before Aug 31, 2026 — audit now |
07 — Feed HygieneFeed and StoreBot readiness before local goes live everywhere.
Default-on changes the stakes for local data quality. When local serving was an opt-in, a broken local feed hurt only advertisers who had deliberately turned it on. From August 31, any Shopping campaign attached to an LIA-enabled Merchant Center serves local inventory automatically — which means feed problems and crawl problems surface in live campaigns whether or not anyone opted in.
Two hygiene layers deserve a check. First, the data layer: Google’s local inventory policy requires a local product inventory source carrying store_code, id, availability, quantity, and price attributes, with store codes matching the linked Google Business Profile. A product only qualifies as locally available if a customer can obtain it today or tomorrow at that store — and Google may run inventory verifications to spot-check that submitted price and availability data is accurate, with a 24–48 hour processing window after updates before a discrepancy should be read as a bug.
Second, the crawl layer. Google rewrote its StoreBot troubleshooting documentation on July 17 — covering user-agents, robots.txt, IP blocking, page speed, and reprocessing timing — and the timing is not a coincidence worth ignoring. Once local inventory serves by default, a site that inadvertently blocks Google’s StoreBot crawler risks having now-automatically-serving local data disapproved or suspended. Our companion guide covers how to make sure Google can actually crawl your local product pages — worth running before the deadline, not after a suspension notice.
08 — Action PlanThe pre-Aug 31 playbook for retailers and agencies.
The work compresses into four moves, in priority order:
- Audit every API integration this week. Search your scripts, platform configurations, and agency tooling for writes to
enable_local. On v25.1+ they will start erroring; on older versions they are already on borrowed time as silent no-ops. Remove the writes and note which campaigns depended on them. - Map your campaign pairs. List every Shopping campaign that relies on the Local products setting staying off — typically the online half of an online/local budget split — and apply the Inventory filter (Channel = Online) or a
product_channel = ONLINElisting scope to each, before the switch flips for you. - Run the feed and crawl hygiene pass. Verify local feed attributes and store-code matching in Merchant Center, and confirm StoreBot can reach your product pages. Allow for the 24–48 hour processing window when validating fixes.
- Re-baseline reporting in September. Channel mix will shift for any account where local serving newly activates. Annotate Aug 31 in your reporting, watch budget pacing on previously online-only campaigns, and separate local from online performance before judging either.
Step back and the trend is hard to miss. This is the same consolidation pattern Google has run across its retail stack for two years: defaults broaden, per-channel opt-outs migrate from campaign settings into filters and scopes, and Shopping inherits postures pioneered in Performance Max for Retail. The reasonable projection is that the surviving controls — the Inventory filter, listing scopes — are the durable ones, and that any control which exists as a simple boolean opt-out should be treated as a candidate for removal in future API versions. Build your account structure around the filters, not the booleans.
If your team wants a second set of eyes on the transition — the API audit, the campaign-pair mapping, or the September re-baseline — this is exactly the kind of platform-deadline work our paid media management service handles, and for retailers whose local inventory data is the bottleneck, our ecommerce marketing team runs the Merchant Center and feed-quality side of the same checklist.
09 — ConclusionA small switch, a structural signal.
Default-on is settled. The only variable left is whether your account is ready.
The facts are now unambiguous. Local Inventory Ads become default-on for all Shopping campaigns on August 31, 2026, confirmed by Google’s own developer blog on July 20. The enable_local field stops meaning anything for Shopping campaigns: ignored everywhere, hard-erroring on v25.1+ when set to false, silently swallowed on older API versions.
The genuinely risky failure mode is the quiet one. Scripts on pre-v25.1 API versions will keep reporting success while their opt-outs do nothing — no error, no page, just campaigns serving a channel mix nobody chose. The accounts that handle this well will be the ones that audit their automation now, move their online/local separation onto the Inventory filter or an ONLINE listing scope, and treat the feed and crawl hygiene pass as part of the same deadline.
The larger signal is worth internalizing: Google keeps collapsing per-channel booleans into structural controls, and Shopping keeps inheriting Performance Max postures. Forty-two days is enough runway to get ready — if the work starts this week rather than the last one.