Product IDs

There are different kinds of product IDs in the Content API for Shopping.

Offer ID
An offerID is assigned to a product by a merchant. This ID is a string that represents a particular offer. An offerId is unique to the set of offers in the Merchant Center database, and is usually a numeric sequential number. It may also represent an internal SKU number that a merchant assigns to the product.
REST ID

A REST ID is a unique identifier assigned to a product by Google. REST ID is used as the productId in REST API calls. REST IDs are aggregates with the format online:en:US:1111111111. The REST ID consists of the following 4 parts, separated by colons:

  1. Channel ("online" or "local")
  2. Content Language (using the 2-letter designation, for example "en" or "fr")
  3. Target Country (using the 2-letter designation, for example "US" or "FR")
  4. Offer ID

You put this together as channel:contentLanguage:targetCountry:offerId, for example, online:en:US:1111111111.

External Seller ID (Marketplaces)

Marketplaces must assign an external_seller_id to offers uploaded to a multi-seller account. This field represents an individual seller.

external_seller_id values are case-sensitive, and must meet the following criteria:

  • 1-50 characters in length
  • Only alphanumeric ASCII characters, and underscore (_), hyphen (-), period (.), and tilde (~)

This isn't the same as the internal seller_id field.

The following table summarizes some of the IDs that can be associated with a product:

Attribute Description Example Notes
id Generic use of an ID. online:en:US:6 Used inside JSON body of Product to refer to productId.
offerId Another name for item ID. 6 String data type, unique identifier for a product's offer.
REST ID A composite string consisting of the channel, language, country and offer ID. online:en:US:6 Composite ID used with productId.
productId A REST ID string. online:en:US:6 This is a REST ID.
external_seller_id A seller ID chosen by the Marketplace. example-Seller1 Required for multi-seller accounts. Must be 1-50 characters. Case-sensitive. Digits, and special characters _, -, ., and ~ are accepted.