GTIN, MPN, and Brand in Product Schema: Complete Guide to Product Identifiers
Last Updated: February 25, 2026 · 15 min read
If you sell physical products online, there are two types of rich results available to you: Product Snippets (price and rating in search results) and Merchant Center Listings (appearing on the Google Shopping tab and Google product knowledge panels). Product Snippets do not require a GTIN. Merchant Center Listings do. Adding GTIN, MPN, and brand to your product schema is what unlocks the full range of Google shopping surfaces — and it is something most stores skip entirely.
What are GTIN, MPN, and brand?
GTIN (Global Trade Item Number)
Schema: gtin, gtin8, gtin12, gtin13, gtin14A standardised identifier for a physical product. The number on the barcode. GTINs come in different formats: GTIN-8 (8 digits, used for small products), GTIN-12 (12 digits — this is the UPC barcode used in the US and Canada), GTIN-13 (13 digits — this is the EAN barcode used in Europe), and GTIN-14 (14 digits, for outer cases). ISBN (books) and ISSN (periodicals) are also GTINs.
MPN (Manufacturer Part Number)
Schema: mpnA reference number assigned by the manufacturer to identify a specific product model. Unlike GTINs, MPNs are not globally standardised — they are assigned by each manufacturer. An MPN is typically found on the product itself, in the manufacturer's catalogue, or in the documentation that comes in the box.
Brand
Schema: brand (as Brand object with name)The manufacturer or brand name for the product. This is the brand whose name appears on the product, not the retailer selling it. For own-brand / white-label products, your store name is the brand.
Product Snippets vs Merchant Listings — what is the difference?
| Feature | Product Snippet | Merchant Listing |
|---|---|---|
| Where it appears | Organic search results | Google Shopping tab + product knowledge panels |
| Requires GTIN? | ❌ No | ✅ Yes (for most products) |
| Requires Merchant Center account? | ❌ No | ✅ Yes |
| Shows price in search? | ✅ Yes | ✅ Yes |
| Shows star rating? | ✅ If AggregateRating present | ✅ Yes |
| Shows shipping info? | ⚠️ Sometimes | ✅ Yes |
| Minimum schema required | Product + Offer + name | Product + Offer + GTIN/MPN + brand |
How to find your product GTINs
If you resell branded products, the manufacturer assigns the GTIN. Here are the most reliable ways to find it:
Physical barcode
The number printed under the barcode on the product packaging. 12-digit numbers are UPC (GTIN-12). 13-digit numbers are EAN (GTIN-13). This is the most authoritative source.
Manufacturer product catalogue
Most manufacturers publish product catalogues (PDF or web) that list part numbers, barcodes, and product identifiers for all SKUs. Your supplier or distributor can usually provide these.
Open Product Data
Services like Open Food Facts (food products), the GS1 database, and Buycott can help identify GTIN numbers for common consumer products.
Amazon product listing
If the same product is sold on Amazon, scroll to the Product Details section on the Amazon listing page. It nearly always shows the ASIN plus the UPC or EAN.
Supplier order confirmation
When ordering from a distributor or wholesale supplier, the order documentation often includes GTIN or EAN numbers alongside SKUs.
Complete Product schema with GTIN, MPN, and brand
Here is the full JSON-LD structure for a product that includes all identifier fields, AggregateRating, shipping details, and return policy:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Sony WH-1000XM5 Wireless Noise Cancelling Headphones",
"image": [
"https://yourstore.com/products/sony-xm5/front.jpg",
"https://yourstore.com/products/sony-xm5/side.jpg"
],
"description": "Industry-leading noise cancellation. 30-hour battery. Lightweight design at 250g.",
"sku": "SONY-XM5-BLK",
"gtin13": "4548736132276",
"mpn": "WH-1000XM5/B",
"brand": {
"@type": "Brand",
"name": "Sony"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"bestRating": "5",
"reviewCount": "2847"
},
"offers": {
"@type": "Offer",
"url": "https://yourstore.com/products/sony-wh-1000xm5",
"price": "349.00",
"priceCurrency": "GBP",
"priceValidUntil": "2026-12-31",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition",
"seller": {
"@type": "Organization",
"name": "Your Store"
},
"shippingDetails": {
"@type": "OfferShippingDetails",
"shippingRate": {
"@type": "MonetaryAmount",
"value": "0",
"currency": "GBP"
},
"deliveryTime": {
"@type": "ShippingDeliveryTime",
"handlingTime": {
"@type": "QuantitativeValue",
"minValue": 0, "maxValue": 1, "unitCode": "DAY"
},
"transitTime": {
"@type": "QuantitativeValue",
"minValue": 1, "maxValue": 3, "unitCode": "DAY"
}
}
},
"hasMerchantReturnPolicy": {
"@type": "MerchantReturnPolicy",
"applicableCountry": "GB",
"returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
"merchantReturnDays": 30,
"returnMethod": "https://schema.org/ReturnByMail",
"returnFees": "https://schema.org/FreeReturn"
}
}
}Adding GTIN in Shopify
Shopify has a built-in barcode/GTIN field on each product variant. Go to Products → your product → each variant → Barcode. Enter the GTIN-13 (EAN) or GTIN-12 (UPC) in this field.
Then in your product.liquid schema block, output it:
{% assign variant = product.selected_or_first_available_variant %}
{
"@context": "https://schema.org",
"@type": "Product",
"name": {{ product.title | json }},
"sku": {{ variant.sku | json }},
{% if variant.barcode and variant.barcode != "" %}
"gtin13": {{ variant.barcode | json }},
{% endif %}
"brand": {
"@type": "Brand",
"name": {{ product.vendor | json }}
},
"mpn": {{ product.metafields.custom.mpn | json }},
"offers": {
"@type": "Offer",
"price": "{{ variant.price | money_without_currency | remove: ',' }}",
"priceCurrency": {{ cart.currency.iso_code | json }},
"availability": {% if product.available %}"https://schema.org/InStock"{% else %}"https://schema.org/OutOfStock"{% endif %}
}
}For MPN, which Shopify does not have a native field for, use a product metafield. Create a metafield under Settings → Custom Data → Products with namespace custom and key mpn. You can then populate it per product and output it in Liquid as shown above.
Adding GTIN in WooCommerce
WooCommerce does not have a native GTIN field. The standard approach is to use a plugin or a simple custom field:
Perfect Brands for WooCommerce (free)
Adds a GTIN field to each product. Also adds brand schema. One of the cleanest implementations.
GTIN Code for WooCommerce (free)
Dedicated plugin. Adds EAN/UPC/GTIN fields per product and variant. Outputs in Product schema automatically.
Custom field + functions.php
Add a custom meta box to the WooCommerce product editor with a GTIN field, then add it to schema in the woocommerce_structured_data_product filter.
// functions.php — add GTIN to WooCommerce product schema
add_filter( 'woocommerce_structured_data_product', function( $markup, $product ) {
$gtin = get_post_meta( $product->get_id(), '_gtin', true );
$mpn = get_post_meta( $product->get_id(), '_mpn', true );
if ( $gtin ) {
$markup['gtin13'] = $gtin;
}
if ( $mpn ) {
$markup['mpn'] = $mpn;
}
if ( $product->get_attribute( 'pa_brand' ) ) {
$markup['brand'] = array(
'@type' => 'Brand',
'name' => $product->get_attribute( 'pa_brand' ),
);
}
return $markup;
}, 10, 2 );Products without GTINs
Handmade products, custom items, own-brand products, and made-to-order goods will not have a GTIN registered in the GS1 database. If you sell these:
- →
Do not invent a GTIN
Google cross-references GTINs against the GS1 database. A GTIN you made up will fail validation and can result in your products being excluded from Merchant Listings.
- →
Use MPN + brand instead
For products without a GTIN, Google accepts MPN + brand as alternative identifiers for Merchant Listings. Your own part number + your brand name qualifies.
- →
Register your own GTINs
If you manufacture products and want GTINs, register with GS1 (gs1.org). A GS1 Company Prefix gives you a range of GTIN-13 numbers you can assign to your products.
Validate Your Product Schema
Check whether your GTIN, MPN, brand, and offers block are formatted correctly for Google Merchant Listing eligibility.
Validate Product Schema →