A Different Discount Code for Every Market on Shopify
Pixoo
Multi-currency discounts for Shopify

A Different Discount Code for Every Market on Shopify
Key takeaways
- A code is copy, not plumbing. SUMMER10 means nothing to a French shopper, and an English code in a French email quietly signals the campaign was not written for them
- Duplicating the discount to get a local code means maintaining the same offer three times, and the copies drift
- One discount can carry a different code name per market, with the amounts and conditions set once
- Each code can be enforced to its own market, so a code that travels is refused rather than silently honoured everywhere
In this guide:
- The Cost of One Code for Everyone
- Why Duplicating the Discount Fails
- What Shopify Gives You Natively
- One Discount, a Code per Market
- Enforcement: the Half People Forget
- Choosing Code Names That Travel Well
- FAQ
A brand sends its summer campaign to four markets. The email is translated properly: French for France, German for Germany, the offer reads naturally in each. Then at the bottom, in every version, the same line: use code SUMMER10.
It works. Customers redeem it. Nothing is broken. But a French customer has just read a carefully localised email that ends in a word from another language, and the effect is small and real: the campaign stops feeling like it was written for them and starts feeling like a translation of something else. Which it was.
That is the whole problem with one code for everyone. Not that it fails, but that it leaks the fact that the localisation stopped at the last line.
The Cost of One Code for Everyone
The copy issue is the visible one. There are two quieter costs.
Attribution collapses. With a single code across four markets, your redemption numbers are one pile. You can split them by country afterwards if your reporting keeps that, but the code itself tells you nothing. Four codes would have told you which market responded, before you had to go looking.
The code travels. A code published to a French audience will end up used elsewhere, because codes get shared and deal sites do not respect your market boundaries. If the code is global, that is not even misuse: it works everywhere by design, so a promotion sized for one market gets spent across all of them.
Why Duplicating the Discount Fails
The obvious workaround is to build the same discount several times, once per market, each with its own code. It works on day one and decays from there.
You now maintain three or four copies of one offer. Change the amount, change it everywhere. Extend the end date, extend it everywhere. Miss one, and a market keeps discounting after the campaign closed, which is the kind of mistake nobody notices until the month is over.
They also drift. Someone edits the French one to fix a minimum spend and does not touch the others, and by the third campaign nobody is sure which copy is authoritative. And your reporting is now split across four discounts that are conceptually one, so answering "how did the summer campaign do" means adding them back up by hand.
Duplication trades a small copy problem for a permanent maintenance one.
What Shopify Gives You Natively
Being fair to Shopify, this has improved. Shopify now lets you restrict a discount to specific markets, which is genuinely useful and was missing for a long time.
What it does not give you is a different code name on the same discount. Market eligibility answers "where does this discount apply". It does not answer "what does the customer type", which stays a single string per discount. So if you want ETE10 in France, you are back to a second discount.
That is the gap: the platform can localise the reach of a discount, but not its name.
One Discount, a Code per Market
In Pixoo, the code becomes a per-market field rather than a single value. You build the discount once, set your amounts, then assign a code to each market you sell in.

So a single summer campaign can be:
- SUMMER10 in the United States
- ETE10 in France
- SOMMER10 in Germany
- VERANO10 in Spain
One discount underneath. Change the amount once and every market follows. End the campaign once and it ends everywhere. The reporting stays whole, because it is one discount with four names rather than four discounts.
Everything you already set keeps working the same way. Market codes sit on top of the per-currency amounts, so ETE10 gives the euro amount you chose rather than a converted approximation of a dollar figure. The two features answer different questions: currency decides how much, the code decides what they type.
Enforcement: the Half People Forget
Naming is the visible half. The half that matters more is what happens when a code shows up somewhere it should not.
There is a setting to only accept each code in its assigned markets. With it on, ETE10 at a US checkout is refused. With it off, the code is just a name and works anywhere the discount does.
Both behaviours are legitimate, and the choice is worth making deliberately rather than by default:
Enforce when the codes are the point. Local campaigns, market-specific pricing, anything where a French offer landing on a US order costs you margin you never intended to spend. Enforcement is also what stops a leaked local code from becoming a global one.
Do not enforce when the codes are only convenience. If you simply want customers to type something readable, and you would happily honour ETE10 from a Belgian customer buying in euros, leaving it off avoids refusing an order over a technicality.
The failure mode to think about is the second one. A refused code at checkout is a lost order, and the customer has no idea why it happened. If you enforce, make sure your market boundaries actually match how your customers shop, particularly around borders and shared-language regions.
Choosing Code Names That Travel Well
Four habits, learnt from codes that caused support tickets.
Keep them typeable on a local keyboard. Accents are a trap. ÉTÉ10 looks right and will be typed as ETE10, ETE 10 or worse by half your customers. Stick to unaccented letters and digits.
Avoid words that mean something else nearby. A code that reads fine in French can be unfortunate in another market that shares the language, and you will only hear about it from the one customer who screenshots it.
Keep the structure consistent across markets. SUMMER10, ETE10, SOMMER10 share a shape, so support can recognise them instantly and you can filter reporting on the pattern. Codes that share nothing but a campaign in your head are hard to trace later.
Do not encode the market in the code and rely on that. MYBRAND-FR-10 tells a customer nothing and tells a deal site exactly what to try next. Enforcement is what restricts a code to a market, not the string.
Frequently Asked Questions
Can I have a different discount code for each country on Shopify?
Not with Shopify alone. Shopify can restrict a discount to specific markets, but the code itself is a single value per discount, so a second code name means a second discount. Pixoo makes the code a per-market field, so one discount can be SUMMER10 in the US and ETE10 in France.
How do I stop a discount code being used outside its market?
Turn on the setting that only accepts each code in its assigned markets. A code presented at a checkout in another market is then refused rather than honoured. Without it, market codes are naming only and any code works wherever the discount applies.
Is it better to create one discount per market instead?
It works and it decays. Every copy has to be edited separately when the offer changes, the copies drift apart over time, and your reporting splits across discounts that are conceptually one campaign. One discount with a code per market avoids all three.
Do market codes work with per-currency discount amounts?
Yes, and they are designed to be used together. The currency decides how much the discount is worth, the market code decides what the customer types. A French customer typing ETE10 gets the euro amount you set, not a conversion of the dollar one.
What happens to my existing discounts and codes?
Nothing. A discount with a single code keeps working exactly as before. Market codes are something you add when you want them, on the discounts where they make sense.
Should I use accents in a localised discount code?
Better not to. A code like ÉTÉ10 will be typed without accents by a large share of customers, which turns a clean campaign into support tickets. Unaccented letters and digits travel across keyboards and autocomplete.
The brand from the opening now sends the same campaign with a different code in each version, and the French email ends in a French word. Nobody will write in to say they noticed. That is rather the point: localisation works best when there is nothing left sticking out.
Recommended Articles

Shopify Discount Analytics: Why One Reporting Currency Hides Your Best Market
Converting every market into one reporting currency quietly rewrites your own history and buries the market that is actually working. Here is what to measure instead, and why the numbers should stay in the money your customers paid.

How to Generate Thousands of Unique Discount Codes on Shopify
One shared code leaks the moment you send it. Here is why Shopify has no bulk code generator in the admin, how to create up to 100,000 single-use codes instead, and how to keep each one worth the right amount in every currency.