- Local Inventory Ads combine three data sources: product data in Merchant Center, locations from your Google Business Profile and local inventory data for each store.
- The only required fields in local inventory data are id, store_code and availability. Price, quantity, sale price and pickup are optional, and that is exactly where the levers are.
- With Smart Bidding and Performance Max, classic distance-based bid adjustments no longer apply. You steer by proximity through location-based conversion value rules or separate campaigns.
- Measure Local Inventory Ads by online revenue alone, and you underestimate them. Store visits and in-store sales need to feed into bidding, with a value attached.
Customers don’t think in channels; they think in needs. Someone searching on their phone for “men’s running shoes size 43” who sees a matching offer mainly wants to know one thing: can I try them on and take them home today? Retailers with stores have an answer that pure online players can’t offer: immediate availability. Yet many don’t show their store inventory online and lose the sale to competitors who deliver faster.
Google Local Inventory Ads (LIA) show nearby searchers which products are in stock at which store. In this article, we explain how these ads work technically and the eight strategies we use to set them up so they drive store visits and profit.
Local Inventory Ads combine three data sources into a digital shop window
Local Inventory Ads are fundamentally different from classic Shopping ads. Shopping ads lead to your online store and focus on shipping. Local Inventory Ads rely on three sources working together:
- Google Merchant Center: where your product data lives.
- Google Business Profile: where your locations live, with address and opening hours.
- Local inventory data: links each product ID to a store’s store code, its stock level and, if needed, its price.
When all three sources line up, Google shows nearby users the product along with the distance to your store and an “In stock” label. These ads now run through Performance Max or Shopping campaigns with local products enabled.
We focus budget on customers close to your store
Local purchase intent depends heavily on distance. Someone searching “buy coffee machine” 500 meters from your store is far more likely to walk in than someone 30 kilometers away.
Advertisers used to model this with tiered bid adjustments by radius. That approach is now of limited use: Smart Bidding ignores location bid adjustments, and Performance Max doesn't support them at all. So we translate the tiers into conversion value rules by location. Here is an example:
- Radius 1 (0–2 km): value +50%. These users are practically at your door.
- Radius 2 (2–10 km): value +25%. A typical driving distance.
- Radius 3 (10–30 km): no adjustment or a slight reduction, depending on how unique your product range is.
How to implement it: Set up radii around your linked locations and, after 30 days, review store visits and conversion rate by radius. Then adjust the value rules to what your data shows, not to the example values.
We exclude searches that don't drive store visits
Irrelevant search queries burn budget faster than anything else. With Local Inventory Ads this is especially costly, because your goal is to reach users with local purchase intent. People looking for information or online-only offers cost money and deliver nothing.
An example from shoe retail:
- User A searches for “repair leather shoes.”
- User B searches for “leather shoes history.”
- User C searches for “buy men's lace-up shoes leather black size 43.”
Without negative keywords, you pay for A and B too. If store visits are the goal, terms like “shipping,” “online shop comparison” or the names of major marketplaces also belong on the list. They signal that the user has no intention of leaving the house. We maintain two lists:
- Standard list: “repair,” “job,” “used,” “pictures,” “wiki.”
- Product range list: If a sporting goods store doesn't carry bicycles, “bicycle” is excluded, even if it fits the topic.
How to implement it: Review the search terms report for the last 90 days. Filter for high-cost terms with no conversions, and exclude anything that signals research rather than purchase. In Performance Max, you add exclusions at the account or campaign level.
Accurate inventory data earns your customers' trust
Local inventory data quality is the most demanding part, and the most important. A customer who sees “In stock” online, drives to the store and finds an empty shelf is often lost for good, and frequently says so in a review.
For fast-moving products, a daily update is often not enough. Where possible, we push inventory changes directly through the Merchant API, the successor to the Content API for Shopping. Otherwise, we increase how often Merchant Center fetches the data source.
Two attributes are especially useful here:
- Thresholds for
availability: Report “out of stock” once inventory drops below two or three units, not just at zero. This absorbs inventory errors. - Store prices with
sale_price: Local promotions that apply only in store belong in the data withsale_priceandsale_price_effective_date. They give people a strong reason to visit.
How to implement it: Check Merchant Center for warnings about price or inventory mismatches. Ask your IT team how often inventory is sent from your merchandise management system.
Your Business Profile is the first page your customers see
Your Google Business Profile acts as a landing page before the customer even clicks. Local Inventory Ads pull opening hours and address straight from the profile. If that information is wrong, the ad is wasted.
Photo quality is often underestimated. Anyone who clicks through to your store from an ad should see an inviting storefront, not a pixelated shot of the facade from 2018. A well-kept profile pays off twice: in your ads and in organic map results. Our tips for your Google Business Profile explain how to build one.
How to implement it: Check every linked location. Are opening hours up to date, including public holidays? Do you have recent interior photos? Do you respond to reviews?
We send clicks to a product page with nearest-store inventory
Where the click lands is a strategic decision. Google currently offers three options:
- Product pages with in-store availability: The click goes to your website, which shows the price and lets the user choose a store.
- Store-specific product pages: The link template contains the ValueTrack parameter
{store_code}. The user lands directly on the page with their store's inventory and price, with no extra step. - Google-hosted product details: Google hosts the page itself. It's quick to set up, but you have no control over design or cross-selling, and the “Pick up today” and “Pick up later” options don't work with it.
Our recommendation: If your shop supports it technically, go with store-specific product pages on your own website. The user is already in your brand environment, you can offer relevant accessories, and you own the visit data. That sets you up for larger baskets and better margin per visit.
How to implement it: Check whether your shop can serve product pages based on a location parameter. If it can, switch the product page setting in Merchant Center. Note: You can only switch once the current option has been approved; ads keep running during the review.
Store visits are the real currency of local ads
With Local Inventory Ads, clicks and CPCs only tell half the story. What counts is store visits. Google models them from aggregated, anonymized location data and only reports them once an account has enough data.
We look beyond the total:
- By day and time: If Saturday-morning clicks drive more visits, that time slot gets more budget.
- By device: Local Inventory Ads are used mostly on smartphones, on the go. A high share of desktop clicks is a signal to review your targeting.
If store visits are to feed into value-based bidding, you need a traceable value per visit. A simple example:
Wert je Ladenbesuch = durchschnittlicher Warenkorb im Laden × Kaufquote im Laden
With a €50 basket and a 20% purchase rate, a store visit is worth €10. If you optimize for profit, use contribution margin instead of basket value.
We measure results across every channel, online and in store
Many advertisers judge Local Inventory Ads by online revenue alone. The result: campaigns get switched off because they look unprofitable.
Example: A user clicks an ad for a €1,000 TV but buys it in store rather than online. Google Ads reports €2 in cost and €0 in revenue. In reality, that €2 generated €1,000 in revenue.
Store sales close this gap. You upload transactions from your POS system to Google, hashed and privacy-compliant, for example when customers have shared an email address or phone number through a loyalty card. Google matches them against ad interactions. Uploads now run through the Data Manager API and are only available to approved accounts. Our guide to conversion tracking explains how to set up conversions properly.
How to implement it: If store sales matching is too complex to start with, at least add store visits, using the value calculated above, to your “Maximize conversion value” bid strategy.
Pickup options make your inventory tangible
Customers expect flexibility. Your inventory should be visible and also available to reserve or pick up. Google shows dedicated labels in the ads for this:
- Pick up today: signals that the product is available immediately.
- Pick up later: signals that the product can be delivered to the store.
This is controlled via the attribute pickup_method with the values buy, reserve, ship_to_store or not_supported and via pickup_sla, which specifies when the item is ready for pickup.
How to implement it: Review your logistics. If you offer click & collect, set up pickup in Merchant Center. The label sets your ad apart from competitors that only ship.
Clean local inventory data underpins all eight strategies
Most errors originate in local inventory data. Your standard online feed alone isn't enough to run Local Inventory Ads. You need a dedicated local inventory data source with the following fields:
| Attribute | Meaning | Status |
|---|---|---|
id |
must exactly match the ID in the product data | Required |
store_code |
Store code, identical to the code in the Business Profile | Required |
availability |
Availability in this store | Required |
price |
Price in this store, if it differs from the online price | optional |
quantity |
Inventory in this store | optional |
sale_price |
Sale price in this store | optional |
pickup_method, pickup_sla |
In-store pickup | optional, pickup_sla required for pickup information |
If you change a store code or relink a profile, location sync can take up to 24 hours. Wait until then to upload inventory data.
Your store inventory shows up in AI search too
More and more purchase decisions start with a question to Google's AI Mode or ChatGPT. Google's guide to generative search says that Merchant Center data and the Business Profile help products and offers appear in AI answers as well as in regular search results.
For retailers with physical stores, this means the same data that powers your Local Inventory Ads also determines whether your store appears in an AI answer as a nearby place to buy. Complete, up-to-date inventory and location data pays off in both channels.
Conclusion: Your store inventory is your strongest selling point
Local Inventory Ads are brick-and-mortar retail's answer to the convenience of online shopping. You have the inventory and the locations. With clean data, product pages that show store inventory and measurement that includes store visits and store sales, you reach customers at the exact moment they want a product now.
Ultimately, it comes down to what you optimize for. Count only online revenue, and you'll switch off profitable campaigns. Value store visits and store sales by their contribution margin, and you'll see what your ads really add to profit.



