Guides

How to Translate Shopify Store Notifications and SMS Messages for International Customers

Most Shopify merchants translate their storefront and then ship a plain-English "Your order has been confirmed" SMS to a customer in Tokyo or São Paulo—undoing every trust signal their localized store just built. If you want to shopify translate sms notifications and transactional emails correctly, this guide walks you through every layer: what Shopify's native tools can and cannot do, how to wire up conditional logic in SMS platforms like Postscript and Klaviyo, and where the whole system breaks down if you skip one step.

What Shopify's Native Tools Actually Cover (and What They Don't)

Before reaching for third-party apps, understand the baseline.

Shopify Admin Notification Templates

Shopify has roughly 20 built-in notification templates—order confirmation, shipping update, abandoned checkout, refund notification, and so on—accessible at Settings → Notifications in your admin. Each template is a single Liquid file. Out of the box, Shopify sends whichever version of that template exists, in whatever language you wrote it, regardless of the customer's locale.

Shopify's own Translate & Adapt app is the first tool most merchants try. It is excellent for storefront content—products, collections, pages, metafields—but it does not touch notification templates at all. There is no interface inside Translate & Adapt to manage order confirmation or shipping email translations. This is one of the most common points of confusion, and if you've already looked there and found nothing, that's why.

What Shopify Markets Gives You

Shopify Markets controls which currency, language, and domain a customer sees in the storefront. It passes locale data into the customer record (the customer.locale property in Liquid). That property is your hook for conditional logic inside notification templates. Markets does not automatically swap the language of a notification—but it gives you the data you need to do it yourself.

How to Translate Shopify Email Notifications Using Liquid

This is the most reliable method for order confirmation, shipping, and refund emails because it lives entirely inside your Shopify admin with no third-party dependency.

Step-by-Step: Adding Locale-Based Conditions

  1. Go to Settings → Notifications and click the notification you want to translate (e.g., "Order confirmation").
  2. Click Edit code to open the Liquid template.
  3. At the top of the template body, add a conditional block:
{% if customer.locale == 'fr' %}
  Merci pour votre commande, {{ customer.first_name }} !
{% elsif customer.locale == 'de' %}
  Vielen Dank für Ihre Bestellung, {{ customer.first_name }}!
{% else %}
  Thank you for your order, {{ customer.first_name }}!
{% endif %}
  1. Repeat this pattern for every text block you want to localize: subject line, body paragraphs, button labels, footer text.
  2. Use Preview and select a test customer with the appropriate locale set to verify output before saving.

The customer.locale value is an IETF language tag—fr, de, pt-BR, ar, ja, and so on. If you're using Shopify Markets with subfolders or subdomains per market, this value is populated automatically at checkout.

Practical limit: This approach works well for two or three languages. At five-plus languages, a single notification template becomes a wall of nested conditionals that is painful to maintain. At that scale, move to a dedicated tool.

For a broader look at what's translatable in the checkout flow and what isn't, see How to Translate Shopify Checkout Extensions and Post-Purchase Pages.

How to Shopify Translate SMS Notifications

SMS is where most guides stop at "use a third-party app." Here's exactly what to do inside the two platforms that handle the bulk of Shopify SMS volume.

Postscript

Postscript is built specifically for Shopify and has first-class locale support.

  1. In Postscript, navigate to Automations and open the automation you want to localize (e.g., Order Confirmation).
  2. Click Add Branch inside the automation flow.
  3. Set the branch condition to Subscriber Property → Locale (Postscript syncs this from the Shopify customer record via the native integration).
  4. In the branch for fr, write your French SMS text in the message editor. Repeat for each locale.
  5. The default branch handles any locale you haven't explicitly covered.

One practical note: Postscript's character counter treats multibyte characters (Japanese, Arabic, Chinese) as two characters each, which cuts your effective SMS length roughly in half. Write tighter copy or split into two messages for those scripts.

Klaviyo

