REST Resource: products

Resource: Product



Product data. After inserting, updating, or deleting a product, it may take several minutes before changes take effect.

JSON representation
{
  "id": string,
  "offerId": string,
  "title": string,
  "description": string,
  "link": string,
  "imageLink": string,
  "additionalImageLinks": [
    string
  ],
  "contentLanguage": string,
  "targetCountry": string,
  "channel": string,
  "expirationDate": string,
  "adult": boolean,
  "kind": string,
  "brand": string,
  "color": string,
  "googleProductCategory": string,
  "gtin": string,
  "itemGroupId": string,
  "material": string,
  "mpn": string,
  "pattern": string,
  "price": {
    object (Price)
  },
  "salePrice": {
    object (Price)
  },
  "salePriceEffectiveDate": string,
  "shipping": [
    {
      object (ProductShipping)
    }
  ],
  "shippingWeight": {
    object (ProductShippingWeight)
  },
  "sizes": [
    string
  ],
  "taxes": [
    {
      object (ProductTax)
    }
  ],
  "customAttributes": [
    {
      object (CustomAttribute)
    }
  ],
  "identifierExists": boolean,
  "installment": {
    object (Installment)
  },
  "loyaltyPoints": {
    object (LoyaltyPoints)
  },
  "multipack": string,
  "customLabel0": string,
  "customLabel1": string,
  "customLabel2": string,
  "customLabel3": string,
  "customLabel4": string,
  "isBundle": boolean,
  "mobileLink": string,
  "availabilityDate": string,
  "shippingLabel": string,
  "unitPricingMeasure": {
    object (ProductUnitPricingMeasure)
  },
  "unitPricingBaseMeasure": {
    object (ProductUnitPricingBaseMeasure)
  },
  "shippingLength": {
    object (ProductShippingDimension)
  },
  "shippingWidth": {
    object (ProductShippingDimension)
  },
  "shippingHeight": {
    object (ProductShippingDimension)
  },
  "displayAdsId": string,
  "displayAdsSimilarIds": [
    string
  ],
  "displayAdsTitle": string,
  "displayAdsLink": string,
  "displayAdsValue": number,
  "sellOnGoogleQuantity": string,
  "promotionIds": [
    string
  ],
  "maxHandlingTime": string,
  "minHandlingTime": string,
  "costOfGoodsSold": {
    object (Price)
  },
  "source": string,
  "includedDestinations": [
    string
  ],
  "excludedDestinations": [
    string
  ],
  "adsGrouping": string,
  "adsLabels": [
    string
  ],
  "adsRedirect": string,
  "productTypes": [
    string
  ],
  "ageGroup": string,
  "availability": string,
  "condition": string,
  "gender": string,
  "sizeSystem": string,
  "sizeType": string,
  "energyEfficiencyClass": string,
  "minEnergyEfficiencyClass": string,
  "maxEnergyEfficiencyClass": string,
  "taxCategory": string,
  "transitTimeLabel": string,
  "productDetails": [
    {
      object (ProductProductDetail)
    }
  ],
  "productHighlights": [
    string
  ],
  "subscriptionCost": {
    object (ProductSubscriptionCost)
  },
  "canonicalLink": string
}
Fields
id

string

The REST ID of the product. Content API methods that operate on products take this as their productId parameter.

The REST ID for a product is of the form channel:contentLanguage:targetCountry: offerId.

offerId

string

Required. A unique identifier for the item. Leading and trailing whitespaces are stripped and multiple whitespaces are replaced by a single whitespace upon submission. Only valid unicode characters are accepted. See the products feed specification for details.

Note: Content API methods that operate on products take the REST ID of the product, not this identifier.

title

string

Title of the item.

description

string

Description of the item.

contentLanguage

string

Required. The two-letter ISO 639-1 language code for the item.

targetCountry

string

Required. The CLDR territory code for the item.

channel

string

Required. The item's channel (online or local).

Acceptable values are:

  • "local"
  • "online"

expirationDate

string

Date on which the item should expire, as specified upon insertion, in ISO 8601 format. The actual expiration date in Google Shopping is exposed in productstatuses as googleExpirationDate and might be earlier if expirationDate is too far in the future.

adult

boolean

Set to true if the item is targeted towards adults.

kind

string

Identifies what kind of resource this is. Value: the fixed string "content#product"

brand

string

Brand of the item.

color

string

Color of the item.

googleProductCategory

string

Google's category of the item (see Google product taxonomy).

gtin

string

Global Trade Item Number (GTIN) of the item.

