The local products inventory feed is a list of the products that you sell in each shop. Some attributes are required for all items, some are required for certain types of items, and others are recommended.
Inventory price and quantity can change frequently and on a shop-by-shop basis. You can increase the feed frequency to carry out more frequent updates of your inventory data. Contact our support team using the contact form if you encounter issues with your feed frequency. Also, be aware that it can take up to 24 hours to sync your business locations into your Merchant Center account, so we recommend that you upload your inventory feed 24 hours after linking accounts or after a shop code is changed or updated in your Business Profiles.
To submit product data through API, learn more about the Google Content API.
Submit local product inventory feeds
File type: The local product inventory feed is available as a tab-delimited text file, XML file or via API.
Create a new local product inventory feed: To create and register a new local product inventory feed, follow these instructions.
Important: Some attributes in this local product inventory feed spec contain spaces and underscores. To make sure that 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 |
Shop code |
Required for all products. Note: The shop code |
Optional inventory details |
Sale price effective date Quantity |
Recommended as applicable to each item in your feed to give more details about price, quantity and same-day delivery. Note that price is optional if it's a national default pricing. You must provide the price if shop-specific price changes. |
Optional click and collect details |
Collection method Collection SLA |
Recommended as applicable to all of the items in your feed that can be collected in store. Important: From 1 September 2024, collection method |
Optional local delivery details | Local delivery label [local shipping label] |
Required in your feed if you want to enable same-day delivery where only certain products at an individual shop are eligible for same-day delivery. |
Required inventory details
These attributes describe basic inventory information by item by shop.
[store_code]
– The shop identifier from Business Profiles
A unique alphanumeric identifier for each local business. This attribute is case-sensitive and must match the shop codes that you submitted in your Business Profiles.
When to include: Required for all of the items in your feed.
Type | Text (string) |
Text/tab-delimited example | Shop123 |
XML example | <g:store_code>Shop123</g:store_code> |
[id]
– An identifier of the item
A unique alphanumeric product identifier for an item across all of your shops.
If you sell the same item in multiple shops, the same ID appears for multiple shop codes. You should include one ID [id]
attribute per shop and use the availability [availability]
attribute to indicate if an item is in stock in that shop.
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 that you use your SKUs for this attribute.
When to include: Required for all of the items in your feed.
Type | Text (string) |
Text/tab-delimited example | 421486 |
XML example | <g:id>421486</g:id> |
Important:
- Use the same ID values in both your primary 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, excluding 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)
- When an item is submitted, the ID
[id]
attribute can't change when you update your data feed or be used for a different product at a later point in time. - Only include the products that are available for purchase in shops.
[availability]
– Availability status of the item
- 'in stock': Indicates that the item is in stock at your local shop.
- 'out of stock': Indicates that the item is out of stock at your local shop.
- 'limited availability': Indicates that only a few items are left in stock at your local shop.
- 'on display to order': Indicates that the item is on display to order at your local shop (for example, a refrigerator that needs to be dispatched from a warehouse). If you're also providing the attribute quantity
[quantity]
, use the value '1' for on display to order items.
Type | Text (string). Must be one of the four accepted values: 'in stock', 'out of stock', 'limited availability' or 'on display to order'. |
Text/tab-delimited example | in stock |
XML example | <g:availability>in stock</g:availability> |
Optional inventory details
You can use these attributes to give additional information about the price, quantity and availability of your items.
[price]
– Price of the item
The usual price of your item. If you submit a price value in the inventory feed and in the primary feed, the inventory feed price will override the price in the primary feed for the associated shop.
When to include: Required for all of the items in your feed.
Type | Number (Currency is assigned automatically based on the country where the shop is located.) |
Text/tab-delimited example | 299.99 |
XML example | <g:price>299.99</g:price> |
[sale_price]
– Advertised sale price of the item
The advertised temporary sale price that denotes a shop-specific override of the price [price]
attribute in this feed and the local products feed.
We recommend that you submit the sale price effective date [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 |
Text/tab-delimited example | 279.99 |
XML example | <g:sale_price>279.99</g:sale_price> |
[sale_price_effective_date]
attribute.[sale_price_effective_date]
– Date range during which an item is on sale
The dates during which the advertised sale price is effective.
Learn more about sales price definitions
Type | Text (string), ISO8601, with start and end dates separated by a forward slash (/) |
Text/tab-delimited example |
UTC example: All time values use the 24 hour format. |
XML example | <g:sale_price_effective_date>2021-07-19T09:00-0800/2021-07-26T21:00-0800</g:sale_price_effective_date> |
[quantity]
– The number of items in stock
The number of items in stock for the shop. If you submit items that are temporarily out of stock, include a value of '0' for this attribute.
Quantity is no longer a required attribute. Instead, ensure that you submit availability for all of your inventory.
Type | Integer |
Text/tab-delimited example | 4 |
XML example | <g:quantity>4</g:quantity> |
Important:
- Google considers 'in stock' items to be those with 3 or more available, 'limited availability' to be 1–2 available and 'out of stock' to be 0.
- If you choose to submit quantity and availability, inventory is classified based on the lower value between your availability and quantity.
Optional click and collect details
Add these attributes to your local product inventory feed for shop-specific collection information.
Collection method[pickup_method]
– Click and collect option for the item
[pickup_method]
will no longer be required.Specify the collection option for this item.
- 'buy': The entire transaction occurs online.
- 'reserve': The item is reserved online and the transaction occurs in store.
- 'deliver to shop': The item is purchased online and delivered to a local shop for the customer to collect.
- 'not supported': The item is not available for click and collect.
Type | Text (string). Must be one of the four accepted values:
'buy', 'reserve', 'deliver to shop' or 'not supported' |
Text/tab-delimited example | buy |
XML example | <g:pickup_method>buy</g:pickup_method> |
[pickup_sla]
– Item click and collect timeline
Specify the expected date that an order will be ready for collection, relative to when the order is placed.
- 'same day': Indicates that the item is available for collection on the same day that the order is placed, subject to cut-off times.
- 'next day': Indicates that the item is available for collection the day after the order is placed.
- '2-day': Indicates that the item will be delivered to a shop for a customer to collect in two days.
- '3-day': Indicates that the item will be delivered to a shop for a customer to collect in three days.
- '4-day': Indicates that the item will be delivered to a shop for a customer to collect in four days.
- '5-day': Indicates that the item will be delivered to a shop for a customer to collect in five days.
- '6-day': Indicates that the item will be delivered to a shop for a customer to collect in six days.
- 'multi-week': Indicates that the item will be dispatched to a shop for a customer to collect in one week or more.
Type | Text (string). Must be one of the eight accepted values:
'same day', 'next day', '2-day', '3-day', '4-day', '5-day', '6-day' or 'multi-week' |
Text/tab-delimited example | same day |
XML example | <g:pickup_sla>same_day</g:pickup_sla> |
Optional local delivery details
Add this attribute to your local product inventory feed for local delivery information.
Local delivery label [local_shipping_label]
If you want to enable same-day delivery where only some of your local inventory in a particular shop is available for same-day delivery, the local delivery label [local_shipping_label]
attribute must be added to your local product inventory feeds.
The value submitted for this attribute should be the name of the same-day delivery label or labels that you've created in your account-level same-day delivery settings. Each same-day delivery label represents one unique group of same-day delivery settings and will be added to the selected eligible products in your local product inventory feed.
To further configure your same-day delivery items, you can set your maximum delivery radius in either miles or kilometres. Cut-off times can also be set by the number of hours before closing time when orders are accepted to be delivered within the day, or by a specific time. You can indicate if your items available for same-day delivery, when ordered after the cut-off time, are eligible for next-day delivery.
This attribute is optional if either all of your shops and all of your products offer same-day delivery, or if all of your products in a list of eligible shops offer same-day delivery. Learn more about same-day delivery.