Guides

SKU Naming Conventions for Shopify: How to Build a SKU System That Lasts

What SKUs are really for, how to order the parts of a code, which characters to avoid, and how to keep every code unique once your 3PL and other sales channels are involved.

Nudgesmart Team
7 min read
Live exampleGentle Turn — WellnessInstall free
On this page

Important Notice: This content is for educational purposes only. Results may vary based on your specific business circumstances, industry, market conditions, and implementation. No specific outcomes are guaranteed.

What a SKU is for, and who reads it

A SKU is your own name for one sellable thing. Not the product as a shopper sees it, but the exact variant a person has to find on a shelf, count at stocktake and ship in a box. A navy hoodie in size small and the same hoodie in size large are two SKUs, because they are two different things to pick.

That makes a SKU a working tool rather than a label. It gets read by more people and systems than most store owners expect: whoever packs orders, your 3PL if you use one, your accounting exports, marketplace listings, a supplier's purchase order, and you, six months from now, scanning a sales report. A good SKU system is one all of those readers can understand without asking you.

This guide covers the decisions behind a SKU system. If you already know your products and options and just want the codes, the free SKU generator builds a code for every variant from fixed rules and flags any that clash.

Settle the order of the parts first

Most SKU systems are built from segments: something that identifies the product, then something for each way a variant differs. The order of those segments matters more than it looks, because anything that sorts your SKUs alphabetically (a spreadsheet, a pick list, a stock report) will group them by whatever comes first.

Broad to narrow

The usual shape runs from the broadest attribute to the narrowest. A category or product line, then the product, then options such as colour, then size. Sorted, that keeps a whole style together and lists its sizes in a run, which is how most people think about the range.

Match the shelf, not the website

If your stockroom keeps all the black items together and then splits by size, putting colour before size makes a sorted pick list walk the shelves in order. If you store by size first, flip it. The storefront does not care about SKU order at all, so let the physical layout decide.

Write the rule down

One line in a shared document is enough: which segments, in which order, joined by which separator, in which case. Most messy catalogues are not the result of a bad rule. They are the result of three people each using a slightly different rule they kept in their heads.

Build a small abbreviation dictionary

Short codes only help if the same word always becomes the same letters. Before you code a large range, list every option value you sell and fix its short form once. Black is BLK in one place and BK in another is exactly how duplicates and mis-picks start.

  • Use forms people already read. Sizes like S, M, L and XL, and familiar colour short forms, are understood by most warehouse staff without a key.
  • Keep numbers whole. A 500ml bottle or a waist size of 32 is clearer left as the number than squeezed into letters.
  • Watch for collisions. Similar words such as blush and blossom, or grey and green, can shorten to the same letters. Decide the tie-break once and record it.
  • Keep the length steady within a segment. Codes that line up visually are easier to scan and to spot errors in.
  • Reuse your supplier's codes where they already exist. If a supplier or 3PL has its own convention, matching it saves a translation step on every purchase order.

Characters that cause trouble later

A SKU gets typed, printed on small labels, read aloud over the phone and pasted between systems. Some characters survive that journey badly.

  • Look-alike letters and numbers. The letter O and the number 0, and the letter I, the letter L and the number 1, are easily confused on a thermal label. Many merchants simply avoid O and I in the letter parts of their codes.
  • Spaces. They are invisible at the end of a cell, so two codes that look identical can fail to match in a lookup. Use a hyphen or underscore instead.
  • Slashes, ampersands and other symbols. They can break file names, URLs and some import tools. Stick to letters, numbers and one separator.
  • Leading zeros. A spreadsheet may quietly turn 007 into 7. If your codes start with a number, either start them with a letter instead or format the column as text before you open the file.
  • Mixed case. Some systems treat upper and lower case as different codes and some do not. Pick one case for everything; upper case is the common choice because it reads clearly on labels.

Variants, bundles and one-off items

Every variant a shopper can choose in Shopify should carry its own SKU, because each one is a separate thing to count. The product part of the code stays the same across a style and the option parts change.

Bundles need a decision. If you pre-pack a bundle and store it as a finished item, it is a physical thing on a shelf and deserves its own SKU. If the bundle is assembled at packing time from items you already stock, the components keep their SKUs and the bundle code mainly exists for reporting. Either way, make the bundle code clearly different from its parts so nobody picks one when they meant the other. When you are working out what to charge for a set, the bundle pricing calculator covers the margin side.

