Country of origin in Shopify: where it lives and how to set it in bulk
Country of origin is the most commonly missing customs field in Shopify catalogs — and one of the most common reasons a cross-border shipment gets held for manual review. It's also confusingly named, buried in the admin, and impossible to bulk edit with Shopify's native tools. Here's what the field actually means, where to find it, and how to fill it in at catalog scale.
What "country of origin" actually means
It's where the product was manufactured or substantially transformed — not where you ship it from. A snowboard made in China, stored in a Texas warehouse, and shipped to a customer in Berlin has a country of origin of China. Customs uses this to apply the right tariff rates and trade agreements, which is why getting it wrong (or leaving it blank) has real cost. For products assembled from parts made in several countries, "substantially transformed" is a genuine legal question — ask a customs broker for edge cases; this guide isn't legal advice.
Where the field lives in Shopify
Like the HS code, country of origin is stored on each variant's inventory item. In the admin: open a product → scroll to the Shipping section → expand the customs information area. The Shipping section only exists when "This is a physical product" is checked — so if a product has no shipping details at all, the field genuinely isn't set, even if the product physically ships.
The format catch: ISO codes only
Under the hood, Shopify stores this field as an ISO 3166-1 alpha-2 code — two letters: US, CN, DE, VN. The admin gives you a dropdown, but API-based tools have to send the code itself; free-text values like "USA" or "United States" are simply rejected. Any bulk tool worth using should constrain you to valid codes rather than letting a typo silently fail.
Why bulk editing it natively doesn't work
Shopify's built-in bulk editor doesn't expose country of origin, and the standard product CSV import/export has no country of origin column — the value lives on the inventory item, which the product CSV doesn't carry. Same dead ends as HS codes, same reason.
Your three options
One at a time: fine for a dozen SKUs; the hidden cost is that Shopify won't tell you which products are missing the field, so the audit is manual too. Spreadsheet import apps (Matrixify and similar) can write inventory-item fields through extended spreadsheet formats — powerful if you already know what's missing and are comfortable driving them. Scan-first with Origova: a scan lists every variant missing a country of origin, you pick a country from a validated ISO picklist, select the affected items, and apply it in one batch — with undo, and with gift cards and other non-physical items excludable in a click. Products sourced from multiple countries just take a couple of batches: select the China-made items, apply CN; select the rest, apply their origin.
The short version
Country of origin is a per-variant customs field with a strict format, hidden behind the Shipping section, invisible to Shopify's bulk editor and CSV. The bottleneck isn't editing — it's knowing which of your products are missing it. Solve the audit and the bulk fix is two clicks. The docs show the full flow.