What Is a SKU? How to Build Product Codes That Work
A customer orders a blue shirt in size M on your website. In the warehouse there are three similar blue styles, each in four sizes. If every item has a clear code, someone finds the right one in seconds, the stock count on the site updates and the correct parcel goes out. If there is no code, people start guessing, and the mistake ends up on the customer's doorstep.
That code is called a SKU. It looks like a small technical detail, but your inventory, your reports, your Google and Meta advertising and the connections between your website and your business systems all lean on it.
In this guide you'll learn:
- what a SKU is and what it's made of;
- how it differs from a barcode, a GTIN and a serial number;
- how to design a code system that still works when your catalog grows;
- how to set up SKUs in Webflow, WooCommerce, Shopify and Wix;
- why the same code has to match across advertising, analytics and your ERP.
What a SKU is
SKU stands for Stock Keeping Unit. It's an internal code a business assigns to each item it sells, so it can tell at any moment what it has, how many units there are and where they are.
Three things define a good SKU:
- It's unique. One code describes exactly one item within your business.
- It's yours. No global standard dictates what a SKU should look like. Every business sets its own rules, so the same product will carry different SKUs in different stores.
- It describes a type of item, not a single unit. Ten identical shirts share one SKU.
That last point matters most in an online store. Every combination of options a customer can choose is its own SKU. One shirt in three colors and four sizes is a single product to the shopper, but 12 SKUs in your inventory, because you can run out of navy in size M while everything else is still in stock.

What a SKU is made of: a worked example
A SKU is usually built from a few short segments of Latin letters and digits. There's no required length, but in practice 8 to 15 characters is enough for most businesses. You can encode category, model, brand, color, size, material, flavor, weight or collection, depending on what actually separates one item from another in your range.
Say a clothing store settles on this order: item type, color, size, collection. The code POL-NVY-M-W26 reads like this:
- POL: the item type, a polo shirt.
- NVY: the color, navy.
- M: the size.
- W26: the Winter 2026 collection.
Anyone who knows the rules can tell what they're holding without opening a system. In another store, the exact same shirt would get a completely different code, and that's fine, because the code exists for internal use.
What to leave out of the code
A common source of trouble is encoding information that changes. A SKU should stay the same for the entire life of the product, so it's better to leave out:
- Warehouse location. Shelves change every few months. Location belongs in your inventory system, not in the code.
- Price. Prices move with promotions and supplier updates.
- Supplier name. If you switch suppliers, you don't want to rewrite every code or live with a misleading one.
SKU vs barcode, GTIN and serial number
These terms get mixed up constantly, even inside software. In practice, one product can carry both a SKU and a barcode, and each does a different job.
Barcodes and GTINs
A barcode is a way of displaying a number as bars that a scanner can read. The number itself is usually a GTIN, and unlike a SKU, it follows an international standard from the GS1 organization and is unique worldwide. The most common formats are EAN-13, with 13 digits, and UPC, with 12 digits, which is mainly used in North America.
GTINs are issued through national GS1 member organizations. The first digits of a barcode, the GS1 prefix, show which organization allocated the number: 560 points to GS1 Portugal, for example, and 529 to GS1 Cyprus. That's a record of who allocated the number, not a statement of origin, so you can't use it to work out where a product was made.
Serial numbers and manufacturer part numbers
A serial number identifies one specific unit, such as a particular device for warranty purposes. A manufacturer part number, or MPN, is the code the manufacturer gives to a model, and it's separate from the SKU you set in your store.
The differences at a glance
- SKU: set by your business, unique within your business, identifies a type of item and is used for internal operations.
- Barcode (GTIN): allocated under the GS1 standard, unique worldwide, identifies a product and is used at checkout and across the supply chain.
- MPN: set by the manufacturer and identifies a model.
- Serial number: identifies a single unit and is used for warranty, service and tracking.

