International commerce

Shopify Localized Swatches

A t-shirt sold in the US ships with 12 colors; the same shirt sold in Japan should show 6 colors — because 6 of the US colors are printed at the US warehouse and don't ship internationally without a 3-week delay. Localized swatches let you show only the colors your regional POD partner actually stocks locally, plus surface culturally preferred colors first. Here is the setup, the cultural color notes, and the POD warehouse routing.

Last updated: August 23, 2026~10 min readBy the Print It My Way team

Why localize swatches at all?

Three reasons: (1) POD warehouse stock varies by region — Printful US stocks 40+ shirt colors, Printful EU stocks 18, and showing a US shopper 40 colors that are all in-stock beats showing an EU shopper 40 colors of which only 18 ship locally. (2) Cultural color preferences differ — white is standard for weddings in the West but funerary in much of East Asia; red is festive in China but stop-signaling in the US. (3) Shipping cost — a "Sunset Orange" only stocked in the US costs an EU buyer $18 extra shipping if you route the international transfer, and merchants rarely disclose this cost until checkout.

Warehouse stock by POD partner and region

POD partnerUS warehousesEU warehousesAsia-Pac warehousesLatAm
PrintfulNorth Carolina, Los Angeles, DallasLatvia, SpainAustralia, Japan (limited)Mexico (via US)
Printify15+ US partnersUK, Germany, LatviaChina, AustraliaMexico
GelatoUS (32 states)UK, Germany, France, Spain, Italy, SwedenJapan, Singapore, Australia, NZBrazil, Mexico
GootenMulti-USUK (limited)Australia (limited)

Gelato has the widest global warehouse footprint and is the go-to POD for stores that need genuine local fulfillment across 5+ regions. Printful is second. Printify is warehouse-per-partner (variable). Gooten and CustomCat are US-heavy with limited international footprint.

Setup: color option filtering by market

// theme.liquid — expose market to JS
<script>
  window.SHOPIFY_MARKET = {{ localization.market.handle | json }};
</script>

// swatch-filter.js — hide colors not stocked in the current market
const MARKET_COLORS = {
  us: ['black', 'white', 'navy', 'red', 'olive', 'sunset-orange', 'heather-gray', /* ... 40+ */],
  eu: ['black', 'white', 'navy', 'red', 'olive', 'heather-gray', /* 18 total */],
  jp: ['black', 'white', 'navy', 'charcoal', 'sakura-pink', 'indigo'],
  au: ['black', 'white', 'navy', 'red', 'olive', 'heather-gray'],
};

document.querySelectorAll('[data-swatch-color]').forEach(swatch => {
  const color = swatch.dataset.swatchColor;
  const marketColors = MARKET_COLORS[window.SHOPIFY_MARKET] || MARKET_COLORS.us;
  if (!marketColors.includes(color)) {
    swatch.style.display = 'none';
  }
});

Cultural color preferences to surface first

Ordering swatches by regional preference

Beyond hiding unavailable swatches, sort the visible swatches so the culturally preferred color appears first. A t-shirt product page in China should lead with red; the same product in Germany should lead with black.

const MARKET_PREFERRED_ORDER = {
  cn: ['red', 'black', 'white', 'gold'],
  jp: ['white', 'navy', 'black', 'sakura-pink'],
  de: ['black', 'navy', 'burgundy', 'olive'],
  br: ['orange', 'red', 'yellow', 'magenta'],
};

const preferred = MARKET_PREFERRED_ORDER[window.SHOPIFY_MARKET] || [];
swatches.sort((a, b) => {
  const ai = preferred.indexOf(a.dataset.swatchColor);
  const bi = preferred.indexOf(b.dataset.swatchColor);
  return (ai === -1 ? 999 : ai) - (bi === -1 ? 999 : bi);
});

Material availability by region

The same color pattern applies to materials — heavyweight cotton is standard in the US but overkill for tropical markets (Singapore, Philippines), where lightweight breathable fabrics dominate. Filter material dropdowns the same way you filter colors, using a material_availability metafield or a market-color map.

The shipping-cost surprise

The failure mode: US-market color "Sunset Orange" shows on the EU storefront because you forgot to filter it. EU buyer orders it. Print It My Way's fulfillment webhook routes to Printful EU. Printful EU says "we don't stock Sunset Orange" and returns the order as unfulfillable, or transfers stock from US and charges $18 international freight. Either way, the customer is disappointed and you lose money. Filter aggressively.

Frequently asked questions

What are localized swatches on Shopify?

Color/material swatches that show only the options stocked in a customer's specific market, and often reorder them by cultural preference. A US shopper sees 40 colors; an EU shopper sees 18; a Japanese shopper sees 6 with white and navy first.

Does Shopify Markets natively filter swatches per market?

Not natively. Filtering happens client-side in the theme (JS) or via a personalization app that reads the market handle and hides unavailable swatches. Print It My Way handles this out of the box.

Which POD partner has the best global warehouse coverage?

Gelato — 32 US states, 6+ EU countries, Japan, Singapore, Australia, NZ, Brazil, Mexico. Printful is second. Printify varies by print partner. Gooten and CustomCat are US-heavy.

Why should I reorder swatches by market instead of hiding some?

Cultural preference matters — leading with red in China vs black in Germany changes conversion rates 15-25%. Hiding unavailable colors handles fulfillment; reordering handles psychology. Do both.

How do I filter fabric materials by region?

Same pattern as color — set a material_availability metafield on variants and filter client-side by market handle. Tropical markets should lead with lightweight; cold-climate markets should lead with heavyweight.

What happens if I don't filter and a customer orders an out-of-stock color?

Two outcomes: (1) the order gets rejected by your POD partner as unfulfillable (weeks-long delay, refund), or (2) POD partner transfers stock from another warehouse and charges you extra freight ($15-25 per unit). Both are expensive.

Best Shopify app for localized swatches?

Print It My Way — supports market-aware swatch filtering and cultural ordering out of the box, works with any POD partner integration.

Do I need Shopify Plus for localized swatches?

No — client-side filtering works on any Shopify plan. Shopify Plus catalogs make it cleaner (native variant-to-market mapping) but aren't required.

Related reading

Try it free on Shopify

Print It My Way's permanent Free plan includes market-aware swatch filtering, cultural ordering, and per-region material availability.

Install Print It My Way