Guides

How to Measure ROI from Your Shopify Multilingual Store: Traffic, Conversions and Revenue by Language

Most Shopify merchants who add a second language do so on instinct — a hunch that German or French customers will convert better in their own language. The ones who keep investing in multilingual do so because they can prove it. Measuring Shopify multilingual store ROI is not difficult, but it requires setting up your analytics correctly before traffic starts flowing, not six months later when you're trying to justify a renewal.

This guide walks you through exactly how to do that: which metrics to track, how to pull them in GA4, how to build a simple ROI calculation, and — critically — what to do when a language market isn't pulling its weight.


Why Standard Shopify Reports Miss the Picture

Shopify's built-in analytics does not segment revenue by storefront language natively. You can see sales by country, but a German-speaking customer in Switzerland and one in Germany are counted separately even though they hit the same /de URL path. Conversely, a customer browsing your French store from Canada looks identical to one from France.

This means your default dashboard will undercount the impact of translation on specific language markets and make it nearly impossible to justify or cut spending by language.

To get real data, you need GA4 with a small amount of configuration.


Setting Up GA4 to Track by Language Path

Shopify Markets places translated storefronts under URL subfolders by default — /fr, /de, /es, and so on. GA4 can use this to segment all traffic, behaviour and revenue by language.

Step 1: Confirm Your URL Structure

Before touching analytics, verify that your multilingual URLs are using subfolders (e.g. yourstore.com/de/products/...) rather than subdomains. Subfolders are far easier to analyse in a single GA4 property. If you're uncertain about the trade-offs, subfolders vs subdomains for multilingual stores covers this in detail.

Step 2: Create a Custom Channel Group or Exploration

In GA4, go to Explore → Blank exploration. Add Page path + query string as a dimension, then filter to sessions where the path starts with /de, /fr, or whichever prefixes you use. Add Sessions, Conversions and Purchase revenue as metrics.

Important caveat on the browser language dimension: GA4 does expose a "Browser language" dimension, but it reflects what the user's browser reports — not what language version of your store they actually visited. For storefront analytics, always use the URL path prefix as your language signal, not browser language. Be aware, however, that GA4 handles dimensions at the session scope vs. event scope differently, which means path-based segmentation can produce slightly inconsistent session counts when a user switches language mid-session. The numbers will be directionally accurate but not forensically precise.

Step 3: Set Up a Language Dimension (Optional but Powerful)

For cleaner reporting, create a custom dimension called storefront_language in GA4, populated via a GTM variable that reads the first path segment. This lets you use it as a primary dimension in standard reports rather than rebuilding the path filter every time.


The Three-Stage KPI Framework

Track metrics in three stages. Each stage tells you something different about where a language market is succeeding or failing.

Stage Metric What It Tells You Example (French market)
Acquisition Organic sessions via /fr Is translated SEO driving traffic? 1,840 sessions/mo from Google FR
Engagement Bounce rate + pages/session Are visitors finding the content useful? 2.1% bounce rate, 3.4 pages/session
Revenue Conversion rate + revenue per session Is the language version paying for itself? 1.9% CVR, €0.74 revenue/session

The acquisition stage tells you whether your multilingual SEO is working — specifically whether translated meta titles, descriptions and product pages are ranking in local search. The engagement stage reveals whether the translation quality is good enough to hold visitors. High bounce rates on a translated page often mean the copy reads as machine-translated or the navigation is untranslated (menus, filters, buttons).

The revenue stage is where ROI lives — but treat the revenue-per-session metric with some caution. Shopify's session attribution across subpaths can be unreliable when customers switch between language versions, use multiple devices, or arrive through currency-switching redirects. Use it as a directional signal, not an exact figure.


Calculating ROI — Including When It Doesn't Work

Here is a straightforward ROI formula:

ROI = (Revenue attributable to language — Translation cost) / Translation cost × 100

A performing market

A merchant adds French. Over three months: 5,500 sessions via /fr, 1.8% conversion rate, average order value €62. That's roughly €6,138 revenue. Translation cost (initial + monthly app subscription): €180.

