> ## Documentation Index
> Fetch the complete documentation index at: https://docs.global-e.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Setting Up Global-E Product Identifiers in Shopify for EU Compliance

Part of the [EU Customs Reform - Product Identifiers (PID)](https://docs.global-e.com/eu-product-identifiers-pid.md), please read for overall regulation context and requirements.

From 1 November 2026 you need to add two pieces of product data in Shopify. Your **SKU** already reaches us and needs no action.

You can provide the data in **either** of these ways (or both):

* **Recommended - Shopify variant Barcodes** - see **Option A** below
* **Alternative if unable to use barcodes - Global-e variant metafields** - see **Option B** below, only used if Shopify barcodes are empty

> [!NOTE]
>
> **Already using the metafields?** You do **not** need to migrate to Barcodes right now. We keep reading the metafields but recommend moving to Shopify new standardised barcode fields in the future.

***

## What you need to provide

For what each identifier is, see [The three identifiers](https://docs.global-e.com/eu-product-identifiers-pid.md#the-three-identifiers) on the overview page.

Data is set **per variant**, not per product. A barcode belongs to a specific sellable item - a size M black t-shirt has a different barcode from a size L. Use product-level fields only if the product has a single variant, or if the value is genuinely identical across every variant.

| What we need | Barcodes type (Option A) | Metafield (Option B) |
| - | - | - |
| **NS-PID** - manufacturer / supplier product code (required) | **NS-PID** (non-standardised product identifier) | `globale.mididentifier` |
| **S-PID** - standardised barcode when you have one. If there is still no S-PID, we treat the product as having no standardised barcode | **GTIN**, **EAN**, **UPC**, or **ISBN** | `globale.standardcode` |

> [!WARNING]
>
> Do not enter placeholder values. Never use NA, N/A, 0, -, a blank space, or similar.

***

## Option A - Shopify Barcodes

Shopify lets you add **more than one barcode per variant**, each with a **type**.

Use the **bulk editor**, **CSV**, or **Admin API** to perform changes on multiple products/variants.

In Shopify Admin:

1. Open **Products** → choose a product → open a **variant**.
2. In **Barcodes**, add an entry and choose the type:
   * **NS-PID** → for **NS-PID** (manufacturer code, model number, supplier SKU, or your own style code
   * **GTIN**, **EAN**, **UPC**, or **ISBN** → for **S-PID** when you have a real barcode
3. Save the variant..

**Detailed Guide:**

**1.Non Standardized Product ID (NS-PID)**

NS-PIDs can be added to the product in the NS-PID field in the barcode dropdown. This is available at both the Product and Variant level.

Make sure you select the ‘NS-PID’ option.

![](https://mintcdn.com/globale-enterprise/8l6AV_68U27_hcFh/images/eu-product-identifiers/shopify-barcode-type-ns-pid.png?fit=max\&auto=format\&n=8l6AV_68U27_hcFh\&q=85\&s=f8c63f798a260031ad75d848eb23408d)

If you have added the NS-PID correctly, it should look like this:

![](https://mintcdn.com/globale-enterprise/8l6AV_68U27_hcFh/images/eu-product-identifiers/shopify-ns-pid-added.png?fit=max\&auto=format\&n=8l6AV_68U27_hcFh\&q=85\&s=fedae0a0ade8c43342d79233c3212866)

**2. Standardized Product Identifier (S-PID) - Barcode**

S-PIDs can be added to the product in the Barcode field. This is available at both the Product and Variant level.

Make sure you select one of the applicable S-PID options: GTIN, UPC, EAN or ISBN.

![](https://mintcdn.com/globale-enterprise/8l6AV_68U27_hcFh/images/eu-product-identifiers/shopify-barcode-type-s-pid.png?fit=max\&auto=format\&n=8l6AV_68U27_hcFh\&q=85\&s=b10565ae520e0d1d4bcfa5c4b6923765)

Once you have both the NS-PID and S-PID added to your product/variant, it should look something like this:

![](https://mintcdn.com/globale-enterprise/8l6AV_68U27_hcFh/images/eu-product-identifiers/shopify-ns-pid-and-s-pid.png?fit=max\&auto=format\&n=8l6AV_68U27_hcFh\&q=85\&s=1f62c094072dd90daeaa5700ec2e3160)

> [!NOTE]
>
> **Legacy single Barcode field:** Shopify is moving that value into **Barcodes**. We can use it where it maps to S-PID. You still need **NS-PID** in **NS-PID**.

**If you already have barcode values on a variant**, Global-e picks your **S-PID** (`standardcode`) from that variant's **Barcodes** list using the first match below.

1. A **Custom** (or untyped) barcode that passes Shopify's **GTIN** format checks
2. The first barcode typed **GTIN**
3. The first barcode typed **EAN**
4. The first barcode typed **UPC**
5. The first barcode typed **ISBN**
6. A **Custom** (or untyped) barcode that did not pass GTIN checks at step 1

***

## Option B - Global-e metafields

### What to do - three steps

**Step 1 - Create the two metafield definitions**

Navigate to **Settings → Metafields and metaobjects → Variants → Add definition** and create both of the following.

After entering the metafield name, click `custom.standardcode` to change the namespace:

![](https://mintcdn.com/globale-enterprise/7RFF9xle0aJHH2fk/images/eu-product-identifiers/shopify-metafield-namespace-link.png?fit=max\&auto=format\&n=7RFF9xle0aJHH2fk\&q=85\&s=6250cdf7a041277b04f758b9917d6a5a)

Change the default `custom` namespace to `globale`:

![](https://mintcdn.com/globale-enterprise/7RFF9xle0aJHH2fk/images/eu-product-identifiers/shopify-metafield-namespace-field.png?fit=max\&auto=format\&n=7RFF9xle0aJHH2fk\&q=85\&s=90bec6b98b6bb11b89d6f57e6aeb78cf)

| Name | Namespace and key | Content type |
| - | - | - |
| standardcode | `globale.standardcode` | Single line text |
| mididentifier | `globale.mididentifier` | Single line text |

> [!WARNING]
>
> Enter these exactly as shown. Changing the name, the namespace and key, or the content type will stop Global-e from reading the values, and your orders will be submitted without the identifiers.

**Step 2 - Populate the metafields on your variants**

You can edit values individually, or in bulk using the Shopify bulk editor, a CSV import, or the Admin API.

* `standardcode` - set per variant. It normally differs across sizes and colours.
* `mididentifier` - required on every variant. Often identical across all variants of a product, so it usually bulk-edits cleanly.

**Step 3 - Keep metafields in your product-creation process**

New variants added after go-live will not inherit these values automatically. Re-check coverage after any catalogue migration, PIM change or bulk update.

**Bulk Editing**

You may bulk edit all of your products to fill in the Barcode in one go:

Editing Barcode in bulk: [Shopify Help Center Bulk Editing](https://help.shopify.com/en/manual/shopify-admin/productivity-tools/bulk-editing)

Configuration for each product/variants may also be done individually via the Products page.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.