Product data mapping for Google

Ask about this Page
Copy for LLM
View as Markdown

Understand how Product information maps to Google Merchant Center fields.

This page defines the field-level mapping required to transform product data from commercetools into the Google Merchant Center product data specification. It covers core product identifiers, content fields, variant grouping, and product detail attributes.

Core product identifiers

These fields uniquely identify each product in Google Merchant Center.

By default, the link field is constructed using a Custom Field called storeUrl on the Store type. This Custom Field should be a CustomFieldStringType containing your storefront URL. Alternatively, you can modify the template to source the base URL from another field or hardcode it.
Google Merchant Center fieldRelated commercetools fieldRequiredMapping logic
idvariant.skuRequiredUse the sku of the ProductVariant as the unique product identifier. Must be stable, unique, and a maximum of 50 characters. Use the same ID for the same product across countries or languages.
titleproductData.name[<locale>]RequiredUse the localized Product name. Limit to 150 characters. Include distinguishing features such as color or size. Don't include promotional text.
descriptionproductData.description[<locale>]RequiredUse the localized Product description. Limit to 5000 characters. Must be accurate and descriptive.
linkstore.custom.fields.storeUrl and productData.slug[<locale>]RequiredConstruct the full product URL by combining the Store URL with the product slug. For example: https://example.com/en/products/{productData.slug[en]}. Maximum of 2000 characters. Must use https.

Product identifiers (GTIN/MPN/Brand)

If using gtin, mpn, or brand, you must create Variant-level Attributes for these fields. These Attributes should be of type AttributeTextType.
Google Merchant Center fieldRelated commercetools fieldRequiredMapping logic
gtinvariant.attributes.gtinStrongly recommendedThe Global Trade Item Number (UPC/EAN/JAN/ISBN). Maximum of 50 numeric characters.
mpnvariant.attributes.mpnRequired, if gtin is not definedThe Manufacturer Part Number. Maximum of 70 characters.
brandvariant.attributes.brandConditionally requiredRequired for all new products, except movies, books, and musical recording brands. Maximum of 70 characters. For products without a brand, leave the field empty rather than using placeholder values.
identifier_existsDerived from gtin, mpn, and brandOptionalA Boolean indicating whether product identifiers are available. Set to false if no GTIN or MPN is available. Default: true.

Product content

If using product_highlight or product_detail, you must create Variant-level Attributes for these fields.
Google Merchant Center fieldRelated commercetools fieldRequiredMapping logic
product_highlightvariant.attributes.highlightsOptionalExtract key features as bullet points. Minimum of 2, maximum of 100 entries. Maximum of 150 characters each. For example: ["Supports Netflix", "4k resolution"].
product_detailvariant.attributesOptionalMap custom Attributes to the format section_name:attribute_name:attribute_value. section_name is optional. Multiple values are separated by commas.

Variant grouping

These fields group product Variants under a common parent product.

Google Merchant Center fieldRelated commercetools fieldRequiredMapping logic
item_group_idParent product SKU or productData.keyConditionally requiredRequired if variants exist. Use the parent product SKU consistently across all Variants. Maximum of 50 characters. Required for free listings for all product Variants.
colorvariant.attributes.colorConditionally requiredRequired for apparel in select regions (Brazil, France, Germany, Japan, UK, US). Maximum of 100 characters. For example: Navy Blue.
sizevariant.attributes.sizeConditionally requiredRequired for apparel in select regions. Maximum of 100 characters. For example: Large, 10.
materialvariant.attributes.materialConditionally requiredRequired if relevant for distinguishing different products in a set of Variants. Maximum of 200 characters. For example: Leather, Cotton.
patternvariant.attributes.patternConditionally requiredRequired if relevant for distinguishing different products in a set of Variants. For example: Striped, Solid.

Apparel-specific attributes