Why your business needs SKUs
With ten products, you can get by without them. Once the catalog grows, you sell through several channels or more than one person packs orders, the benefits show up quickly.
Finding items fast
Searching for an exact code returns one result. Searching for "blue shirt" returns a list you have to guess from. In a large warehouse or a store with many variants, that's the difference between a few seconds and a few minutes on every order.
Inventory control and reordering
When every item is counted separately, you can see what's about to run out and reorder on time. For products with an expiry date, you can also spot what needs to sell soon. It also prevents a familiar and embarrassing situation: a customer paying on your website for something you no longer have.
Faster stock counts
During a count, you scan or type in codes and compare the system's figure with what's on the shelf. Instead of handwritten sheets, you get a precise list of discrepancies and know exactly where units went missing.
Fewer picking and returns errors
When the person packing an order matches code to code, the odds of sending the wrong size or color drop. Returns get simpler too: the item goes back into stock under the right code, and your reports show which items keep coming back so you can find out why. Often it's an inaccurate size chart or a photo that doesn't reflect the product.
Sales analysis you can act on
Reports by SKU show what's selling and what's stuck. A style might be doing well while its XL has been sitting in the warehouse for six months. That's how you decide what to reorder and what to discount. To see what else is worth measuring, read our guide to online store metrics.

How to build a SKU system, step by step
It's best to define your system before you upload hundreds of products. Changing codes after the fact is expensive, especially once they're connected to your Google feed and your accounting system.
1. List your catalog. Write down what you sell and which attributes genuinely distinguish one item from another.
2. Pick three or four attributes at most. If something doesn't help identify an item, it doesn't belong in the code. Start with the most general attribute and move toward the most specific.
3. Define fixed abbreviations. Keep one table that says NVY is navy and BLK is black, and have everyone use that same table.
4. Set a consistent length and structure. Uniform codes are easier to read, sort and filter.
5. Test on the awkward cases. Try a product with three attributes, a bundle, a limited edition and an item with no size.
6. Document it and name an owner. A short document and one person who approves new codes will save you from duplicates.
Rules that save you headaches
- Latin letters, digits and hyphens only. Accented characters and non-Latin alphabets such as Greek can look natural, but they can break in exports, CSV files, scanners and integrations. Keep local-language text for the product name.
- No characters that are easy to confuse. Watch out for O and 0, and I and 1, especially in any segment that gets typed by hand.
- No spaces or special characters. They cause problems in URLs, files and API connections.
- No leading zero. Excel tends to strip it, and a long number can turn into scientific notation. Starting the code with a letter solves both problems.
- Never reuse the code of a discontinued product. Otherwise the history of two different products gets mixed together in your reports.
What to do with bundles
A bundle is sold as its own item, so it gets its own SKU, but selling one has to reduce the stock of the items inside it. In a small business you can handle that by hand. Once bundles become a meaningful share of sales, check whether your system supports them natively or build an automation that updates the quantities.
Moving an existing catalog to a new system
If you already run a store with messy codes, you don't have to replace everything at once. Build a table with the old and new SKU for each item, and keep the old code in a separate field so past reports stay readable. Start with new products and your most active categories, and test on a small group how the change affects your Google feed and your advertising catalog before you go further. If the id field in your feed relies on the old code, it's better to leave it as it is and use the new SKU only in your internal systems, so you don't lose performance history.
How to set up SKUs in an online store
All the major ecommerce platforms include a SKU field at variant level. If you're planning a new store, our guide on how to open an online store gives you the wider picture. Here's what to check on each platform.
Webflow
In Webflow Ecommerce, each product variant has its own SKU field alongside price and inventory. Adding options like color and size generates variants, so go through them and fill in the codes before launch. Connections to external systems run through the API or an automation tool. This is part of what we do in our Webflow development work.
WooCommerce
In WooCommerce on WordPress, the field sits in the product's Inventory tab, and a variable product has one for each variation. The platform prevents duplicate SKUs, and recent versions also include a dedicated GTIN field, so you don't need to use the SKU field for the barcode.
Shopify and Wix
Shopify gives each variant separate fields for SKU and barcode. In Wix Stores, you can set a SKU for the product and for each variant, along with inventory tracking. On both platforms, it's worth exporting your catalog to a file from time to time to check for empty rows and duplicate codes.

