Shopping Actions product data specification: local products inventory feeds

This article provides details on submitting local product inventory feeds, their attribute requirements, and optional attributes you can provide to Shopping Actions.

The local products inventory feed is a list of the products you sell in each store or warehouse. It’s important to provide as much information as possible to give customers the full picture of key data like availability, pricing, tax rate, and fees.

Note: Not providing a required attribute may prevent that particular item from appearing on Google Express.

About 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.

For best results, adhere to the following submission frequency for both inventory feeds:

  • Full local product inventory feed (required): Submit daily and include all of your inventory.
  • Incremental local product inventory feed (optional): Submit only the items that have changed with their new details multiple times throughout the day. Information for products not included in the feed won't change.

Note: The local product inventory update feed type processes faster than the full local product inventory feed, allowing for more up-to-date information about your Google Express products.

About local product inventory feeds

File type: The local product inventory feed is only available as a delimited text file (tab-delimited is recommended).

Note: XML files aren't supported.

Registering a new feed: Register a new feed, then select either "local product inventory" or "local product inventory update" as the feed type.

Summary of attribute requirements

  Attribute Submission requirements
Required inventory details store code
Required for all products.
Optional inventory details sale price
Recommended as applicable to each item in your feed to give more details about price, quantity, and availability information.
Optional store pickup details

pickup method                     pickup sla

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.

store code - The store identifier from Google My Business

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.

itemid - An identifer of the item

A unique alphanumeric product identifier for an item across all stores.

If you sell the same item in multiple stores, the same itemid appears for multiple store codes. You should include one itemid 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


  • Use the same itemid 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 itemid 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.
quantity - The number of items in stock

The number of items in stock for the store. If you submit items that are temporarily out of stock, you must include a value of '0' for this attribute.

When to include: Required for all items.

Type Integer
Example 4


  • 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.

price - Price of the item

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


  • This attribute is required in either the local products feed for national default pricing or in this feed for any store-specific overrides.

Recommended inventory details

We strongly recommend you use these attributes to give additional information about the price, quantity, and availability of your items.

sale price - Advertised sale price of the item

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.

sale price effective date - Date range during which an item is on sale

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
availability - Availability status of the item
  • '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.


  • 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
weeks of supply - Weeks of inventory for the item

Estimate of how many weeks worth of inventory you have. To calculate, divide the quantity available for purchase by average weekly units sold.

Type Number
Example 2.5

Optional inventory details

You can submit a purchase quantity limit per customer order without restricting your available inventory. Add this attribute to your local products inventory feed.

purchase quantity limit - Purchase limit per customer order

Specify how many units are available to purchase in a single order for all applicable products. Leave the field blank when the item doesn't require a purchase limit.

Type Integer
Example 2

Optional store pickup attributes

You can highlight the store pickup option by adding the following 2 attributes to your feed. Add these attributes 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). For store-specific pickup information, add these attributes to your local product inventory feed.

pickup method - Store pickup option for the item

Specify whether store pickup is available for this offer and whether the pickup option should be shown as buy, reserve, or not supported.

  • 'buy': The entire transaction occurs online
  • 'reserve': The item is reserved online and the transaction occurs in-store
  • '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

pickup SLA - Item store pickup timeline

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. 

Text (string). Must be one of the 2 accepted values: 'same day' or 'next day'

Example same day

Optional additional attributes 

Submit additional information about your products in your Shopping Actions local products feed. See the products feed specification for all possible attributes.

Recommended tax rate and fees details  

We strongly recommend that you submit tax and fee attributes to provide the total price for an item. Google can make some assumptions about this information based on your location, but the only sure way to avoid rejections is to submit accurate information in your feed.

Add tax and fee attributes in your local products feed if you have a national pricing, tax, and fee strategy (e.g. a customer will pay the same tax and fee amount in any of your stores nationally). If you have different taxes and fees across stores, add this information to the local product inventory feed.

Any tax or fee information submitted in your local product inventory feed overrides information submitted in the Shopping Actions local products feed.

Tax rate [tax_rate] - Percentage of the item price

Specify the percent of tax for regular and sale price items.






Note: For an item where you provide 1.00 for the price value and 0.10 for the tax_rate value, the customer will see a charge for $1 and a $0.10 fee.

Fee [fee] - Additional cost to receive an item

Specify the type of fee, the amount, and if it's taxable. To specify if the fee is taxable, use yes or no.





Example (no tax)


Example (taxable)



List of supported fee codes:

  • US_CA_CRV - California Redemption Value

  • US_CA_EWASTE_FEE  - California Electronic Waste Recycling Fee

  • US_CA_PAINT_FEE - California PaintCare Recovery Fee

  • US_HI_CONTAINER_FEE - Hawaii Container Fee

  • US_HI_CONTAINER_DEPOSIT - Hawaii Container Deposit

  • US_NY_CONTAINER_DEPOSIT - New York Container Deposit

  • CONTAINER_DEPOSIT - Container Deposit

  • DEPOSIT - Generic/unspecified Deposit

  • RECYCLING_FEE - Recycling Fee


If you don't have information on the specific fee or the fee breakdown, use the generic code DEPOSIT for all fees.

File format: ​If you're using a CSV file, make sure you have the proper quote escaping so that the fees attribute processes correctly​. You can also use tab-separated values.

Was this article helpful?
How can we improve it?