Table of Contents
- What BOPIS looks like on Google Shopping
- Prerequisites before you start
- Setting up the pickup method attribute
- Pickup SLA and setting expectations
- Building your local inventory feed
- Linking Google Business Profile
- Common setup errors
- Measuring BOPIS impact
- Operational readiness
- BOPIS vs. ship-to-store vs. standard delivery
- The business case for investing in BOPIS
- FAQ
Buy Online, Pick Up In Store (BOPIS) has become a standard expectation for omnichannel retailers, and Google Shopping supports it directly through local inventory ads. Done right, BOPIS listings can drive meaningfully higher conversion rates than ship-to-home listings alone, because they remove shipping cost and wait time from the buying decision. Here's the complete technical setup.
What BOPIS Looks Like on Google Shopping
When a shopper searches for a product near their location, Google can surface a "Pick up today" or store-specific availability badge directly on your Shopping listing, pulling from your local inventory data rather than your standard online feed. This requires a distinct feed setup layered on top of your regular product feed โ it isn't automatic just because you have physical store locations.
Prerequisites Before You Start
Before You Configure BOPIS
An active, verified Google Business Profile for each physical store location
A standard Merchant Center product feed already live and approved
Accurate per-store inventory data โ a system of record for what's actually in stock at which location
Store codes that match between your GBP listings and your local inventory feed
Setting Up the Pickup Method Attribute
Google's Local Inventory data specification uses the [pickup_method] attribute to tell Google how a customer picks up their order. Supported values are:
| Value | Meaning |
|---|---|
buy | Customer completes purchase online, picks up in-store โ classic BOPIS |
reserve | Customer reserves online, pays and completes purchase in-store |
ship to store | Item ships to the store location for pickup rather than home delivery |
not supported | No pickup option available for this product at this location |
Since September 1, 2024, [pickup_method] is required (not just optional) if you want to enable store pickup badging on your local inventory listings. If you set this up before that change and haven't revisited it, verify your feed still validates under current requirements.
Pickup SLA and Setting Expectations
The [pickup_SLA] attribute tells Google how quickly an item will be ready for pickup after ordering โ same day, next day, or a specific multi-day window. Accuracy here directly affects customer trust: overpromising "same day" pickup for items that actually take 2 days to prepare generates support complaints and can affect your store rating over time. Set SLA values conservatively based on your actual fulfillment capability at each location, not your fastest-case scenario.
Building Your Local Inventory Feed
Your local inventory feed is a separate data source from your main product feed, submitted through Merchant Center's local inventory or store feed setup. Each row ties a product (by matching ID to your main feed) to a specific store location (by store code) with location-specific:
- Availability (in stock / out of stock / limited availability at that specific store)
- Price (if it differs from online price โ common for stores with local pricing variance)
- [pickup_method] and [pickup_SLA] as covered above
- [quantity], where precise stock counts matter for high-demand items
This can be submitted via a scheduled feed file or through the Content API's local inventory service for merchants with real-time inventory systems that update frequently. API-based updates are strongly preferred over daily static feed files if your in-store stock changes multiple times a day, since a stale "in stock" badge that turns out to be wrong is a fast way to damage customer trust.
Linking Google Business Profile
Local inventory ads require your Merchant Center account to be linked to Google Business Profile, with store codes in your local inventory feed matching the store codes in GBP exactly. Mismatched store codes are one of the most common reasons local inventory data fails to associate with the correct physical location โ double-check this mapping any time you open a new store or change your internal store numbering system.
Common Setup Errors
What Breaks BOPIS Setups
Store code mismatch between GBP and the local inventory feed โ the single most common cause of local availability simply not showing up.
Missing [pickup_method] since the September 2024 requirement change, silently disabling pickup badging.
Stale inventory data from infrequent feed updates causing "available" badges for out-of-stock items.
Unverified Google Business Profile listings for one or more locations, which excludes those stores from local inventory ads entirely.
Overpromised pickup SLA not matching real fulfillment speed, generating complaints even when the technical setup is correct.
Measuring BOPIS Impact Beyond Online Conversions
One of the persistent challenges with BOPIS is that a meaningful share of its value shows up as in-store foot traffic and revenue that standard online conversion tracking never sees โ a shopper who browses online, reserves for pickup, but completes the transaction (or adds items) at the register. To get a fuller picture:
- Use Google's store visit and store sales measurement where available and connected to your Business Profile locations, so in-store outcomes tied to ad exposure are at least partially visible in reporting.
- Track "pickup reserved" or "pickup completed" as distinct conversion events from "purchased online โ shipped," since blending them obscures which behavior your BOPIS setup is actually driving.
- Compare average basket size for BOPIS transactions against ship-to-home transactions โ many retailers find BOPIS customers add items in-store beyond their original online selection, which is a meaningful business case for the feature beyond pure ad performance metrics.
Operational Readiness Behind the Technical Setup
A technically correct BOPIS feed still fails in practice if the in-store operations behind it aren't ready. Before promoting BOPIS heavily through Shopping ads, confirm:
- Staff at each location know how to locate and process online pickup orders without long customer wait times โ a frustrating in-store pickup experience undercuts the entire value proposition and generates negative reviews that can affect your Business Profile rating.
- Your point-of-sale and inventory systems sync closely enough with your local inventory feed that "in stock" claims stay accurate throughout the day, not just at the last feed refresh.
- A clear fallback process exists for when a reserved item turns out to be unavailable at pickup (substitution, refund, or transfer from another location) so that inventory sync gaps don't turn into unresolved customer complaints.
BOPIS vs. Ship-to-Store vs. Standard Delivery
It's worth being precise about which fulfillment model you're actually offering, since the [pickup_method] value and customer expectations differ meaningfully between them:
| Model | Pickup Method Value | Customer Experience |
|---|---|---|
| Classic BOPIS | buy | Pays online, item already in store, picks up same/next day |
| Reserve in-store | reserve | Reserves online, pays and finalizes purchase in-store |
| Ship-to-store | ship to store | Item ships from a warehouse or another location to the chosen store, longer pickup wait than classic BOPIS |
| Standard home delivery | N/A (not a pickup method) | No pickup option at all โ standard shipping |
Mislabeling a ship-to-store offering as classic BOPIS is a common source of customer frustration, since shoppers expect same-day availability from "buy" but ship-to-store can take days. Keep the pickup method value honest to the actual fulfillment timeline your operations can deliver.
The Business Case for Investing in BOPIS Setup
The upfront technical work of local inventory feeds, GBP linking, and pickup method configuration is real, but retailers who've made the investment consistently report two compounding benefits: BOPIS shoppers tend to complete their purchase decision faster (removing shipping wait time from the calculation), and in-store pickup visits create incremental basket growth from add-on purchases made at the register. For multi-location retailers already running omnichannel Google Shopping campaigns, BOPIS setup is one of the highest-leverage technical projects available, precisely because it connects online discovery directly to a revenue channel (in-store visits) that pure e-commerce feeds can't touch on their own.
Frequently Asked Questions
Do I need a separate feed for every store location?
No โ one local inventory feed can include rows for multiple store locations, each identified by its own store code, as long as every location's GBP listing is verified and its store code matches.
How often should I update my local inventory feed?
As frequently as your actual stock changes meaningfully. Daily static feeds work for lower-velocity categories; high-turnover categories benefit from Content API-based real-time updates instead.
Can BOPIS work without a Merchant Center product feed already running?
No โ local inventory data supplements your standard product feed; it doesn't replace it. Get your core feed approved first, then layer local inventory on top.
Will BOPIS listings show if my Google Business Profile isn't verified?
No โ GBP verification per location is a prerequisite. Unverified locations are excluded from local inventory ads regardless of how correctly your feed is configured.
Auditing your local and feed setup?
Run a free scan to check your Merchant Center feed health before layering local inventory and BOPIS on top of it.
Run Free GMC Scan โ