ROI = (€6,138 − €180) / €180 × 100 = 3,310%

This looks extraordinary, but it's plausible for a language with strong organic search demand and a product that travels well. It also assumes the merchant would have seen zero French revenue without the translation — which is almost certainly not true. Adjust for baseline international revenue before translation to get a more honest figure.

An underperforming market

The same merchant adds Dutch three months later. Sessions via /nl: 310. Conversion rate: 0.4%. Average order value €55. Revenue: €68. Translation cost over three months: €90 (words translated on the paid plan).

ROI = (€68 − €90) / €90 × 100 = −24%

The Dutch market is losing money at this point. That is not necessarily a reason to turn it off — a new language can take six to twelve months to accumulate organic rankings — but it is a reason to investigate. Is Dutch product search volume actually there? Are the meta descriptions translated and indexable? Is the language switcher discoverable? Check Google Search Console filtered to the Dutch market and look for indexed URLs before drawing conclusions.


Revenue Attribution Across Same-Language, Different-Region Markets

One situation that breaks simple path-based tracking: you have one language serving multiple markets. Spanish is a good example — you might serve Mexico, Spain and US Hispanic customers all via /es, with Shopify Markets handling currency and pricing differences underneath.

In this case, combine the GA4 language path data with Shopify's Markets reporting (Analytics → Markets) to split revenue by region within the same language. This is especially relevant if you're running separate localisation efforts per country — for example, if you've adapted copy for Mexico vs. Spain, as described in our Spanish-speaking markets localisation guide.


What to Do With the Data

Once you have three months of clean language-level data, run a quarterly review:

  • High traffic, low conversions: Translation quality or UX issue. Check that buttons, navigation and checkout strings are fully translated — partial translation kills trust.
  • Low traffic, high conversion rate: SEO opportunity. The translated content converts well when visitors find it; the problem is discoverability. Invest in multilingual keyword research and expand blog content in that language.
  • Low traffic, low conversions: Either too early to judge (under 3 months, under 500 sessions) or genuine lack of market demand. Pause and revisit in six months.
  • High traffic, high conversions: Double down. Add more content, translate blog posts, and make sure auto-translation is enabled so new products publish immediately in that language.

Tools like StoreLingo include change-detection so that only updated content is re-translated — meaning your word count (and therefore cost) scales with catalog growth, not with the total number of languages. That keeps the denominator in your ROI calculation from quietly growing every month.

Add StoreLingo on the Shopify App Store →


FAQ

How long before a new language market shows positive ROI? It depends heavily on whether you're relying on organic search or paid traffic. Organic SEO for translated pages typically takes three to six months to produce meaningful volume, since search engines need time to crawl, index and rank new language URLs. Paid traffic can show results within weeks but at higher acquisition cost — factor that into your translation-cost-vs-revenue calculation from the start.

How do I measure ROI for an RTL language like Arabic when currency and layout differ significantly? RTL markets like Arabic add variables beyond translation — right-to-left layout rendering, local currency (e.g. AED or SAR), and culturally specific trust signals all affect conversion independently of the translation itself. Segment your GA4 data by the /ar path prefix as normal, but also isolate device type (mobile dominates Gulf markets) and traffic source, since Arabic organic search and social behave differently from European markets. Treat layout/currency fixes and translation as separate line items in your cost calculation so you know which investment is driving the revenue lift.

I sell the same product in Germany and Austria under the same /de path — how do I compare performance between the two? Use Shopify Markets reporting alongside GA4 geo segmentation. In GA4, add Country as a secondary dimension within your /de path filter to split sessions and revenue between DE and AT. For revenue, Shopify's Markets dashboard will give you cleaner numbers because it works from order data rather than session attribution. If you find significant performance differences — Austria often has a meaningfully higher average order value than Germany — it may be worth creating a separate /de-at market with localised pricing, which is covered in the DACH localisation guide.

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 →