Local inventory ads: how they work in Shopping and Performance Max

Local inventory ads: how they work in Shopping and Performance Max

Google AdsOctober 6, 2026
By Antonio Fernandez

TL;DR

  • Local inventory ads need a Google Business Profile linked to Merchant Center, with store codes that match the inventory feed exactly; Google treats store codes as case-sensitive.
  • The local inventory feed requires id, store_code and availability; availability values are in_stock, limited_availability, on_display_to_order and out_of_stock, submitted in English.
  • A store price in the inventory feed overrides the online price for that store, and outside the US and Canada it must include VAT or GST.
  • Google recommends uploading inventory about 24 hours after linking accounts or changing a store code, so locations finish importing first.

Local inventory ads are Google Shopping ads that show a product together with its availability in a physical store near the shopper, so someone searching on their phone can see that the item is in stock a few kilometres away before they leave home. They run from your existing Shopping or Performance Max campaigns once Google Merchant Center holds two things: product data and a separate local inventory feed that says which store has which item, at what price.

That second feed is where most setups succeed or fail. The ad format itself needs very little campaign work. The hard part is keeping store-level stock and price data accurate enough that Google trusts it and shoppers who walk in find what the ad promised. This guide covers the requirements, how the ads behave in each campaign type, the pickup and in-store labels, a pre-launch checklist and how to measure what happens offline.

What local inventory ads are

A normal Shopping ad sells an online offer: the price, the product image and a click through to a product page. A local inventory ad sells the same product as a store offer. Google adds local signals to the listing, such as "in stock" at a named nearby store and, where the retailer supports it, a pickup option. When the shopper clicks, they reach a page with the store details and the local offer, or the retailer's own product page, depending on how the account is configured.

The ads can appear on the surfaces where Shopping inventory already serves, including Google Search results, the Shopping tab and Google Maps, with Performance Max extending reach into its other channels. Google decides when to show the local version based on the shopper's location and the stock you report for stores near them. You do not write separate ad copy for it; the listing is built from your product and inventory data.

The same data also powers free local listings, the unpaid product listings that can show in-store availability. Turning on local inventory ads and keeping the feed healthy therefore improves both paid and free visibility at once. If you already run Google Shopping campaigns, local inventory ads are an extension of that work rather than a new channel.

What Merchant Center needs before local inventory ads can run

There are three building blocks. Each one has to be in place before a single local ad serves, and a gap in any of them stops the whole program.

A linked Google Business Profile with matching store codes

Merchant Center does not know where your stores are on its own. It reads your locations from Google Business Profile, so the first step is to link the Business Profile account that manages your shops to Merchant Center. Every location needs a store code, and the store code you use in the inventory feed must match the code in Business Profile exactly. Google's specification treats the field as case-sensitive, so "BKK01" and "bkk01" are two different stores as far as the system is concerned.

Google also recommends waiting about 24 hours after linking accounts, or after changing a store code in Business Profile, before uploading the inventory feed. Locations take time to import into Merchant Center, and an inventory file that arrives first will reference stores the system cannot see yet.

Product data and local inventory data

Product data describes the item: title, description, image, brand, product identifiers and the rest of the standard Shopping attributes. Local inventory data describes the item in each store. The two connect through the product ID, so the same ID value must appear in both. If one product is sold in twenty stores, the local inventory feed carries twenty rows with the same ID and twenty different store codes.

The following table shows the core local inventory attributes and what each one controls, based on Google's local inventory data specification.

Product data and local inventory data
AttributeStatusWhat it controls
idRequiredLinks the store row to the product. Must match the ID in your product data.
store_codeRequiredIdentifies the store. Must match the Business Profile store code, case-sensitive.
availabilityRequiredIn-store stock status: in_stock, limited_availability, on_display_to_order or out_of_stock.
price / sale_priceOptionalA store-specific price that overrides the product data price for that store.

Two details in the specification matter more than they look. First, attribute names and supported values must be submitted in English, even when the rest of the account is in another language. Second, the store price must be the price a shopper actually pays at the till. Outside the US and Canada that means the price includes VAT or GST.

Only include products that are generally available to buy in your stores. A product listed as in stock at a branch that does not normally carry it creates exactly the walk-in disappointment that damages both the account and the brand.

Inventory accuracy checks

Because the ad makes a promise about a physical shelf, Google checks that the data is believable. Merchant Center can ask you to confirm inventory accuracy, and stores or products whose data looks unreliable can be limited. Treat the feed as an operational system, not a marketing file: it should come from the point-of-sale or stock system on a regular schedule, not from a spreadsheet someone updates when they remember.

How local inventory ads run in Shopping campaigns

In a standard Shopping campaign, local products are controlled by a campaign setting for products sold in local stores. When it is on and Merchant Center has approved local inventory, the campaign becomes eligible to show local offers alongside online offers for the same products.

Bidding and structure stay the same. You can still split product groups by brand, category or custom label, and the bid strategy applies to both channels. What changes is reporting: Shopping performance can be segmented by channel, so you can see online and local clicks, cost and conversions separately. That split is the only way to tell whether local inventory is earning its place or just shifting clicks from online offers.

If you want local products only in certain campaigns, for example a campaign for stores in Bangkok and another for upcountry branches with different stock, leave the setting on where you want local offers and off elsewhere, then use location targeting so each campaign covers the area its stores serve.

How local inventory ads run in Performance Max

Performance Max campaigns that use a Merchant Center feed can serve local inventory ads when the linked Merchant Center account has approved local inventory. There is no separate local switch to build; the campaign reads the same product and inventory data and decides where to show local offers across its channels.