One-off items, samples and gift cards are where systems often fall apart. Give them a clear prefix of their own rather than improvising, so they sort together and are easy to exclude from stock reports.

What to leave out of a SKU

A SKU should describe what the item is, which does not change. Anything that can change belongs in a field, not in the code.

  • Price. Prices change with promotions, costs and currency. A code with the price in it is wrong the first time you reprice, and it tells anyone reading a label what you charge.
  • Cost or supplier price. Same problem, plus it exposes your COGS and gross margin to anyone who sees a packing slip.
  • Dates and seasons, unless the item really is seasonal. A year stamp on an evergreen product forces a pointless rename, or leaves a code that looks out of date.
  • Stock location. Bins move. Where something lives is a warehouse field, not part of its identity.
  • Running numbers with no meaning. A pure sequence is unique, but nobody can read it. Keep a number only as a tie-break at the end.
  • Supplier names. You may change suppliers while the product stays the same.

Keeping codes unique across channels and a 3PL

Inside one Shopify store, a duplicate SKU is an annoyance. Once you sell on a marketplace, sync to an inventory tool or hand stock to a 3PL, the SKU often becomes the key that links a listing to its stock. Two items sharing a code can mean one item's stock count quietly overwriting the other's.

  • Treat the SKU as permanent once it is live. Renaming a code can break the link to marketplace listings, 3PL records and past sales history. Plan any clean-up as a project, with every connected system updated at the same time.
  • Check new codes against an export, not memory. Before importing a new range, export your existing products and look for any clash with codes already in use.
  • Never recycle a retired code. Reports and returns can still refer to it. Retire the code and give the replacement a new one.
  • Check length and character limits where you sell. Some marketplaces, label printers and warehouse systems cap SKU length or restrict characters. Check the rules of each channel and partner you use before settling your format.
  • Agree the format with your 3PL before the first delivery. Their receiving team will match cartons to your SKUs, and it is far easier to align on day one.

A checklist before you import

Run through this before any new batch of SKUs goes into your store.

  • The segment order, separator and case are written down and shared.
  • Every option value has one agreed short form, and look-alike collisions are resolved.
  • No codes contain spaces, symbols other than your separator, or confusable characters.
  • No code carries price, cost, location or a supplier name.
  • Every variant has its own code, and bundles are clearly distinct from their parts.
  • New codes have been checked against a fresh export of your existing products.
  • The codes fit the length and character rules of every channel and partner you sync with.
  • The option names and values in your import file match the ones already on each product.

Next step

Once you have settled the order, the dictionary and the characters you will avoid, generating the codes themselves is the quick part. Enter a product and its options in the SKU generator to get a code for every variant, see any clashes it fixed, and download the list to check against your existing catalogue before you import.

Tags

  • sku
  • inventory-management
  • product-variants
  • shopify-operations
  • 3pl

Written by

Nudgesmart Team

Practical guides from the team that builds Nudgesmart

Put it into practice

Popups built for this

Each one is running live. Open one to see it on desktop, or install free and it is waiting in your template library.

Browse all templates
  • Multi-Step Flows · beauty

    Beauty — Cl Quiz A
    Loading…

    Beauty — Cl Quiz A

    Multi-Step Flows · beauty

    Demo only — nothing is saved, no code issued.

    Desktop view
    Loading…

    Beauty — Cl Quiz A

    Multi-Step Flows · beauty

    Demo only — nothing is saved, no code issued.
    Install free
  • Video Popups · pets

    Pets — Playful
    Loading…

    Pets — Playful

    Video Popups · pets

    Demo only — nothing is saved, no code issued.

    Desktop view
    Loading…

    Pets — Playful

    Video Popups · pets

    Demo only — nothing is saved, no code issued.
    Install free
  • Countdown Timers · jewelry

    The Drop — Noir
    Loading…

    The Drop — Noir

    Countdown Timers · jewelry

    Demo only — nothing is saved, no code issued.

    Desktop view
    Loading…

    The Drop — Noir

    Countdown Timers · jewelry

    Demo only — nothing is saved, no code issued.
    Install free
Free tools

Work out the numbers first

Get started

Ready to build your first one?

Install it and pick a template. Or book fifteen minutes and I’ll do the first one with you, on your store — that call costs you nothing either way.

Not ready yet? Get new posts by email.

New posts when I publish them. Unsubscribe anytime.