Back to Intelligence
Platform UpdatesGlobal

Shopify variants can now store up to 20 barcodes

The update gives each variant a structured barcode set for identifiers such as UPC, EAN, GTIN, ISBN, and ASIN, while keeping the existing barcode field working for now.

Ecomwith EditorialEcommerce intelligence desk

Published
Updated
Risk
low

Reported details

What happened

Verified fact: Shopify now lets merchants read a variant’s full barcode set through the ProductVariant barcodes connection and write it through productSet, productVariantsBulkCreate, and productVariantsBulkUpdate.

Verified fact: A variant can store up to 20 barcodes, each up to 255 characters. Barcode types can be declared as UPC, EAN, ISBN, GTIN, or ASIN, with validation applied when a type is supplied.

Verified fact: Sending barcodes replaces the variant’s entire barcode set, so an update must include every barcode the merchant wants to retain.

Verified fact: ProductVariant.barcode is deprecated but continues to work for now. It returns or updates the first barcode, while the barcode filter can match any barcode on a variant.

Business relevance

Why it matters

A product variant sold through multiple channels can now keep its identifiers in one Shopify field rather than relying on metafields, tags, or external records.

The first barcode still has operational significance because the legacy barcode field returns it and legacy writes update it. The order of the barcode set therefore matters during migration or integration work.

Editorial perspective

Analysis & judgment

  1. This is most useful for merchants whose same-size or same-color variant has different identifiers across manufacturers, private-label packaging, books, or marketplaces. It is less consequential if every variant has only one stable barcode.

  2. The main implementation risk is replacement semantics rather than capacity. A bulk update that sends only a newly discovered identifier could remove existing identifiers from the variant.

  3. Because typed values are validated but untyped values are stored as sent, merchants have a choice between stronger format checks and compatibility with existing data. That choice should follow the quality of the source data and the requirements of connected systems.

Applicability

Seller impact

Catalog and integration teams can plan a structured migration from barcode metafields or external mappings, but should first decide which identifier belongs in the first position.

Marketplace, warehouse, and product-feed workflows that read only the legacy barcode field may continue operating, but they will not automatically use every barcode attached to a variant.

Action plan

What to do now

  1. 1

    Audit multi-identifier variants

    now

    Identify variants with alternate UPC, EAN, GTIN, ISBN, or ASIN values stored outside the main barcode field. Prioritize products that flow to multiple marketplaces or fulfillment systems.

  2. 2

    Protect the full barcode set in updates

    this-week

    Review productSet and bulk mutation workflows before writing barcodes. Ensure each payload includes all values that should remain and explicitly choose the first barcode for legacy consumers.

  3. 3

    Track integration support

    monitor

    Check whether connected feeds, warehouse tools, and marketplace apps read the new barcodes connection or only ProductVariant.barcode. Keep the existing field in service until dependent systems are confirmed compatible.

What not to do yet

  • Do not send a single replacement barcode through the barcodes input unless you intend to replace the variant’s entire set; use the existing values in the payload when they must be preserved.

Sources & context

Evidence and sources

A source may provide only a headline or summary. Read the evidence scope below. Links and workflow checks are not independent fact verification. Internal confidence values are workflow signals, not probabilities of factual correctness.

  1. 01

    Merchants often sell the same variant under more than one identifier: a manufacturer UPC alongside a private-label EAN, a GTIN, a reissued ISBN, or an ASIN for a marketplace listing. Until now a variant held a single barcode value, so the extras ended up in metafields, tags, or outside Shopify entirely. What's new You can now read a variant's full set from the new barcodes connection on ProductVariant, and write it with the barcodes input on the productSet mutation, productVariantsBulkCreate mutation, and productVariantsBulkUpdate mutation. Each barcode can declare a type: UPC, EAN, ISBN, GTIN, or ASIN. We validate the value against that standard's character, length, prefix, and check-digit rules. If you don't declare a type, we store the value exactly as you sent it, so untyped data keeps working as before. Usage guidance A variant accepts up to 20 barcodes, each up to 255 characters. The first barcode you send is what the existing barcode field returns, and it sorts first in the barcodes connection. A single variant input can't set both barcode and barcodes. Sending barcodes replaces the variant's entire set, so include the barcodes you want to keep. The barcode filter on the pro

    Shopify Developer Changelog · Workflow status: single-source

    Source link

    Retrieved: September 8, 2026 at 06:07 p.m. UTC

    Claim is bounded to the ingested title or summary; no source body or quotation is retained.