If selling apparel products, you must create Variant-level Attributes for the following fields using AttributeEnumType.
Google Merchant Center fieldRelated commercetools fieldRequiredMapping logic
age_groupvariant.attributes.ageGroupConditionally requiredRequired for all apparel products targeted to people in Brazil, France, Germany, Japan, the UK, and the US. Accepted values: newborn (0-3 months), infant (3-12 months), toddler (1-5 years), kids (5-13 years), adult (13+).
gendervariant.attributes.genderConditionally requiredRequired for all apparel items targeted to people in Brazil, France, Germany, Japan, the UK, and the US, and for all gender-specific products. Accepted values: male, female, unisex.
size_typevariant.attributes.sizeTypeOptionalAccepted values: regular, petite, maternity, big, tall, plus. Default: regular. Up to 2 values.
size_systemvariant.attributes.sizeSystemOptionalMap to the region code. Accepted values: US, UK, EU, DE, FR, JP, CN, IT, BR, MEX, AU.

Product detail attributes

Google Merchant Center fieldRelated commercetools fieldRequiredMapping logic
conditionvariant.attributes.conditionConditionally requiredRequired if not new. Accepted values: new, refurbished, used. Default: new.
adultvariant.attributes.adultConditionally requiredRequired if the product contains adult content. Accepted values: yes, no.
multipackvariant.attributes.multipackConditionally requiredRequired if the product is a multipack. Provide the quantity as a whole number. Required for select countries (Australia, Brazil, Czechia, France, Germany, Italy, Japan, Netherlands, Spain, Switzerland, the UK, and US).
is_bundlevariant.attributes.isBundleConditionally requiredRequired if the product is a bundle. Accepted values: yes, no. Required for select countries.
certificationvariant.attributes.certificationConditionally requiredRequired for products that require certain certification information (for example, energy efficiency ratings). Format: authority:name:code. For example: EC:EPREL:123456. Available for EU, EFTA countries, and the UK.

Product categories

Google Merchant Center fieldRelated commercetools fieldRequiredMapping logic
google_product_categoryvariant.attributes.googleCategoryIdRecommendedUse Google's product taxonomy. Provide the numeric category ID or full path. For example: Apparel & Accessories > Clothing > Dresses or 2271.
product_typeproductData.categories[].ancestors[].name[<locale>]OptionalExpand Category references and join the category path with >. Maximum of 750 characters. Use your full retailer category hierarchy. For example: Home > Kitchen > Appliances > Blenders.

Custom labels

Custom labels allow you to organize products for campaign management. You must create Variant-level Attributes of type AttributeTextType for each label.
Google Merchant Center fieldRelated commercetools fieldRequiredMapping logic
custom_label_0variant.attributes.customLabel0OptionalMaximum of 100 unique values. For example: seasonal_sale.
custom_label_1variant.attributes.customLabel1OptionalMaximum of 100 unique values.
custom_label_2variant.attributes.customLabel2OptionalMaximum of 100 unique values.
custom_label_3variant.attributes.customLabel3OptionalMaximum of 100 unique values.
custom_label_4variant.attributes.customLabel4OptionalMaximum of 100 unique values.
promotion_idvariant.attributes.promotionIdOptionalMaximum of 10 per product. Case-sensitive.

Native checkout fields

The following additional fields are required to enable native checkout through the Universal Commerce Protocol (UCP). These fields are sent through the supplemental data source.

Google Merchant Center fieldTypeRequiredDescription
native_commerceProduct attributeRequiredEligibility flag for native checkout. Ensure product restrictions compliance.
merchant_item_idCustom attributeOptionalUse when the Offer ID does not match the product ID defined in the Checkout component.
consumer_notice.consumer_notice_typeCustom attributeConditionally requiredRegulatory warning requirements. Accepted values: legal_disclaimer, safety_warning, prop_65.
consumer_notice.consumer_notice_messageCustom attributeConditionally requiredWarning message displayed prominently on the checkout screen.
return_policy_labelCustom attributeOptionalOverride return policy per product if needed.