The local products inventory feed is a list of the products you sell in each store. Some attributes are required for all items, some are required for certain types of items, and others are recommended.
Note: Not providing a required attribute may prevent that particular item from showing up in results, and not providing recommended attributes may impact the ad's performance.
Full and incremental feeds
Inventory price and quantity can change frequently and on a store-by-store basis. Use incremental feeds to make quick updates to inventory data.
-
Full local product inventory feed: Submit daily and include all of your inventory. The feed type is 'Local product inventory.'
-
Incremental local product inventory feed: If the price and/or quantity of your items per store changes throughout the day, submit only the items that have changed with their new details multiple times throughout the day. The feed type is 'Local product inventory update.'
The local product inventory update feed type processes faster than the full local product inventory feed, allowing for more-up-to-date information in your local inventory ads. To make your feed incremental, use the following steps:
- Log in to your Merchant Center account.
- Select Products from the navigation panel on the left, then click Feeds.
- Select the feed you want to edit, then click Settings.
- Check the box that says “Retain items no longer provided in the feed.”
Submit local product inventory feeds
File type: The local product inventory feed is only available as a tab delimited text file or via API.
Note: XML files are now officially supported for this feed type.
Registering a new feed: You’ll follow the standard steps to register a new data feed, but you’ll select either "local product inventory" or "local product inventory update" as the feed type.
Important: Some attributes in this local product inventory feed spec contain spaces and underscores. To make sure you submit attributes with correct characters and spacing, follow the guidelines below for your file type:
- Tab-delimited feeds: Spaces are required. If the attribute has underscores, use a space instead of the "_".
- XML API or JSON API: Underscores are required, and are converted into whitespace when received.
Summary of attribute requirements
Attribute | Submission requirements | |
---|---|---|
Required inventory details |
|
Required for all products. Note: The store code attribute is case-sensitive and must match the store codes submitted in your Google My Business account. If you’re implementing the merchant-hosted local storefront (full) feature, you must submit the price attribute in the local products inventory feed. The price must match the price displayed on your landing page. |
Optional inventory details |
|
Recommended as applicable to each item in your feed to give more details about price, quantity, and availability information. If you’re implementing either version of the merchant-hosted local storefront features, the availability in your local products inventory feed must match the availability displayed on your website page. |
Optional store pickup details |
|
Recommended as applicable to all items in your feed that can be picked up in-store. |
Required inventory details
These attributes describe basic inventory information per item per store.
A unique alphanumeric identifier for each local store. Use the same store codes that you provided in your Google My Business account.
When to include: Required for all items.
Type | String |
Example | 5198 |
Note: The store code attribute is case-sensitive and must match the store codes submitted in your Google My Business account.
A unique alphanumeric product identifier for an item across all stores.
If you sell the same item in multiple stores, the same id
appears for multiple store codes. You should include one id
per store and use quantity
to indicate how many of each item is in stock in that store.
If you have multiple feeds of the same type for one country, IDs of items within different feeds must still be unique. If your SKUs are unique across your inventory and meet the requirements below, we suggest you use your SKUs for this attribute.
When to include: Required for all items.
Type | String |
Example | 421486 |
Important:
- Use the same
id
values in both your local products and local product inventory feeds. - Starting and trailing whitespaces and carriage returns (0x0D) are removed.
- Each sequence of carriage return (0x0D) and whitespace characters (Unicode characters with the whitespace property) is replaced by a single whitespace (0x20).
- Only valid unicode characters are accepted; this excludes the following characters:
- control characters (except carriage return 0x0D)
- function characters
- private area characters
- surrogate pairs
- non assigned code points (in particular any code point larger than 0x10FFFF)
- Once an item is submitted, the
id
can't change when you update your data feed or be used for a different product at a later point in time. - Only include products that are available for purchase in stores.
The number of items in stock for the store. If you submit items that are temporarily out of stock, include a value of "0" for this attribute.
When to include: Required for all items.
Type | Integer |
Example | 4 |
Important:
- Google considers "in stock" items to be those with 3+ availability, "limited availability" to be 1-2, and "out of stock" to be 0.
- For local inventory ads, the number expressed in quantity may be a placeholder representing availability.
Submit only exact quantities to Shopping Actions.
The regular price of your item. If you submit price here and in the local products feed, this price will override the price in the local products feed for the associated store.
When to include: Required for all items.
Type | Number (Currency is automatically assigned based on the country where the store is located.) |
Example | 299.99 |
Important:
- This attribute is required in either the local products feed for national default pricing or in this feed for any store-specific overrides.
Optional inventory details
You can use these attributes to give additional information about the price, quantity, and availability of your items.
The advertised temporary sale price that denotes a store-specific override of the 'price' attribute in this feed and the local products feed.
We recommend submitting the sale price effective date
attribute for any items with sale prices, as this will determine when your sale price should be live. If the sale price effective date
isn't submitted, the sale price will be in effect for that item for as long as it is submitted in your feed.
Type | Number |
Example | 279.99 |
Note: Any price
value submitted in an incremental feed won't automatically remove a sale price
value from a previous feed. To remove a sale price
using the incremental feed, include an expired value in the sale price effective date
attribute.
The dates during which the advertised sale price is effective.
Note: Time zone is optional [YYYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]. If time zone is absent, Google assumes the local time zone for each store. Additionally, note that we are using 24h time for the hours values.
Learn more about sales price definitions.
Type | Text (string), ISO8601, with start and end dates separated by a forward slash (/) |
Example | UTC example: 2009-07-19T17:00:00Z/2009-07-27T05:00:00Z PST example: 2009-07-19T09:00:00-08:00/2009-07-26T21:00:00-08:00 |
- 'in stock': Indicates that the item is in stock at your local store.
- 'out of stock': Indicates that the item is out stock at your local store.
- 'limited availability': Indicates that only a few items are left in stock at your local store.
- 'on display to order': Indicates that the item is on display to order at your local store (e.g. a refrigerator that needs to be shipped from a warehouse). For items on display to order, submit the value 'on display to order' along with the value "1" for the
quantity
attribute.
Important:
- Google considers "in stock" items to be those with 3+ availability, "limited availability" to be 1-2, and "out of stock" to be 0.
- If you use a different value, your item won't be processed. The value you provide for this attribute may or may not appear in Google Shopping results as submitted.
Note: You should only submit items that are out of stock if they have the availability attribute with the value ‘out of stock’ and the quantity attribute with the value "0."
Type | Text (string). Must be one of the 4 accepted values: 'in stock,' 'out of stock,' 'limited availability,' and 'on display to order' |
Example | in stock |
Optional store pickup details
Add these attributes to your local product inventory feed for store-specific pickup information or add them to your local products feed for any items where the values are true in all stores (e.g. a customer can pick up the XYZ television in any of your stores nationally).
Specify the pickup option for this item
- 'buy': the entire transaction occurs online.
- 'reserve': the item is reserved online and the transaction occurs in-store.
- 'ship to store’: the item is purchased online and shipped to a local store for the customer to pick up.
- 'not supported': the item is not available for store pickup.
Type | Text (string). Must be one of the 3 accepted values: 'buy', 'reserve' or 'not supported' |
Example | buy |
Specify the expected date that an order will be ready for pickup, relative to when the order is placed.
- 'same day': indicates that the item is available for pickup the same day that the order is placed, subject to cutoff times.
- 'next day': indicates that the item is available for pickup the following day that the order is placed.
- '1-day': indicates that the item will be shipped to a store for a customer to pick up in 1 day.
- '2-day': indicates that the item will be shipped to a store for a customer to pick up in 2 days.
- '3-day': indicates that the item will be shipped to a store for a customer to pick up in 3 days.
- '4-day': indicates that the item will be shipped to a store for a customer to pick up in 4 days
- '5-day': indicates that the item will be shipped to a store for a customer to pick up in 5 days.
- '6-day': indicates that the item will be shipped to a store for a customer to pick up in 6 days.
- '7-day': indicates that the item will be shipped to a store for a customer to pick up in 7 days.
- ‘multi-week': indicates that the item will be shipped to a store for a customer to pick up in more than one week.
Type | Text (string). Must be one of the 2 accepted values: 'same day' or 'next day' |
Example | same day |