OPEN MODEL

See the product structure. Then explore each field.

The model separates brand, family, product, variant, offer and media instead of putting them in one row.

THE SHAPE / SIX RELATED ENTITIES

Facts stay where they belong: price with the offer, colour with the variant, shared traits with the family.

WHAT DATA REPRESENTS A PRODUCT2026-09-05
A shared product information model connecting merchant-owned identity, product facts, variants, Canadian offers and media as one source of truth across destinations.
01BRAND
02PRODUCT FAMILY
03PRODUCT
04VARIANT
05OFFER
06MEDIA

WHY MISSING DATA STAYS VISIBLE

Not every platform makes every product fact clear.

CCFP keeps those differences visible so missing data is not mistaken for an error—or silently treated as complete.

KNOWN

The value is present and supported.

UNKNOWN

The platform or source does not make it clear.

NOT_APPLICABLE

The field does not apply to this product.

WITHHELD

The value exists but was not provided.

IDENTITY / KEEP THE LAYERS DISTINCT

The merchant controls the main product IDs.

The model keeps durable product identity separate from operational and destination identifiers.

CANONICAL PAIR

`product_group_id` and `variant_id` identify the merchant-governed product family and sellable variant.

SKU

A merchant-controlled stock identifier. Useful operationally, but not the canonical primary identity.

GTIN / MPN

Externally governed interoperability identifiers when legitimately assigned. A missing GTIN is not automatically an error.

CHANNEL IDS

Google, Meta and OpenAI item IDs remain destination-scoped even when a merchant SKU supplies their value.

FIELD REGISTRY / 26 FIELDS

Explore the product facts machines rely on.

Search the public field registry. Open any field to see its grain, type and applicability.

brand.nameBrand nameAuthoritative public brand name.brand

TYPElocalized_string

ENTITYbrand

APPLIES WHENall branded products

brand.websiteBrand websiteCanonical public website for the brand.brand

TYPEurl

ENTITYbrand

APPLIES WHENwhen a public site exists

product.titleProduct titleApproved title at the purchasable variant grain.variant

TYPElocalized_string

ENTITYvariant

APPLIES WHENactive products

product.descriptionDescriptionFactual product description, excluding unsupported claims.product

TYPElocalized_string

ENTITYproduct

APPLIES WHENactive products

product.categoryCanonical categoryChannel-neutral product classification.product

TYPEtaxonomy_reference

ENTITYproduct

APPLIES WHENactive products

product.product_typeMerchant product typeMerchant-defined product hierarchy or type.product

TYPEstring

ENTITYproduct

APPLIES WHENwhen maintained

family.varies_byVariant axesOrdered option axes that distinguish members of a family.product family

TYPEstring_array

ENTITYproduct family

APPLIES WHENproducts with variants

variant.option_valuesVariant option valuesOne value for every declared family axis.variant

TYPEobject

ENTITYvariant

APPLIES WHENproducts with variants

identifier.skuSKUMerchant-controlled stock keeping identifier.variant

TYPEstring

ENTITYvariant

APPLIES WHENwhen merchant uses SKUs

identifier.gtinGTINGS1 Global Trade Item Number assigned to the trade item.variant

TYPEstring

ENTITYvariant

APPLIES WHENwhen legitimately assigned

identifier.mpnMPNManufacturer part number.variant

TYPEstring

ENTITYvariant

APPLIES WHENwhen assigned by manufacturer

attribute.colorColourStandardized colour description.variant

TYPElocalized_string

ENTITYvariant

APPLIES WHENcolour-bearing products

attribute.sizeSizeSize value interpreted with size system and type where relevant.variant

TYPEstring

ENTITYvariant

APPLIES WHENsized products

attribute.materialMaterialPrimary materials or substances.product

TYPEstring_array

ENTITYproduct

APPLIES WHENmaterial-relevant categories

attribute.genderTarget genderTarget-gender classification where the category requires it.product

TYPEcontrolled_string

ENTITYproduct

APPLIES WHENcategory and destination dependent

attribute.age_groupAge groupIntended age group where applicable.product

TYPEcontrolled_string

ENTITYproduct

APPLIES WHENcategory and destination dependent

media.primary_image_urlPrimary image URLStable public HTTPS URL for the primary product image.variant

TYPEurl

ENTITYvariant

APPLIES WHENactive products

media.additional_image_urlsAdditional image URLsSupplementary product image URLs.variant

TYPEurl_array

ENTITYvariant

APPLIES WHENwhen available

offer.urlOffer URLCanonical public landing page for the offer.offer

TYPEurl

ENTITYoffer

APPLIES WHENpublic online offers

offer.pricePriceTyped amount and ISO 4217 currency for a market.offer

TYPEmoney

ENTITYoffer

APPLIES WHENsellable offers

offer.availabilityAvailabilityGoverned state: in_stock, out_of_stock, preorder, or backorder.offer

TYPEcontrolled_string

ENTITYoffer

APPLIES WHENsellable offers

offer.conditionConditionCondition of the offered item.offer

TYPEcontrolled_string

ENTITYoffer

APPLIES WHENdestination or category dependent

offer.marketMarketISO 3166-1 alpha-2 target market.offer

TYPEcountry_code

ENTITYoffer

APPLIES WHENoffers

offer.seller_nameSeller nameSeller responsible for the offer.offer

TYPEstring

ENTITYoffer

APPLIES WHENoffers

offer.price_observed_atPrice observed atTimestamp for the source price observation.offer

TYPEdate_time

ENTITYoffer

APPLIES WHENdynamic offers

offer.availability_observed_atAvailability observed atTimestamp for the source availability observation.offer

TYPEdate_time

ENTITYoffer

APPLIES WHENdynamic offers

DOWNLOAD THE OPEN MODEL

Download the public artifacts with their individual release versions.