The bigger decision in Performance Max is the goal. If the account is eligible for store visits conversions, you can include store goals so the campaign optimizes towards people visiting your shops, not only towards online purchases. If you only optimize for online sales, the campaign has no reason to favour local offers, and the stores get whatever traffic happens to arrive.

Feed quality also carries more weight in Performance Max, because you control less of the placement. Clean product titles, correct images, consistent IDs and an inventory feed that refreshes reliably give the system better material. A Google Ads account can run both campaign types, but avoid having a Shopping campaign and a Performance Max campaign compete for the same products in the same area unless you have a clear reason and a way to read the results.

Pickup and in-store badges

The most visible part of a local inventory ad is the label. An "in stock" label at a named nearby store already tells the shopper something an online listing cannot. If you also offer store pickup, Merchant Center lets you describe it through pickup attributes in your inventory data, such as whether pickup is available and how soon the order will be ready. Google can then show pickup labels on eligible listings.

Only promise what the store can deliver. If a pickup label says "today" and the order is not ready until tomorrow, the shopper experience breaks at the counter, and inaccurate pickup data can also put the listing at risk. Before you turn pickup on, check with store operations that staff can find, hold and hand over online orders in the time the label promises.

The "limited availability" and "on display to order" values exist for the same reason. If a branch has only one or two units left, or shows an item on the floor but orders it for delivery, the inventory feed should say so rather than rounding it up to "in stock".

What to check before enabling local inventory ads

Run through these points before you switch anything on. Each one is a common reason for disapprovals, wasted clicks or an ad that never serves.

  1. Country support. Local inventory ads are not available in every country. Confirm in Merchant Center Help that the program is supported where your stores are before planning a budget.
  2. Business Profile hygiene. Every store you want to advertise is verified, has the correct address and opening hours, and carries a unique store code.
  3. ID matching. Pick ten products at random and confirm their IDs are identical in the product feed and the inventory feed.
  4. Refresh schedule. Decide how often the inventory feed updates and make sure the stock system can export at that frequency without manual work.
  5. Price parity with the till. Test a few store prices against the shelf and the receipt, including promotions and VAT.
  6. Store readiness. Store managers know the ads are going live and know what to do when a shopper arrives with a phone showing a product.
  7. Measurement plan. Decide in advance which metrics will judge the test, because store results are slower and less direct than online purchases.

Measuring store visits and local results

Measuring local inventory ads is harder than measuring online Shopping, because the conversion happens in a shop. There are three layers to work with.

The first is click data split by channel. The channel segment in Shopping and product reports shows how many clicks and how much spend went to local offers. That tells you whether the format is serving and at what cost, though not whether it sold anything.

The second is store visits conversions. Google Ads can report store visits for eligible accounts, using aggregated and anonymized location data from users who have opted in. These figures are modeled estimates, not a count of individual people, and they are only available once an account meets Google's eligibility and privacy thresholds. Treat them as directional and compare trends over time instead of reading single days.

The third is your own data. If you can import offline sales, connect loyalty program purchases or at least compare store sales for advertised products against a matched group of stores without local ads, you get a far stronger read than clicks alone. A simple test design, such as turning local offers on for half your branches for a fixed period, often tells you more than any dashboard.

What this means for Thai retailers

For retailers in Thailand, the first question is availability, and the answer is currently yes: Thailand is on Google's list of countries where local inventory ads and free local listings are supported. Country lists do change, so confirm it again in Merchant Center Help before committing time to the feed.

Where the program is available, a few local details matter. Business Profile listings for Thai branches often use Thai store names, but the inventory feed's attribute names and values must still be in English. Store prices must include VAT. Retail chains with many branches across Bangkok and the provinces need a clean store-code system before anything else, and that usually means a conversation between marketing and the IT team that runs the stock system. Good local SEO on the same Business Profile listings supports the ads, since both depend on accurate store data.

Local inventory ads FAQ

Do local inventory ads need their own campaign?

No, local inventory ads run from your existing Shopping or Performance Max campaigns once Merchant Center has approved local inventory. In Shopping campaigns you control them with the local products setting; in Performance Max they serve from the linked feed without a separate switch.

What is the difference between local inventory ads and free local listings?

Local inventory ads are paid placements bought through Google Ads, while free local listings are unpaid product listings that use the same inventory data. One healthy local inventory feed can feed both, which is why fixing the data usually pays off twice.

Can a store price be different from the online price?

Yes, you can submit a store-specific price in the local inventory feed, and it overrides the product data price for that store. It must match what the shopper actually pays at that store, including VAT outside the US and Canada.

Why are my store codes not matching?

Store codes fail to match when the inventory feed and Google Business Profile use different values, including differences in upper and lower case. Google also recommends waiting about 24 hours after linking accounts or changing a store code before uploading inventory, so new locations have time to import.

Getting local inventory ads right

Local inventory ads reward retailers whose store data is already disciplined and punish those whose stock files are guesswork. Start with Business Profile and store codes, connect the inventory feed to the real stock system, test pickup only when stores can deliver it, and set up measurement before launch. If you want help connecting Merchant Center, Shopping and Performance Max around your stores, the ecommerce marketing and Google Shopping team at Relevant Audience can review your feed and campaign setup with you.

Antonio Fernandez

Antonio Fernandez

Founder and CEO of Relevant Audience. With over 15 years of experience in digital marketing strategy, he leads teams across southeast Asia in delivering exceptional results for clients through performance-focused digital solutions.

Share to:
Copy link:

Read us often? Add Relevant Audience as a preferred source so our articles surface more in your Google results.