itemGroupId

string

Shared identifier for all variants of the same product.

material

string

The material of which the item is made.

mpn

string

Manufacturer Part Number (MPN) of the item.

pattern

string

The item's pattern (e.g. polka dots).

price

object (Price)

Price of the item.

salePrice

object (Price)

Advertised sale price of the item.

salePriceEffectiveDate

string

Date range during which the item is on sale (see products data specification).

shipping[]

object (ProductShipping)

Shipping rules.

shippingWeight

object (ProductShippingWeight)

Weight of the item for shipping.

sizes[]

string

Size of the item. Only one value is allowed. For variants with different sizes, insert a separate product for each size with the same itemGroupId value (see size definition).

taxes[]

object (ProductTax)

Tax information.

customAttributes[]

object (CustomAttribute)

A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the feed specification in its generic form (e.g., { "name": "size type", "value": "regular" }). This is useful for submitting attributes not explicitly exposed by the API, such as additional attributes used for Shopping Actions.

identifierExists

boolean

False when the item does not have unique product identifiers appropriate to its category, such as GTIN, MPN, and brand. Required according to the Unique Product Identifier Rules for all target countries except for Canada.

installment

object (Installment)

Number and amount of installments to pay for an item.

loyaltyPoints

object (LoyaltyPoints)

Loyalty points that users receive after purchasing the item. Japan only.

multipack

string (int64 format)

The number of identical products in a merchant-defined multipack.

customLabel0

string

Custom label 0 for custom grouping of items in a Shopping campaign.

customLabel1

string

Custom label 1 for custom grouping of items in a Shopping campaign.

customLabel2

string

Custom label 2 for custom grouping of items in a Shopping campaign.

customLabel3

string

Custom label 3 for custom grouping of items in a Shopping campaign.

customLabel4

string

Custom label 4 for custom grouping of items in a Shopping campaign.

isBundle

boolean

Whether the item is a merchant-defined bundle. A bundle is a custom grouping of different products sold by a merchant for a single price.

availabilityDate

string

The day a pre-ordered product becomes available for delivery, in ISO 8601 format.

shippingLabel

string

The shipping label of the product, used to group product in account-level shipping rules.

unitPricingMeasure

object (ProductUnitPricingMeasure)

The measure and dimension of an item.

unitPricingBaseMeasure

object (ProductUnitPricingBaseMeasure)

The preference of the denominator of the unit price.

shippingLength

object (ProductShippingDimension)

Length of the item for shipping.

shippingWidth

object (ProductShippingDimension)

Width of the item for shipping.

shippingHeight

object (ProductShippingDimension)

Height of the item for shipping.

displayAdsId

string

An identifier for an item for dynamic remarketing campaigns.

displayAdsSimilarIds[]

string

Advertiser-specified recommendations.

displayAdsTitle

string

Title of an item for dynamic remarketing campaigns.

displayAdsValue

number

Offer margin for dynamic remarketing campaigns.

sellOnGoogleQuantity

string (int64 format)

The quantity of the product that is available for selling on Google. Supported only for online products.

promotionIds[]

string

The unique ID of a promotion.

maxHandlingTime

string (int64 format)

Maximal product handling time (in business days).

minHandlingTime

string (int64 format)

Minimal product handling time (in business days).

costOfGoodsSold

object (Price)

Cost of goods sold. Used for gross profit reporting.

source

string

The source of the offer, i.e., how the offer was created.

Acceptable values are:

  • "api"
  • "crawl"
  • "feed"

includedDestinations[]

string

The list of destinations to include for this target (corresponds to checked check boxes in Merchant Center). Default destinations are always included unless provided in excludedDestinations.

excludedDestinations[]

string

The list of destinations to exclude for this target (corresponds to unchecked check boxes in Merchant Center).

adsGrouping

string

Used to group items in an arbitrary way. Only for CPA%, discouraged otherwise.

adsLabels[]

string

Similar to adsGrouping, but only works on CPC.

adsRedirect

string

Allows advertisers to override the item URL when the product is shown within the context of Product Ads.

productTypes[]

string

Categories of the item (formatted as in products data specification).

ageGroup

string

Target age group of the item.

availability

string

Availability status of the item.

condition

string

Condition or state of the item.

gender

string

Target gender of the item.

sizeSystem

string

System in which the size is specified. Recommended for apparel items.

sizeType

string

The cut of the item. Recommended for apparel items.

energyEfficiencyClass

string

The energy efficiency class as defined in EU directive 2010/30/EU.

