Handle
A handle is Shopify’s unique name for a product, used in the product’s web address and to hold its rows together in a CSV import.
- URL handle
- Shopify handle
What it means
Every Shopify product has a handle. Shopify calls it “The unique identifier for each product”, and it also appears in the product page’s web address. It takes letters, numbers and dashes, with no spaces.1
Unless you set one, Shopify makes it from the title, in lower case, with hyphens for spaces. Two products called Potion get the handles potion and potion-1, and once a product exists, “changing the product title doesn’t update the handle”.2
In a product CSV, the handle holds a product together. Rows that share a handle are read as one product, the later rows adding its variants and images.1 An import also uses it to recognise a product the store already has.
Think of it like this
It works like the label on a folder. Every sheet filed under the same label ends up in one folder, so each product needs its own label and no two products can share one.
For example
A supplier lists FITTED SHEET 400TC WHITE KING, DOUBLE and SINGLE as three products. With handles made from those titles, they import as three separate products. With one handle, 400-thread-count-fitted-sheet, on all three rows, they import as one product with the option Size and three variants.1
Why it matters
Not to be confused with
A handle is not a SKU. The handle names the product, while each variant carries its own SKU, and a Shopify import matches on the handle, not the SKU.
Sources
- Shopify Help Center. Using CSV files to import and export products.
- Shopify.dev. Product object, GraphQL Admin API.
- Shopify Help Center. Importing products with a CSV file.