{"id":1738,"date":"2026-05-04T11:23:44","date_gmt":"2026-05-04T09:23:44","guid":{"rendered":"https:\/\/newcraft.dev\/posts\/shopify-markets-limitations-10-things-it-doesnt-translate-and-how-to-fix-them\/"},"modified":"2026-05-04T13:38:18","modified_gmt":"2026-05-04T11:38:18","slug":"shopify-markets-limitations-10-things-it-doesnt-translate-and-how-to-fix-them","status":"publish","type":"marketing-post","link":"https:\/\/newcraft.dev\/nl\/posts\/shopify-markets-limitations-10-things-it-doesnt-translate-and-how-to-fix-them\/","title":{"rendered":"Shopify Markets Limitations: 10 Things It Doesn't Translate (And How to Fix Them)"},"content":{"rendered":"\n<p>\n  <strong>TL;DR:<\/strong> Shopify Markets handles currency, pricing, tax, and catalog visibility per region. It doesn&#8217;t handle product images, market-specific videos, region-overrides for the same language, or per-market hangtag photography. <a href=\"https:\/\/newcraft.dev\/translate-product-images-shopify\/\">Image Translate Easy app<\/a> fills the visual layer that Markets leaves untouched: per-market image and video overrides, AI image translation, and per-language fallbacks.\n<\/p>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\">\n  <div class=\"wp-block-embed__wrapper\">\n    <iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/KPSRAW63weY\" title=\"Translate Shopify Product Images by Market\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe>\n  <\/div>\n<\/figure>\n\n\n<h2 class=\"wp-block-heading\">Shopify Markets is great. Until it isn&#8217;t.<\/h2>\n\n\n\n<p>If you&#8217;ve migrated to Shopify Markets you already know what it&#8217;s good at. Currency conversion. Per-region pricing. Local domains. Tax calculations. Shipping zones. Hiding products from a market when they&#8217;re not legal there. Translated text content via Translate &#038; Adapt.<\/p>\n\n\n\n<p>That&#8217;s a lot of value out of the box. But once you start running an actual multi-market store, you bump into the things Markets doesn&#8217;t do. Some of these are documented. Some you only learn about when a customer complaint reveals the gap.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Shopify Markets does NOT translate or override<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Product images<\/h3>\n\n\n\n<p>The biggest one. A product has one image set. Every market sees it. There is no native &#8220;show this photo to my Mexico market and a different photo to my Spain market&#8221; toggle. <a href=\"https:\/\/newcraft.dev\/posts\/how-to-show-different-product-images-per-country-in-shopify\/\">Showing different product images per country<\/a> requires either duplicating products, writing custom Liquid, or using an app that handles per-market overrides at the storefront layer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Product videos<\/h3>\n\n\n\n<p>Same problem, less talked about. Shopify Markets doesn&#8217;t have a per-market video override. If your French ad shows different on-screen text than your German ad, both markets see whichever video you uploaded. <a href=\"https:\/\/newcraft.dev\/posts\/video-translation-for-shopify-show-different-product-videos-by-language\/\">Per-market video swap<\/a> requires the same kind of storefront-layer extension that handles images.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Same-language regional variations<\/h3>\n\n\n\n<p>Shopify&#8217;s translation system is keyed by language, not by market. If both Spain and Mexico are configured as Spanish-speaking markets, they share the same Spanish translation. There&#8217;s no &#8220;Mexican Spanish&#8221; toggle distinct from &#8220;Spain Spanish&#8221; in Translate &#038; Adapt. Same applies to France vs Quebec, Brazil vs Portugal, US vs UK English. Markets sharing a language share the same text content. <a href=\"https:\/\/newcraft.dev\/posts\/how-to-show-different-product-images-for-different-languages-in-shopify\/\">The language-first model<\/a> only takes you so far.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Hangtag and packaging variants<\/h3>\n\n\n\n<p>Bound up with the image limitation: if your product packaging differs by region (CE marks for EU, NOM for Mexico, FDA for US, UKCA for UK), the photo you upload either shows one region&#8217;s packaging or some bundled &#8220;international&#8221; version. Shopify Markets has no way to swap the photo by region.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. SEO meta tags per market<\/h3>\n\n\n\n<p>Translate &#038; Adapt translates page titles and meta descriptions per language. Per-market overrides aren&#8217;t supported. So your Spain market and Mexico market share the same Spanish meta description even if you&#8217;d want to optimize differently for &#8220;comprar en Espa\u00f1a&#8221; vs &#8220;comprar en M\u00e9xico&#8221; search intent.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Theme content per market<\/h3>\n\n\n\n<p>Section blocks, custom theme content, and many app-injected blocks are translatable by language but not overridable by market. If your Mexican landing page should show different testimonials than your Spanish landing page, you&#8217;re stuck with custom Liquid logic to do it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. Shipping copy per market<\/h3>\n\n\n\n<p>Shipping zones are configurable per market. The marketing copy describing them (&#8220;Free shipping on orders over $50!&#8221;) is part of your theme content, which translates by language. Same language across markets means same shipping copy, even when shipping speeds and thresholds differ.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">8. Discount codes targeting per market<\/h3>\n\n\n\n<p>You can configure discounts per market in Shopify, but the on-page promotional banners and badges are theme content. They translate by language. There&#8217;s no &#8220;show this ribbon only to my Brazil market&#8221; via Markets settings.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">9. Currency-formatted images<\/h3>\n\n\n\n<p>Some merchants print prices directly on product packaging or marketing graphics. Markets handles displayed prices via the storefront, but if your image has &#8220;$29.99&#8221; baked in, every market sees that price regardless of their actual currency. You either remake the image per market or live with the mismatch.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">10. Per-market alt text<\/h3>\n\n\n\n<p>Shopify&#8217;s translatable alt text is keyed by language, not market. Two markets sharing a language share alt text. For SEO that&#8217;s usually fine. For markets where the image content differs (different packaging, different model, different units), the alt text technically describes the image one of the markets is seeing, not the other.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why these gaps exist<\/h2>\n\n\n\n<p>Shopify&#8217;s design philosophy keeps products and markets cleanly separated. A product is your inventory. A market is your commerce config. The intersection is intentionally narrow: catalog visibility, pricing, currency. Anything beyond that adds complexity Shopify doesn&#8217;t want to bake into the core platform.<\/p>\n\n\n\n<p>The trade-off: clean architecture, but real merchants in regulated categories or with diverse markets find the gap unworkable. Hence the workaround economy of duplicate products, custom Liquid, and apps.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to actually fill the visual gap<\/h2>\n\n\n\n<p>Of the four common workarounds, only one scales:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table>\n  <thead>\n    <tr>\n      <th>Approach<\/th>\n      <th>Pros<\/th>\n      <th>Cons<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>Duplicate products per market<\/td>\n      <td>Native Shopify, no apps<\/td>\n      <td>Doubles catalog size, splits reviews, breaks aggregate analytics, inventory sync nightmare<\/td>\n    <\/tr>\n    <tr>\n      <td>Custom Liquid with localization variables<\/td>\n      <td>No app fees, full control<\/td>\n      <td>Breaks on theme update, doesn&#8217;t handle galleries, requires developer maintenance<\/td>\n    <\/tr>\n    <tr>\n      <td>&#8220;Universal&#8221; packaging photos<\/td>\n      <td>Zero engineering<\/td>\n      <td>Cluttered, looks suspicious, often fails compliance &#8220;must be clearly visible&#8221; rules<\/td>\n    <\/tr>\n    <tr>\n      <td>Per-market image override app<\/td>\n      <td>Scales, no theme code, single SKU per product<\/td>\n      <td>Monthly app fee, dependency on app uptime<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table><\/figure>\n\n\n\n<p>For most merchants, the per-market override app is the only one that works long-term.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Image Translate Easy adds on top of Shopify Markets<\/h2>\n\n\n\n<p>The newer release of <a href=\"https:\/\/apps.shopify.com\/image-translate-easy\" target=\"_blank\" rel=\"noopener\">Image Translate Easy<\/a> includes a per-market mode designed to plug directly into the gaps above:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n  \n<li><strong>Per-market image overrides.<\/strong> Upload one image per Shopify Market. The theme extension swaps it for visitors in that market.<\/li>\n\n  \n<li><strong>Per-market video overrides.<\/strong> Same logic, applied to product videos.<\/li>\n\n  \n<li><strong>Per-language fallback.<\/strong> If you don&#8217;t override for a specific market, the app falls back to your language-level translation. Layered, not duplicated.<\/li>\n\n  \n<li><strong>AI image translation.<\/strong> If the only difference between your EU and US packaging is the text on the label, you don&#8217;t need to commission a new shoot. AI translation generates the localized image from your source.<\/li>\n\n  \n<li><strong>Bulk alt text translation.<\/strong> For the SEO side, <a href=\"https:\/\/newcraft.dev\/posts\/how-translated-alt-text-improves-your-shopify-seo-for-international-markets\/\">translated alt text helps your Shopify SEO<\/a>. The bulk feature handles your catalog at scale.<\/li>\n\n  \n<li><strong>No theme code.<\/strong> The whole thing runs as an app embed, so theme updates don&#8217;t break anything.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">What it doesn&#8217;t do (yet)<\/h2>\n\n\n\n<p>Honest list of gaps the app itself still has:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n  \n<li>Per-market alt text isn&#8217;t supported because Shopify itself doesn&#8217;t store alt that way. We&#8217;ll revisit if merchants tell us they need it for specific use cases.<\/li>\n\n  \n<li>Per-market section content (testimonials, banners) is outside the app&#8217;s scope. That&#8217;s a theme\/content app&#8217;s territory.<\/li>\n\n  \n<li>Per-market SEO meta tags also aren&#8217;t covered by this app.<\/li>\n\n<\/ul>\n\n\n\n<p>The app&#8217;s focus is the visual layer: images, videos, and the alt text tied to them.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to decide if this matters for you<\/h2>\n\n\n\n<p>Run this short audit:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n  \n<li><strong>Walk your catalog.<\/strong> For each product, would a customer in your different markets actually see meaningfully different packaging in real life?<\/li>\n\n  \n<li><strong>Check your support tickets.<\/strong> Have customers complained about packaging mismatch, label differences, or &#8220;this looks different than what I received&#8221;?<\/li>\n\n  \n<li><strong>Audit your photography.<\/strong> Do your product images include any region-specific elements (compliance marks, currency stickers, regional brand logos, language-specific text)?<\/li>\n\n<\/ol>\n\n\n\n<p>If the answer to any of those is yes, the visual gap in Shopify Markets is costing you. Either in returns, support tickets, or compliance exposure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The simpler version<\/h2>\n\n\n\n<p>Shopify Markets handles where customers pay and how products ship. It doesn&#8217;t handle what customers see. For most stores that&#8217;s tolerable. For international merchants in regulated categories or with regional packaging variants, it&#8217;s the largest hidden gap in the platform.<\/p>\n\n\n\n<p>Filling that gap takes 30 seconds per product once you have the regional photos. <a href=\"https:\/\/apps.shopify.com\/image-translate-easy\" target=\"_blank\" rel=\"noopener\">Try the free trial<\/a> on one SKU and see if the swap matches what your shoppers should actually be looking at.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Shopify Markets handles currency and tax, but not images, videos, or per-region overrides. The 10 gaps explained, and how merchants fill them.<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"_acf_changed":false,"_breakdance_hide_in_design_set":false,"_breakdance_tags":""},"class_list":["post-1738","marketing-post","type-marketing-post","status-publish","hentry"],"acf":{"related_apps":null},"_links":{"self":[{"href":"https:\/\/newcraft.dev\/nl\/wp-json\/wp\/v2\/marketing-post\/1738","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/newcraft.dev\/nl\/wp-json\/wp\/v2\/marketing-post"}],"about":[{"href":"https:\/\/newcraft.dev\/nl\/wp-json\/wp\/v2\/types\/marketing-post"}],"wp:attachment":[{"href":"https:\/\/newcraft.dev\/nl\/wp-json\/wp\/v2\/media?parent=1738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}