minEnergyEfficiencyClass

string

The energy efficiency class as defined in EU directive 2010/30/EU.

maxEnergyEfficiencyClass

string

The energy efficiency class as defined in EU directive 2010/30/EU.

taxCategory

string

The tax category of the product, used to configure detailed tax nexus in account-level tax settings.

transitTimeLabel

string

The transit time label of the product, used to group product in account-level transit time tables.

productDetails[]

object (ProductProductDetail)

Technical specification or additional product details.

productHighlights[]

string

Bullet points describing the most relevant highlights of a product.

subscriptionCost

object (ProductSubscriptionCost)

Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract.

ProductShipping

JSON representation
{
  "price": {
    object (Price)
  },
  "country": string,
  "region": string,
  "service": string,
  "locationId": string,
  "locationGroupName": string,
  "postalCode": string
}
Fields
price

object (Price)

Fixed shipping price, represented as a number.

country

string

The CLDR territory code of the country to which an item will ship.

region

string

The geographic region to which a shipping rate applies.

service

string

A free-form description of the service class or delivery speed.

locationId

string (int64 format)

The numeric ID of a location that the shipping rate applies to as defined in the AdWords API.

locationGroupName

string

The location where the shipping is applicable, represented by a location group name.

postalCode

string

The postal code range that the shipping rate applies to, represented by a postal code, a postal code prefix followed by a * wildcard, a range between two postal codes or two postal code prefixes of equal length.

ProductShippingWeight

JSON representation
{
  "value": number,
  "unit": string
}
Fields
value

number

The weight of the product used to calculate the shipping cost of the item.

unit

string

The unit of value.

ProductTax

JSON representation
{
  "rate": number,
  "country": string,
  "region": string,
  "taxShip": boolean,
  "locationId": string,
  "postalCode": string
}
Fields
rate

number

The percentage of tax rate that applies to the item price.

country

string

The country within which the item is taxed, specified as a CLDR territory code.

region

string

The geographic region to which the tax rate applies.

taxShip

boolean

Set to true if tax is charged on shipping.

locationId

string (int64 format)

The numeric ID of a location that the tax rate applies to as defined in the AdWords API.

postalCode

string

The postal code range that the tax rate applies to, represented by a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP codes or two ZIP code prefixes of equal length. Examples: 94114, 94*, 94002-95460, 94*-95*.

Installment

JSON representation
{
  "months": string,
  "amount": {
    object (Price)
  }
}
Fields
months

string (int64 format)

The number of installments the buyer has to pay.

amount

object (Price)

The amount the buyer has to pay per month.

LoyaltyPoints

JSON representation
{
  "name": string,
  "pointsValue": string,
  "ratio": number
}
Fields
name

string

Name of loyalty points program. It is recommended to limit the name to 12 full-width characters or 24 Roman characters.

pointsValue

string (int64 format)

The retailer's loyalty points in absolute value.

ratio

number

The ratio of a point when converted to currency. Google assumes currency based on Merchant Center settings. If ratio is left out, it defaults to 1.0.

ProductUnitPricingMeasure

JSON representation
{
  "value": number,
  "unit": string
}
Fields
value

number

The measure of an item.

unit

string

The unit of the measure.

ProductUnitPricingBaseMeasure

JSON representation
{
  "value": string,
  "unit": string
}
Fields
value

string (int64 format)

The denominator of the unit price.

unit

string

The unit of the denominator.

ProductShippingDimension

JSON representation
{
  "value": number,
  "unit": string
}
Fields
value

number

The dimension of the product used to calculate the shipping cost of the item.

unit

string

The unit of value.

ProductProductDetail

JSON representation
{
  "sectionName": string,
  "attributeName": string,
  "attributeValue": string
}
Fields
sectionName

string

The section header used to group a set of product details.

attributeName

string

The name of the product detail.

attributeValue

string

The value of the product detail.

ProductSubscriptionCost

JSON representation
{
  "period": string,
  "periodLength": string,
  "amount": {
    object (Price)
  }
}
Fields
period

string

The type of subscription period.

periodLength

string (int64 format)

The number of subscription periods the buyer has to pay.

amount

object (Price)

The amount the buyer has to pay per subscription period.

Methods

custombatch

Retrieves, inserts, and deletes multiple products in a single request.

delete

Deletes a product from your Merchant Center account.

get

Retrieves a product from your Merchant Center account.

insert

Uploads a product to your Merchant Center account.

list

Lists the products in your Merchant Center account.