Why the same code has to match everywhere
A SKU stops being a warehouse matter the moment it connects systems. When your website, advertising, analytics and ERP refer to the same item by the same code, the data joins up. When they don't, the manual work begins.
Google Merchant Center
In your product feed, the id attribute is the item's identifier. Google recommends using your SKU where possible and keeping the value stable. Each variant has its own id, and item_group_id groups variants into one product. If a product has a manufacturer's barcode, it goes in the gtin attribute. You can check the exact requirements in Google Merchant Center Help, under id and gtin.
Meta
In catalog advertising, the identifier sent in Pixel events and through the Conversions API has to match the item's ID in the catalog. If the two don't match, Meta can't connect the person who viewed a product with the product itself, and your catalog ads lose precision.
GA4
In ecommerce events such as view_item and purchase, the item_id parameter usually carries the SKU. That lets you connect item-level sales data with advertising data. Our guide to end-to-end marketing analytics explains how to bring all your channels into one picture.
Price comparison sites and marketplaces
If you also sell through third-party channels, each usually comes with its own requirements and, in most cases, its own file or feed. When every item has a stable SKU, you can generate those files from one source and adapt only the fields each channel asks for. Price and stock then update in one place, rather than being corrected by hand on every channel.
ERP, accounting and CRM
Systems such as SAP Business One and Microsoft Dynamics 365 Business Central manage stock and purchasing by item code, and CRMs use it to record what each customer bought. The connection usually runs through an API and tools such as n8n or Make. If this is new to you, our guide to REST APIs for business explains it in plain language.
It's worth making one system the source of truth, such as your ERP, and letting the others receive codes and quantities from it. Editing stock in two places at once is a recipe for discrepancies.

Common SKU mistakes
- One code for all variants. You can't tell which size has run out, and the stock shown on your website stops matching reality.
- Using the supplier's SKU. Change supplier and your codes fall apart. Keep the supplier's code in a separate field instead.
- Codes that are too long and detailed. Try to squeeze everything into the code and you end up with something nobody can read or type.
- Changing an existing SKU without a plan. History splits across your systems, and your Google feed sees a new product and loses the data it had built up.
- Several sources of truth. The website says one thing, the inventory says another, and nobody knows which is right.
- A barcode in the SKU field. It works in some cases, but you lose the ability to encode internal variants, and products without barcodes are left out.
- No check after an import. A file opened in Excel and saved again can change codes without anyone noticing. After every import, check a sample of items in the destination system.
- No documentation. When the one employee who understands the system leaves, the system leaves with them.
How RJL Studio builds catalogs that work
On online store projects, we start with the structure of the catalog, before the design. We help you define a SKU system that fits your business, implement it in Webflow, WordPress and WooCommerce or Wix, and connect your store to your inventory, your CRM, your Google feed and your Meta catalog.
Has your catalog grown faster than your processes, or do the numbers on your website and in your warehouse refuse to agree? Talk to us and we'll work out together what to fix first.
Frequently asked questions
Does a small business need SKUs?
There's no requirement, but as soon as you have variants or more than one sales channel, codes save time and prevent mistakes. It's best to start with a simple system while your catalog is still small, because it's far easier to set up before you have hundreds of items and connected systems.
Can I use a barcode as a SKU?
You can, if every item you sell has a unique barcode, but in most cases it isn't a good idea. Barcodes are long and hard to read, and not every item has one. A short internal SKU works better, with the barcode kept in a separate field next to it.
How many characters should a SKU have?
There's no fixed rule. For most businesses, 8 to 15 characters is enough to identify an item and still read it easily. What matters more is a consistent structure across the catalog, with each segment clearly meaningful to everyone who works with the codes.
What should I do when a product changes?
A small change, such as new packaging artwork, usually doesn't justify a new code. A change that your customers or your inventory need to distinguish, such as a different material, a new size or a new version, calls for a new SKU. Archive the old code and don't reuse it.
Do services and digital products need SKUs?
They have no physical stock, but a code still helps with invoicing, reporting and analytics. If you sell packages, courses or subscriptions, a stable code for each one lets you see what sold and through which channel, without relying on names that change.
Disclaimer: blog content is for general information and learning only and is accurate as of its publication date. It is not professional, legal, financial or business advice, nor a recommendation or call to take any action. Any use of this information is at the reader's own risk, and we accept no liability for any resulting loss. Links to external websites and tools are provided for convenience only. We recommend consulting a qualified professional before making decisions.