twimco.Let’s talk ↗︎
Menu
Field notes / Operations

EU parcels now need three product identifiers. Sort your catalog into three piles before a label fails

Shipping to customers in the EU from Shopify? Since November 1, each item in a low-value parcel needs product identifiers, and Shopify won't sell you the label without them. Most catalogs fall into three easy piles.

Editorial engraving of a sunny frame-shop shipping corner where an owner and a packer sort products into three wire baskets while checking a laptop list before EU labels are printed.

From November 1, 2026, Shopify says the EU requires three product identifiers for each item in direct-to-consumer parcels valued under €150, and parcels without them may be rejected at customs with return-to-origin fees. If you buy labels through Shopify Shipping or Managed Markets, Shopify fills them from your product data and won't sell an EU label for an item that's missing them. Sort products into three piles: real GTINs, manufacturer codes without a GTIN, and your own goods with no codes. Each pile has a one-step fix in the bulk editor.

What changed on November 1

If you ship orders from Shopify to customers in the European Union, there's a new field your products need to carry. Shopify's changelog says that from November 1, 2026, the EU requires three product identifiers for each item in direct-to-consumer parcels valued under €150. Parcels missing them may be rejected at customs, and the return-to-origin fees land on you.

Read the scope carefully, because it's narrower than the headline. Shopify's wording covers direct-to-consumer parcels into the EU valued under €150. Wholesale shipments to a business, and higher-value parcels, aren't what this entry describes, so check with your broker before you assume either way. And it's about what goes on the customs paperwork, not about what your product page shows shoppers.

Shopify has done the heavy part for stores that buy labels through Shopify Shipping or Managed Markets: it reads your product data and puts the identifiers on the label and customs documents. The catch is the other side of that coin. Shopify won't sell you a label for an EU-bound order if any item in it is missing a required identifier. So the failure doesn't show up at customs in two weeks. It shows up at the packing station today, when someone tries to buy a label for a Berlin order and can't.

The rule is about parcels, but the fix is in the product record. And for most stores, the catalog sorts into three piles, each with a short fix.

The three identifiers, in plain words

The three identifiers have intimidating abbreviations and simple meanings.

Your own identifier (M-PID). The merchant product identifier. Shopify says the product variant already covers it, so there's nothing to do.

A standard barcode (S-PID). A GTIN, EAN, UPC or ISBN, the number behind most retail barcodes. If a product has one, enter it as a barcode with the right type. If a product genuinely has none, you can declare that on the product page.

The maker's code (NS-PID). The manufacturer's model number, part number or style code, entered as a barcode with the type NS-PID. Shopify says you can also use your own product code or SKU. If you've entered a standard barcode but no NS-PID, Shopify uses the standard barcode for both.

Shopify also uses HS codes, the customs classification numbers, to spot products that are exempt and applies the exemption for you. If your HS codes are missing or guessed, fix those too; they're doing more work now.

Decision guide

Which pile, which fix

ConsiderationWhat the product hasWhat to enter
Pile oneA barcode registered with GS1.Accept the GTIN suggestion.
Pile twoA maker's model or style code.NS-PID barcode, declare no GTIN.
Pile threeYour own goods, no codes.Declare no GTIN, SKU as NS-PID.
Illustrative decision framework drawn from Shopify's Oct 24 and Oct 29, 2026 changelog entries.
The rule is about parcels, but the fix is in the product record.

Pile one: products with a real GTIN

These are goods you buy from brands that print a barcode on the box, and anything you make yourself and registered with GS1, the organization that issues GTINs.

Often the number is already in Shopify, typed as a "Custom" barcode because nobody knew which type to pick. Shopify added a tool on October 29 that helps here. It checks barcodes against the GS1 registry and suggests marking the real ones as GTINs. You can accept every suggestion at once in the products or inventory bulk editor, and it never changes a saved barcode unless you accept.

The fix for pile one: open the bulk editor, filter to products with barcodes, accept the GTIN suggestions, and spot-check a few where the registry's vendor name doesn't match yours. That mismatch is for your information; Shopify says you don't need to change your titles to match GS1. But it's worth a glance in case a supplier reused a number.

Pile two: a maker's code but no GTIN

These are products from small makers and wholesalers who label with a style code or part number but never registered a barcode. Think of a lamp from a regional workshop with "model LT-40" stamped on the base.

The fix for pile two: enter the maker's code as a barcode with the type NS-PID, and declare on the product page that no standard identifier exists. Both can be done in bulk. If you don't have the maker's code on file, a supplier email is faster than guessing; an invented code helps nobody when customs asks.

Pile three: your own goods, no codes at all

These are things you make, assemble or bundle yourself: a hand-poured candle, a gift set, a print. There's no GTIN and no manufacturer other than you.

The fix for pile three: declare that no standard identifier exists, and use your own SKU as the NS-PID. If your SKUs are messy (duplicates, blanks, codes that changed last spring), this is the week to clean them up, because they're now going onto customs paperwork.

A quick way to size the job: export products that have sold to an EU address in the last six months, and add a column for which pile each one falls in. Work through the pile with the most products first. Anything that hasn't sold to the EU in a year can wait until it does, though the label block will remind you if you guess wrong.

How the work moves

One afternoon

  1. Export

    Products sold to the EU in six months.

  2. Sort

    Tag each product with its pile.

  3. Bulk fix

    Largest pile first in the bulk editor.

  4. Check HS codes

    They now decide exemptions.

  5. Ask your 3PL

    How held orders get reported.

Illustrative decision framework for sizing and fixing an EU catalog.

If your labels come from somewhere else

Shopify's checks only apply to labels bought inside Shopify. If a third-party shipping app, a fulfillment partner or a customs broker buys your labels, Shopify says to ask them how they want the identifiers. Three questions cover it: which product fields do they read the identifiers from, what happens to an order that's missing one, and do they want the declaration of "no standard identifier" passed through.

Don't forget returns and exchanges. A replacement shipped to an EU customer is a new parcel with the same requirements, and it's often created by a support agent in a hurry, outside the normal order flow. Make sure whatever tool your team uses for replacements reads the same product data.

The answer matters most for a fulfillment partner, because a held EU order sitting in their exception queue is invisible to you until a customer asks where it is. Ask them to send you a daily list of anything held for missing data, and decide who owns that exception queue on your side.

If you'd like help cleaning up product data across your store, your warehouse system and your shipping tools so EU orders don't stall, that's the kind of work our fulfillment operations team does. Get in touch and tell us where your labels come from.

Related work: Spin Market.

twimco.

We build alongside the people doing the work.
Bring us the problem you’re thinking about.

Related work

Spin:Market ↗︎