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 partner | US warehouses | EU warehouses | Asia-Pac warehouses | LatAm |
|---|---|---|---|---|
| Printful | North Carolina, Los Angeles, Dallas | Latvia, Spain | Australia, Japan (limited) | Mexico (via US) |
| Printify | 15+ US partners | UK, Germany, Latvia | China, Australia | Mexico |
| Gelato | US (32 states) | UK, Germany, France, Spain, Italy, Sweden | Japan, Singapore, Australia, NZ | Brazil, Mexico |
| Gooten | Multi-US | UK (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
- China / Hong Kong / Taiwan: Red first (prosperity, celebration). Gold, yellow. Avoid all-white for gift contexts (funerary).
- Japan: White + navy first (understated elegance). Sakura pink for gift/seasonal. Avoid pure black for wedding gifts.
- India: Saffron, red, green, magenta. High saturation preferred.
- Middle East: Green (religiously positive), gold. Avoid explicit body-showing product shots for modest markets.
- Nordic countries: Muted tones — sage, dusty blue, cream. High-saturation neons underperform.
- Latin America (Brazil, Mexico): Warm colors — orange, yellow, magenta. Higher color-variety demand than US.
- Germany: Restrained palettes — black, navy, forest, burgundy. Neons and pastels underperform outside youth categories.
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
- Color swatch setup — swatch basics
- Image swatch setup — product-image swatches
- Per-market variants — region-specific SKUs
- Markets multi-language options — full multi-language setup
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