Feed Optimization

Product ID Splitting: The 2026 Requirement for Online vs. In-Store Products

Google now requires separate product IDs for the same item sold online vs. in-store. What changed, who is affected, migration steps, and item_group_id…

Updated 3 min readBoostora Team

What changed

Google now requires that products available both online and in physical stores use separate product IDs in their respective feeds. A product that previously used ID SKU-1234 for both its online listing and its Local Inventory Ad listing must now use two distinct IDs: one for the online channel and a different one for the local/in-store channel.

This requirement applies to merchants running both Shopping ads (online) and Local Inventory Ads (in-store), where the same SKU appears in both a primary product feed and a local inventory feed. If you run only online Shopping ads with no Local Inventory Ads program, this change does not affect you.

Why Google made this change

When the same product ID is used for both online and in-store inventory, Google’s bidding system receives mixed signals. Performance data from both channels is attributed to one product ID, making it difficult for the algorithm to optimize each channel independently:

  • A product that converts well in-store but poorly online will have blended performance signals that Smart Bidding can’t act on correctly

  • Price and availability for online vs. in-store can differ — the same SKU may be €29.99 online and €34.99 in the physical store

  • In-store pickup conversions and online delivery conversions require different optimization signals

Splitting IDs allows Google’s system to treat each channel as a distinct product for bidding and attribution — even though the physical product is identical.

Who is affected

You are affected if you:

  • Submit a primary product feed to Merchant Center for online Shopping ads

  • Also submit a local inventory feed (or use Local Inventory Ads)

  • The same product SKU/ID appears in both feeds

Online-only merchants are not affected.

Migration guide

Step 1: Audit your ID overlap

# Find overlapping IDs across feeds
online_ids = set(primary_feed['id'])
instore_ids = set(local_inventory_feed['id'])
overlapping = online_ids.intersection(instore_ids)
print(f"Products requiring ID split: {len(overlapping)}")

Step 2: Define your naming convention

Common patterns:

  • SKU-1234-online vs. SKU-1234-store

  • online_SKU-1234 vs. store_SKU-1234

  • SKU-1234-W (web) vs. SKU-1234-S (store)

Critical constraint: product IDs cannot exceed 50 characters and must not contain spaces. Verify your new IDs comply before bulk implementation.

Step 3: Update your primary product feed

Change all affected product IDs to use the new online-channel convention. All other attributes (title, price, GTIN, images) remain unchanged — only the id attribute changes.

Step 4: Update your local inventory feed

Change all affected product IDs in the local inventory feed to use the in-store convention. The IDs must now correspond to the new store-channel IDs, not the online-channel IDs.

Step 5: Handle item_group_id

If your products use item_group_id to group variants, you need a consistent strategy. Google’s current guidance is to use the same item_group_id for the same product across channels — they’re still the same physical product, just different channel representations. This maintains consistent variant grouping and simplifies feed management. See the item_group_id attribute guide for details.

Step 6: Submit and verify

After updating both feeds, monitor Merchant Center Diagnostics. You should see online products with new channel-specific IDs and no “conflicting product ID” warnings.

Impact on Smart Bidding performance

Changing a product ID creates a new product entity in Google’s system. The performance history associated with the old ID is not transferred. Smart Bidding will need to build new models for the updated IDs — typically a 2-4 week learning period. Budget slightly conservatively during the transition; ROAS may fluctuate.

Important: don’t delete old IDs immediately

When you introduce new IDs, don’t immediately remove the old ones if any Google Ads campaigns or product groups still reference them. First update campaign product group filters to reference the new IDs, then remove old ones from the feed. Removing a referenced ID causes the campaign to serve nothing for that product group until the filter is updated.

Related guides