Skip to main content

Product Identifier Management

Product SKU (Stock Keeping Unit) codes are unique identifiers assigned to each product variant in the Shopify store. They are essential for inventory management, order processing, and tracking sales.

Short Code is a unique identifier for each product.

Product SKU code and short codes are defined as follows:

Product Short code Structure

Product short codes are 2 - 5 characters long and may contain letters, numbers, and hyphens (e.g. HRT)

Individual Product SKU Code Structure

Structure: {product-vendor}-{product-short-code}-{product-type}-{product-variant}

Example: HL-HRT-DV-WT

SKU code should not exceed 16 characters in length and should be unique for each product variant.

Each segment of the SKU code has a specific meaning:

  • {product-vendor}: The vendor or brand name of the product. We'll use HL to identify Halio as the vendor.
  • {product-short-code}: A short code that represents the product. This is a unique identifier for each product.
  • {product-type}: The type of product. We'll primarily use the following types:
    • DV: Device
    • AC: Accessory
  • {product-variant}: The variant of the product. Variants can be the acronym of the color or size of the product. For example:
    • BL: Black
    • WT: White
    • SM: Small
    • LG: Large

Bundle SKU Code Structure

A bundle is a single sellable product made up of two or more items. A bundle is identified and sold by its own SKU, while the products inside it keep their individual SKUs (see above). Because a bundle is often built around a purpose, event, or theme — rather than a single product — its SKU is named after that theme instead of any one member product. A bundle may contain different product types and any number of items (2, 3, 4, or more).

A bundle is also frequently sold in more than one configuration — for example a sleep set offered in a white edition and a black edition, where each edition contains different variants of the member products. In Shopify each configuration is a separate product variant, so each one needs its own unique SKU. The bundle SKU therefore has two forms.

Single-configuration bundle

When a bundle is sold in only one configuration, use:

Structure: {product-vendor}-BDL-{bundle-short-code}

Example: HL-BDL-SLEEP

  • {product-vendor}: The vendor or brand name, the same as for individual products. We'll use HL to identify Halio as the vendor.
  • BDL: A fixed marker that identifies the SKU as a bundle. This keeps bundle SKUs visually distinct from individual product SKUs (which use a product type such as DV or AC in this position).
  • {bundle-short-code}: A 2 - 5 character code describing the bundle's purpose, event, or theme — not the name of a product inside it. For example:
    • SLEEP: A sleep-focused set
    • XMAS: A holiday gift bundle
    • STRTR: An entry-level starter kit

The number of pieces and the exact contents are not encoded in the SKU — they live in the Bundle Contents Mapping table below.

Multi-configuration bundle (variants)

When a bundle is sold in multiple configurations, add a variant segment:

Structure: {product-vendor}-BDL-{bundle-short-code}-{variant}

The {variant} segment is chosen one of two ways, depending on how the configurations differ:

  • Readable token — when every configuration differs along a single shared attribute that the whole set has in common (e.g. the entire bundle comes in White or Black), reuse the same color/size token used by individual products: WT, BL, SM, LG.
    • HL-BDL-SLEEP-WT — white edition
    • HL-BDL-SLEEP-BL — black edition
  • Configuration code — when a configuration differs across more than one member product (or along more than one attribute), no single token can describe it. Use a sequential configuration code instead: C01, C02, C03, …
    • HL-BDL-XMAS-C01 — e.g. product A white + product B black
    • HL-BDL-XMAS-C02 — e.g. product A black + product B white

The exact member variants behind each code live in the Bundle Contents Mapping table. Because a configuration code carries no meaning on its own, give the Shopify product/variant title a human-readable name (e.g. "Sleep Bundle – Midnight") so staff can recognise it without reading the SKU.

Guidelines

  • The bundle SKU must be unique and kept separate from the SKUs of the products it contains. Never reuse an individual product SKU as a bundle SKU.
  • Keep {bundle-short-code} to 2 - 5 characters so that, with a -C01-style variant segment appended, the full SKU stays within the 16-character limit (HL-BDL-SLEEP-WT and HL-BDL-STRTR-C01 are both 15 - 16 characters).
  • Pick one variant style per bundle and don't mix them. If a bundle could later gain a configuration that differs across multiple members, start with configuration codes (C01, C02) from the first variant — this avoids having to rename SKUs later.
  • Assign configuration codes once and freeze them. Number them in order (C01, C02, …), never reuse a retired code, and if a configuration's contents change, create a new code rather than editing an existing one. This keeps past orders and printed labels pointing at the right contents.
  • Do not encode the piece count in the SKU; record it (and the exact contents) in the Bundle Contents Mapping table.

Bundle Contents Mapping

Because the bundle SKU does not list its members, maintain a mapping of each bundle variant to the exact individual product SKUs (and quantities) it contains. This table is the single source of truth: it tells warehouse staff what to pick, keeps inventory accurate across the bundle and its components, and records the piece count.

Bundle variant SKUContains (member SKU × qty)Pieces
HL-BDL-SLEEP-WTHL-HRT-DV-WT × 1, HL-EYE-AC-WT × 12
HL-BDL-SLEEP-BLHL-HRT-DV-BL × 1, HL-EYE-AC-BL × 12
HL-BDL-XMAS-C01HL-HRT-DV-WT × 1, HL-EYE-AC-BL × 12
HL-BDL-XMAS-C02HL-HRT-DV-BL × 1, HL-EYE-AC-WT × 12

Illustrations

Variants Bulk