Shopify Free Gift by Country: Different Rewards for Every Market

Quick answer: There are three ways to run a free gift by country on Shopify. Since May 7, 2026, native discounts can be assigned to specific markets — so you can build one Buy X Get Y per market. But native discounts never auto-add the gift; the shopper has to find it. For gifts that add themselves in the cart, with a different reward per country, you need an app that reads the shopper's country. We built this into Oxify's reward system, so this guide comes from shipping the feature — including the parts that break.
Why bother? One line: a $6 tote is a cheap gift in Ohio and a $19 mistake in Melbourne once you pay international shipping on it.
Most guides on this topic were written before Shopify's May 2026 markets update and still claim "Shopify has no native option." That's out of date. Here is what each route can and can't do, the setup, and the traps. Last verified August 25, 2026.
Key Facts (Verified August 2026)
- New since May 7, 2026: Shopify discounts (code and automatic, including Buy X Get Y) can be assigned to specific country/region, B2B, and retail markets — not channel markets. Discounts created before that date keep old settings until you edit them.
- Native still can't auto-add. A market-scoped Buy X Get Y only discounts a gift the shopper adds manually. Auto-add in the cart needs an app.
- Market detection beats IP detection. The active Shopify Market matches the currency and checkout; IP lookup misfires on VPNs and travelers.
- The US $800 de minimis ended August 29, 2025. Every US-bound shipment is now dutiable — a "free" gift's declared value counts. The EU still waives duty under €150 (VAT always applies).
- Set thresholds per market, not converted. €50 is a rung; a €46.83 auto-conversion of $50 is noise in the progress bar.
Why One Global Gift Leaks Money
A free gift with purchase is a cost you choose. That cost is not the same everywhere:
- Shipping weight. A 400g gift is pennies domestically and real money in a cross-border parcel — and since the US scrapped its de minimis, it can carry duty too.
- Stock location. If your EU 3PL doesn't hold the gift SKU, every EU gift order becomes a split shipment.
- What reads as a good gift. A sunscreen mini lands differently in Dubai and in Oslo. Seasons flip across hemispheres.
- Threshold value. "Spend $50, get a gift" is a very different ask in the US, India, and Norway.
Stores handle this three bad ways: same gift everywhere (eat the shipping), gifts off for international (leave AOV on the table), or region-specific codes (shared in forums within a week). Country-aware gifts are the fourth option: one campaign, different reward per market.
How to Offer a Free Gift to Certain Countries Only: 3 Ways
Way 1 — Native: Market-Scoped Buy X Get Y (Free, New in 2026)
Since May 7, 2026, the discount editor has a market eligibility selector. The recipe:
- Create an automatic Buy X Get Y discount: customer spends the threshold, gets the gift product at 100% off.
- In the discount's eligibility, assign it to one market (e.g., United States).
- Duplicate it per market, swapping the gift product and threshold each time.
Limits you hit fast:
- No auto-add. The gift is only free if the shopper finds and adds it. Most never do — this is the gap we covered in free gift with purchase on Shopify.
- No progress bar, no "you're $12 away from your gift" in the cart.
- Markets or segments, not both — one discount can't target a country and a customer segment.
- Pre-May-2026 discounts keep their old global behavior until you open and re-save them.
Use it when: you're on a tight budget, the gift is advertised outside the cart (email, banner), and you accept the low redemption of self-serve gifts.
Way 2 — A Geo-Aware Gift App (Auto-Add, Different Gift per Country)
An app detects the shopper's country and manages the gift line itself: adds it when the cart qualifies, removes it when the cart drops, shows the right gift and currency in the progress bar. This is the only route that gives shopper A in the US one gift and shopper B in Germany another, automatically, in the same session. Setup below.
Way 3 — Shopify Functions (Custom Code)
A developer can read the checkout country in a discount Function and zero a gift's price per country. You still need theme or cart-API code to auto-add the line, plus maintenance forever. Only sensible if you already run a custom checkout stack.
| Capability | Native market discount | Geo gift app | Functions (custom) |
|---|---|---|---|
| Restrict gift to certain countries | Yes | Yes | Yes |
| Different gift per country | One discount per market | One rule, per-country gifts | Yes, coded |
| Auto-add / auto-remove in cart | No | Yes | Only with extra code |
| Progress bar per market | No | Yes | No |
| Cost | Free | App fee | Dev time |
Market Detection vs IP Detection: The Setting That Matters Most
Geo gift apps find the visitor's country two ways.
1. Active Shopify Market (use this if you run Markets). The gift follows the market the shopper is browsing. EUR prices on your /de storefront → German gift. Always consistent with the cart currency and the checkout.
2. IP geolocation. Works without Markets, but it has failure modes the app listings don't mention:
- VPN users get the wrong country's gift.
- A traveler browsing from an airport gets the airport's gift, then ships home.
- Some apps resolve IP once per session — switch market mid-session and the gift doesn't follow.
- The detected country can disagree with the shipping country chosen at checkout — now the "wrong" gift is inside a paid order.
Our rule after building both: Market detection when you run Shopify Markets; IP only when you don't. Either way, the gift must re-validate against the cart — same discipline as gifts that auto-remove when the cart drops below the threshold.
Setting It Up in Oxify (5 Steps)
The flow in Oxify Cart Drawer & Upsells; other geo-capable gift apps follow a similar shape.
- Create the base gift rule. Threshold (spend or quantity) plus the default gift. This is what shoppers in unlisted countries get — or set "no gift" as the default.
- Add a country condition. Pick countries (or a Market) and assign a different gift SKU — or no gift — for that group.
- Type the threshold per market. Round numbers in each currency: €50, £40, $55. Don't let auto-conversion invent your rungs.
- Check gift stock per region. If the gift ships from one warehouse, confirm that warehouse serves those countries — or you've built a split-shipment machine.
- Test every market. Switch markets (or use a VPN for IP mode), watch the drawer swap the gift, cross the threshold, then remove items and confirm the gift leaves too. Check the progress bar copy shows the market's currency and the market's gift.
Qualifying shoppers see the gift added in the drawer automatically — or let them pick from a small gift menu per market, the higher-perceived-value version of the same idea.
Three Setups Stores Actually Run
- Domestic-rich, international-light. US orders over $60 get the branded pouch; everyone else gets a flat, envelope-weight gift (sachets, sticker sheet). Gift cost tracks shipping cost.
- Warehouse-matched gifts. EU orders get a gift stocked at the EU 3PL, US orders the US-stocked one. Zero split shipments, zero customs surprises.
- Market-taste gifts. A beauty brand sends SPF minis to Gulf and Southeast Asia markets and a hydration mini to Northern Europe. Same threshold, same campaign, locally sensible reward.
The Traps Nobody Puts on the Marketing Page
- Customs on "free" items — worse since 2025. A $0 cart line still has a declared value on the commercial invoice. The US ended its $800 de minimis on August 29, 2025, so US-bound parcels are dutiable regardless of value; the EU still waives duty under €150 but charges VAT from €0. Ship DDP for gift-bearing markets, or keep those markets' gifts stocked locally.
- Currency rounding vs thresholds. A converted threshold drifts with FX — Monday's qualifying cart fails on Friday. Fixed per-market thresholds fix it; same logic as the rest of your multi-currency cart drawer setup.
- Detection vs shipping mismatch. Decide what happens when detected country ≠ checkout shipping country. Safe default: the checkout country wins and the gift re-validates there.
- Hide the offer, not just the gift. If a country gets no gift, the progress bar and banners must not promise one. A German bar advertising the US-only tote is a support ticket.
- Restricted products. Aerosols, batteries, liquids over 100ml — fine domestically, refused at the border. Check the gift SKU against carrier rules per market before assigning it.
- Discount stacking. If you also run the native market discounts from Way 1, check combination settings so a shopper's coupon doesn't collide with the gift discount.
Is It Worth Doing? One Number Decides
Per market, compute landed gift cost (product + pick/pack + shipping share + any duty) as a share of the threshold:
- Under ~8%: comfortable. Run it.
- 8–15%: fine if the gift measurably lifts threshold-crossing — watch the share of orders landing just above the rung.
- Over 15%: pick a cheaper gift for that market or raise that market's threshold. That's the whole point of doing this per country.
Selling to one country? Skip all of this and use the simpler free gift in cart drawer setup. Geo-targeting earns its keep from your second real market onward.
Frequently Asked Questions
Can Shopify offer a free gift to certain countries only?
How do I exclude some countries from a free gift offer?
Should the app detect country by IP or by Shopify Market?
How do gift thresholds work with multiple currencies?
Will customers pay customs on a free gift?
Does Oxify support different free gifts per country?
What to Do Next
Start with your top two markets. Keep the gift you already run for the domestic one, assign a light, cheap-to-ship gift to the international one, set a round threshold in each currency, and test both with the market switcher. That's an hour of work and it stops the worst leak — paying international shipping (and now US duty) on a gift that costs more to deliver than it earns.
Oxify Cart Drawer & Upsells ships geo-targeted free gifts as part of its reward tiers: country-specific gifts, per-market thresholds, auto add/remove, and the tiered rewards bar to advertise them — from $9.99/mo.