What is a SKU (Stock Keeping Unit) for a product?
A SKU (Stock Keeping Unit) is the code a store assigns to each product, and to each variant, to track its inventory and sales. The merchant decides it, in whatever format they like, and it is unique only within their own store: unlike a GTIN, it cannot identify the same product in another store or channel.
Key takeaways
- The SKU is yours: the store makes it up, in its own format, and each store can give the same product a different SKU.
- There is one per variant: Shopify does not allow two variants with the same SKU, and BigCommerce creates one for every combination of options.
- A good SKU is short, with no spaces or symbols, and every part means something: Shopify advises keeping it to 16 characters or fewer.
- Google reads it in structured data as the merchant's own identifier, and Merchant Center recommends using it as the product ID.
- Once published, do not change it: if it is your feed's ID, changing it wipes the product's history in Merchant Center.
Around the store it is just "the item code," and in the Shopify admin it is the SKU field in the inventory section of each variant.[1]Shopify Help Center. Using SKUs to manage your inventory What matters is whose it is: you make up the SKU, not the manufacturer and not any standards body. It matters to you because it is the piece that ties together the warehouse, the store admin, the Google Merchant Center feed and the structured data on every product page, and because it is often confused with two codes that are not yours: the GTIN, the number under the barcode, and the MPN, the code the manufacturer assigns.
How it works
Shopify defines it as a code you can use internally to track your inventory and analyze your sales, and makes clear it is not the same as a barcode: they serve different purposes and a product can carry both.[1]Shopify Help Center. Using SKUs to manage your inventory Schema.org defines it the same way from the machine side: the SKU is a merchant-specific identifier for a product or service, or for the product to which an offer refers, with a text value, and the types Product, Offer and Demand can carry it.[2]Schema.org (version 30.1, September 16, 2026). sku The key is "merchant-specific": two stores selling the same tripod will almost certainly have two different SKUs.
One per variant
A SKU does not identify a model but a specific unit that is stored and sold. That is why every size and every color gets its own. Shopify enforces it in the admin: SKUs must be unique and two product variants cannot share one.[1]Shopify Help Center. Using SKUs to manage your inventory BigCommerce creates them for you: variants and their SKUs are generated from the product's options, while modifiers, such as an engraving or a personalization, cannot carry a SKU.[3]BigCommerce Support. Variants and Modifiers The difference is logical: a red T-shirt in size M is another box in the warehouse; an engraving is not.
How to build one
Since you decide it, you also decide the format, and Shopify gives some practical rules: numbers alone or mixed with letters; nothing that confuses 0 and 1 with O and I; no special characters, symbols or spaces, because they cause problems in searches; hyphens or underscores to separate parts; as short as you can, no more than 16 characters; and every letter and number with a purpose, with the same abbreviations across the whole catalog.[1]Shopify Help Center. Using SKUs to manage your inventory Its two examples show it well: in 4225-776-3234, a pair of pants from brand 4225, cut 776 and size 32x34; in WAL_BLK_25, a walnut pen with black ink and a 2.5 mm tip.[1]Shopify Help Center. Using SKUs to manage your inventory
Where Google and other channels read it
In the structured data for merchant listings, Google lists sku among the recommended properties: the merchant-specific identifier, a single value, with no whitespace and, ideally, only ASCII characters.[4]Google Search Central. Merchant listing (Product, Offer) structured data In Merchant Center it weighs even more. The id attribute, which identifies each product in the feed, takes 1 to 50 characters, and Google recommends filling it with the SKU because it helps Google understand the structure of the landing page. Every variant needs its own id, and once assigned it should not be changed: changing it overwrites the product and its history.[5]Google Merchant Center Help. ID [id]
In a store
A fictional example: a camera store sells another brand's tripod in two colors, plus a strap it sews itself. The brand, the codes and the numbers are invented, and the GTINs have a correctly calculated check digit so nobody mistakes them for real ones with an error.
| Item | Store SKU | Manufacturer MPN | GTIN |
|---|---|---|---|
| TV-200 tripod, black | TRI-TV200-BLK |
TV-200-BK |
9520000123451 |
| TV-200 tripod, silver | TRI-TV200-SIL |
TV-200-SL |
9520000123468 |
| Leather strap sewn by the store | STR-LEA-BRN |
None | None |
The SKU follows a single rule: family, model and color, separated by hyphens, in under 16 characters.[1]Shopify Help Center. Using SKUs to manage your inventory The other two codes are not chosen: they are copied from the manufacturer, which is why the strap, made by the store itself, only has a SKU. In the JSON-LD of the black tripod's product page, each code goes in its own property:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "TV-200 travel tripod, black",
"sku": "TRI-TV200-BLK",
"mpn": "TV-200-BK",
"gtin13": "9520000123451"
}
The SKU also ends up in less obvious places. Clione, for example, generates product titles by default with the template {Brand} {ProductName} - {SKU}, which the store can change.
What people often get wrong
That the SKU can be renumbered when the way you organize the catalog changes, like renaming a folder. If your feed uses the SKU as the product ID, which is what Google recommends, changing it overwrites the product and its history in Merchant Center, and with it the tracking of its performance.[5]Google Merchant Center Help. ID [id]
How to check it
- Export the catalog and look for duplicate SKUs. Every variant needs its own; on Shopify, two variants cannot share one.[1]Shopify Help Center. Using SKUs to manage your inventory
- Look for spaces, slashes and symbols. Google asks that the
skuin structured data carry no whitespace, and recommends ASCII characters only.[4]Google Search Central. Merchant listing (Product, Offer) structured data - Compare three places: the variant's SKU in the admin, the product's
idin your feed and theskuin the JSON-LD of its product page. They should be the same code.[5]Google Merchant Center Help. ID [id] - Review products with options. On BigCommerce, every combination of options has its SKU; what does not is a modifier.[3]BigCommerce Support. Variants and Modifiers
- Before renaming SKUs, check whether your feed uses them as the ID. If it does, the change resets those products' history in Merchant Center.[5]Google Merchant Center Help. ID [id]
Related concept: GTIN
The GTIN is the other extreme. The SKU is a merchant-specific identifier,[2]Schema.org (version 30.1, September 16, 2026). sku and your SKU for a product need not resemble another store's; the GTIN is a global identifier, the same in any store that sells that item, and Google asks you to include all those that apply to the product.[4]Google Search Central. Merchant listing (Product, Offer) structured data The SKU is for you to find the product in your warehouse; the GTIN is for everyone else to know which product it is. That is why one does not replace the other, and why the MPN, which belongs to the manufacturer, does not either.
To keep going, the structured data reading path orders the rest of the terms, and the entry on Product explains where the SKU and the other identifiers go inside the product page.
Synonyms
- English
- stock keeping unit, SKU number
- Español
- código SKU, referencia interna
Sources
- [1] Shopify Help Center. Using SKUs to manage your inventory. Accessed . ↑ ↑ ↑ ↑ ↑ ↑ ↑
- [2] Schema.org (version 30.1, September 16, 2026). sku. Accessed . ↑ ↑
- [3] BigCommerce Support. Variants and Modifiers. Accessed . ↑ ↑
- [4] Google Search Central. Merchant listing (Product, Offer) structured data. Accessed . ↑ ↑ ↑
- [5] Google Merchant Center Help. ID [id]. Accessed . ↑ ↑ ↑ ↑
Change history
- First English version.
This definition is published under CC BY 4.0. Reuse this definition freely, crediting Clione with a link to this page.
Related terms
GTIN
What a GTIN is, its formats (GTIN-13 or EAN, GTIN-12, GTIN-8, GTIN-14), who assigns it, how it goes on a product page and why you never make one up.
MPN
What an MPN is, when Google Merchant Center requires it, how to mark it up in Schema.org, and why it is not your SKU and never made up.
EAN code
What a product's EAN code is, what its digits mean, how the check digit is calculated, who issues it and how to verify yours before it reaches your feed.
Product variants
What product variants are, how Shopify, Google and Merchant Center model them, and when a size or a color is a variant and not a separate product.
Google Merchant Center
What Google Merchant Center is, how your product data gets there, where Google shows it and how to check that the feed and the product page match.
Product
What the Schema.org Product type is, which properties it carries, what Google requires for product snippets and merchant listings, and how to check it.
Make your catalog easy for bots to read
Clione fills every product page with what bots read best: the JSON-LD graph with its structured data, the meta description and the FAQs. You review and press Push; then we check your live store so it all stays published.