Any way to do localization metafields?

We have a US market and an Canada market on our store, we’d like to have separate metafield values for the purposes of shipping offers, sales etc. Is there a nice way to do this without resorting to some custom Liquid code? A support person suggested the Translate and Adapt app but that only works with different languages, not different localizations.

You’re hitting a real limitation here. Metafield translations are keyed to language, so two markets that share English like US and Canada can’t hold different values that way, which is also why the Translate and Adapt suggestion doesn’t fit. The thing is, for what you described (shipping offers and sales) you probably don’t want metafields at all. Per-market pricing and availability is what Markets catalogs are built for, and shipping differences live in your shipping profiles, both without touching Liquid. If you genuinely need a text value that differs by same-language market, the no-app route is conditional Liquid on localization.country or the market handle, but for prices and offers the catalog path is cleaner. Are you trying to vary actual prices and offers, or text content too?

:blush: Hi @ctevan,

If your end goal is really about shipping offers and sales, a 3rd-party app with built-in market targeting can serve different promotions per market directly. So US and Canada customers can see different sales without touching metafields.

What to look for in such an app:

P/s: I’ll use BOGOS: Free Gift Bundle Upsell app as an example, as it supports Shopify market-based targeting. You can also test it if you want.

  1. Market-based conditions for offers
  • Open any offer setup > under sub condition > choose Markets

NOTE: Some apps just track the customer’s IP address and don’t sync with your Shopify Markets data, so please check this carefully.

  1. Offers many types of sales promotions so you can tailor to each market
  • Free shipping with purchase, free gift with purchase, BOGO, BXGY,…
  • Discount: product discount, cart discount, volume discount, discount on cheapest/most expensive item
  • Bundle: classic bundle, bundle builder, mix and match, build a box on a product page
  • Upsell: frequently bought together, post-purchase upsell,…

Hope this helps! :blush:

Hi @ctevan

I’m Vineet from Identixweb, a Shopify Development Company.

I think for the US and Canada markets, the cleanest no-code option to try first is still Shopify’s Translate & Adapt app, but you need to use the market customization/adaptation side of it, not just language translation.

It can work when you want different text like shipping offer banners, promo messages, sale copy, or theme content for the US vs Canada, even if both markets use English. You may need to make sure English is available in both markets, then localize/adapt the content for each market.

That said, if you specifically want separate product metafield values that are automatically read everywhere based on the visitor’s market, Shopify does not make that as simple as a normal metafield in admin. In many cases, you either need market-localized content through Translate & Adapt, separate metafields like shipping_offer_us and shipping_offer_ca, or some Liquid logic to show the right value based on the current market.

Yes, this is possible, but not fully through a native Shopify setting. It would require a small amount of custom Liquid logic.

For product metafields, there are two workable options:

  1. Create separate metafields for each market, for example us.description and ca.description, then use Shopify’s localization.market.handle to show the correct value based on the customer’s market.

  2. Use a single metafield that stores multiple values, where each value is mapped to a market (for example, us:value and ca:value), then output the matching value on the frontend based on the customer’s market.

So yes, it can be done, but the cleanest solution still needs market-based logic in the theme. Translate & Adapt may help in some cases, but for custom product metafield values used for shipping offers, sales messages, or market-specific content, custom Liquid logic is usually the most reliable approach.

Hey @ctevan .

Support was wrong on this one. Translate and Adapt can actually handle it. No custom code needed. First, make sure the US and Canada each have their own domain or subfolder under Settings, then Markets, then Domains, and that English is turned on for both, under Settings, then Languages.

Then go to Apps, then Translate and Adapt, select the Canada market, find the metafield on the product or resource, and enter the CA specific value in the right hand column. Your theme keeps pulling the metafield the normal way, and Shopify automatically shows the right value depending on which market the customer is browsing from.

What? How?

Was this an AI generated response?

Ok so how do I go to the Translate and Adapt app and select the Canada market? Your instructions did not align with reality