Your store sells in the US, Europe, and the UK. You've set up Shopify Markets. Your prices are localized. Your checkout is in local currencies.
Your loyalty program is not.
A customer in Frankfurt buys a €90 jacket. A customer in New York buys the same jacket for $99. Both earn the same points — because your Place Order program runs on a single rate, in a single currency.
That's fine if €90 and $99 are equivalent. But if €1 currently buys $1.10, you're quietly over-rewarding European customers or under-rewarding American ones. And as exchange rates shift, the economics drift further.
It's not wrong. It's just not quite right.
That changes now.
Per-currency earning rates in Place Order V2
Joy's Place Order V2 program now supports multi-currency earning rates.
You set a default rate in your store's primary currency — that's your baseline. Then, for any presentment currency you sell in, you can configure a specific earning rate.
The setup is direct: enable "Use different earning rates per currency" in your Place Order V2 program. Your active Shopify Markets currencies appear. Set the rate for each. Done.
Examples of how merchants are using this:
- 1pt per $1 USD (default), 1pt per €1.10 EUR, 1pt per £0.85 GBP — matching purchasing power parity
- 1pt per $1 USD, 1pt per ¥150 JPY — aligning with market-specific price points
- Higher rates for specific markets as a competitive positioning move
Orders in currencies you haven't configured fall back to your default rate automatically. There's no disruption to existing orders or refund history.
What the math looks like in practice
Say your default rate is 1 point per $1 spent. A customer in the eurozone buys a €100 item.
Without multi-currency rates: they earn the equivalent of ~$110 worth of points. You're over-rewarding by 10%.
With multi-currency rates: you set 1 point per €1.10 spent. The customer earns ~91 points for their €100 purchase — equivalent to the $99 USD version. The economics are aligned.
At scale — thousands of international orders per month — the difference in your points liability is meaningful.
The points calculator widget on your storefront updates automatically. When a customer on your site is browsing in EUR, the widget shows the EUR earning rate, not the USD rate. No configuration needed.
Refunds are handled correctly. When an order is refunded, Joy uses the earning rate that was active at the time of the original transaction — not the current rate. Customers aren't penalized for rate changes that happened after their purchase.
Activity history shows presentment amounts. Your customers' loyalty activity feed shows the currency they actually paid in, not a converted amount. It's clearer and more accurate.
Multi-currency earning rates are available on Joy's Essential plan and above.
International loyalty, done properly
Most loyalty platforms treat currency as a display-only concern. The program runs in one currency, everything else converts at checkout, and the points come out wherever they come out.
That works at small scale. It doesn't work when you're running a serious multi-market business and loyalty is a meaningful part of your retention economics.
Joy is built for Shopify-first merchants — and Shopify Markets is how serious Shopify merchants go global. Multi-currency earning rates is the loyalty layer that makes that investment pay off properly.
One loyalty program. Every currency. Every market. Fair for everyone.
Ready to turn retention into real growth?
Join the future of loyalty today. With our omnichannel platform, you can connect with customers across every touchpoint, reward their engagement, and build lasting relationships that drive growth. Request a demo or get started free.
