Klaviyo's SMS and email flows use profile properties to branch, and the Shopify integration syncs locale automatically.

  1. In Klaviyo, open Flows and select your SMS flow (e.g., Shipped Order).
  2. Add a Conditional Split block immediately after the trigger.
  3. Set the condition to Properties about someone → locale (this is the exact property name Klaviyo uses from the Shopify sync—lowercase, no prefix). Set the value to fr for French, de for German, etc.
  4. Drag the appropriate SMS message block into each branch. Edit the message text for that language directly in the block editor.
  5. Use Flow Preview and select a test profile with locale: fr set to confirm the correct branch fires.

For languages using non-Latin scripts, go to Account → Settings → SMS and confirm your sending number supports Unicode. Numbers provisioned for US-only traffic sometimes reject Unicode payloads silently—the message appears sent but is never delivered.

If you're also handling multilingual returns and support messaging, How to Handle Multilingual Shopify Store Returns and Customer Support Across Languages covers the support side of this in detail.

Keeping Brand Terms Consistent Across Translated Notifications

Translation quality in notifications matters more than on product pages. A poorly translated "Your refund has been processed" erodes trust at the worst possible moment—after something has already gone wrong.

Two principles to follow:

  • Freeze brand terms. Your product names, brand name, and any trademarked terms should not be translated. If you use a translation glossary (which tools like StoreLingo support for storefront content), apply the same protected-term list when briefing human translators or reviewing AI output for your notification copy.
  • Match the register of your storefront. If your French storefront uses vous (formal), your SMS should too. Switching to tu in a shipping update feels like a different company sent it. This is covered in depth in Beyond Translation: Cultural Localization for E-commerce.

What Happens When a Customer's Locale Is Missing

This is the silent failure mode. If a customer checks out as a guest, or if your Shopify Markets setup doesn't correctly pass locale, customer.locale can be empty. Your conditional Liquid block will fall through to the default (English), and the customer gets an untranslated message with no error or warning.

To catch this:

  • In Shopify Analytics → Customers, filter by locale and check that non-English locales are actually being recorded.
  • In Postscript or Klaviyo, build a "no locale" branch that sends the default language but also fires an internal Slack notification or tags the customer for follow-up.
  • Test guest checkout in each market before going live.

Translating Your Storefront First: The Foundation That Makes This Work

SMS and email translation only makes sense if your storefront is already localized. A customer who shopped in French and receives a French shipping SMS but lands on an English product page when they click through has a broken experience.

If you haven't yet translated your storefront content—products, collections, pages, and SEO fields—StoreLingo handles that layer using AI translation across 47 languages, with a built-in glossary to protect brand terms and change detection so only updated content gets re-translated. Once your storefront is solid, the notification layer described in this guide sits on top of it cleanly.

For the complete picture of what needs to be translated when going multilingual, The Complete Shopify Translation Checklist for Going Multilingual is a good companion to this article.

Add StoreLingo on the Shopify App Store →

FAQ

Does Shopify's Translate & Adapt app translate notification emails automatically? No. Translate & Adapt handles storefront content—products, collections, pages, and theme strings—but has no interface for notification templates. You need to either edit notification Liquid directly or use a dedicated email/SMS platform with locale branching.

Can I use the same locale branching approach for all 20+ Shopify notification types? Yes, the customer.locale Liquid property is available in every Shopify notification template. The most impactful ones to prioritize are order confirmation, shipping update, and refund notification, since those are the messages customers actually open and act on.

What's the best way to handle right-to-left languages like Arabic in SMS? Most modern SMS platforms render Arabic correctly, but you need to confirm your sending number supports Unicode SMS (as opposed to GSM-7 encoding). Also note that Arabic SMS messages use a 70-character limit per segment rather than 160, so keep messages concise. For broader Arabic localization considerations, see Arabic E-commerce: Best Practices for Stores Entering the Gulf.

Translate your store into 47 languages

StoreLingo translates products, collections, pages and articles with AI — review before publishing, keep your brand terms consistent.

Add to Shopify →