Shopify Markets and Ads: One Profit Number Across Every Country
Selling abroad with Shopify Markets: currencies, duties, shipping, per-country ROAS from Meta and Google, and one profit number in your store's currency.
On this page
To run ads profitably in several countries, judge each market by its contribution after ads in your store's currency, not by the ROAS each platform reports there. Shopify reports in your store currency. Take off the costs that differ by market, such as shipping, duties you absorb, currency conversion and returns, then subtract ad spend from Meta's and Google's country breakdowns, converted the same way. Add the markets up for one profit number.
Key takeaways
- Shopify lets customers see prices, pay and get refunds in their own currency, but its reports show your store currency.
- Duties, conversion fees, international shipping and returns change margin by market, so one break-even ROAS for every country is wrong.
- Meta and Google can split ad results by country, but each uses its own attribution and location logic, so treat it as a guide.
- Compare markets on contribution after ads per $100 of sales, then move budget toward the markets that keep the most.
- Keep one store currency and one time zone for every profit number, and convert ad spend into it.
How Shopify Markets handles money
Shopify's international tools let you create markets for single countries or groups of countries, and set currency, prices, languages, domains, shipping and duties for them. Three money settings matter most for profit.
Local currency at checkout. Shopify's pricing in local currencies page says customers can view prices, pay at checkout and receive refunds in their local currency. You can adjust prices per market by a percentage, set product prices by country or region, and round converted prices. Shopify says stores using Shopify Payments with one-page checkout can use all of this.
Exchange rates. Shopify's exchange rates page explains that with automatic rates, prices change with market exchange rates, and that stores on Managed Markets can set a manual rate for each market. The rate used for a transaction is the one in effect at that moment. Store currency is the currency your reports display, and payouts arrive in your payout currency.
Conversion fees. Converting from your customer's currency to your payout currency costs money. Shopify's fees page lists a Shopify Payments currency conversion fee of 1.5% for US stores and 2% in other Shopify Payments regions, charged in your payout currency. On a thin margin, 2% matters.
Duties and import taxes
When you ship across a border, the customer's country may charge duties and import taxes. Either the customer pays them when the parcel arrives, or you collect an estimate at checkout. Collecting at checkout avoids surprise charges at the door, which can lead customers to refuse the parcel, and a refused international parcel costs you postage out and often postage back.
Shopify's page on collecting duties at checkout sets out what's needed: a carrier that supports delivered-duty-paid labels if you use shipping labels, no Shopify Fulfillment Network, and Harmonized System (HS) codes on your products. It lists a transaction fee of 0.85% on orders with duties calculated at checkout when Shopify Payments is your gateway and 1.5% with other providers, and says that since 2 February 2025 the fee has been temporarily lowered to 0.5% for all merchants. The amounts are estimates, and wrong product data can mean extra duties on delivery.
For profit, the question is who pays. If the customer pays duties at checkout, they're a pass-through. If you offer "duties included" prices and absorb them, they're a cost of that market, just like shipping.
Shipping and returns by market
International shipping costs more than domestic, and the gap is bigger for returns. A return from another continent can cost more in postage than the item is worth, and some brands refund without asking for the item back once the return label costs more than the product.
That makes returns the cost most likely to differ between markets. Track returns and refunds by market, in the month the order was placed, and give each market its own allowance in your margin. Some brands open a local returns address in their biggest foreign market to bring the cost down.

Per-country ROAS from Meta and Google
Both ad platforms can show results by country:
- Meta Ads Manager's Breakdown menu splits spend, purchases and purchase value by country for any campaign, ad set or ad.
- Google Ads' Locations report shows performance by location. Google's geographic performance help page says the matched locations view is based on where your ads appeared, and that these could be users' physical locations or locations of interest.
Treat both as a guide, not as truth. Each platform credits purchases to its own ads under its own attribution settings, so Meta and Google together can claim more sales in a country than your store made there. Why Meta Ads and Shopify disagree covers the reasons. The platform's country is also not always the shipping country of the order.
Two more traps:
- Ad account currency. Your ad accounts bill in their own currency. If an ad account is in euros and your store is in dollars, convert spend before you compare.
- Different break-evens. A market with higher shipping, duties and returns needs a higher ROAS to break even. A 2.5× ROAS can be healthy in one country and a loss in another. Break-even ROAS shows the formula; work it out per market.
For a top-line check that doesn't depend on attribution, divide each market's Shopify sales by its ad spend: the market's MER. MER vs ROAS explains when each number is the right one.
Worked example: four markets, one profit number
Take a US store with its store currency in dollars, selling in four markets in one month. All figures are converted to dollars, and product cost is 30% of sales everywhere.
| Market | Sales | Ad spend | Platform ROAS | Shipping, fees, duties | Returns and refunds | Contribution after ads |
|---|---|---|---|---|---|---|
| United States | $50,000 | $15,000 | 3.3× | $6,000 | $4,000 | $10,000 (20%) |
| United Kingdom | $15,000 | $5,000 | 3.0× | $3,000 | $1,500 | $1,000 (6.7%) |
| Germany | $10,000 | $3,500 | 2.9× | $2,300 | $2,000 | −$800 (−8%) |
| Australia | $8,000 | $2,000 | 4.0× | $2,000 | $600 | $1,000 (12.5%) |
| All markets | $83,000 | $25,500 | — | $13,300 | $8,100 | $11,200 (13.5%) |

On platform ROAS, Germany at 2.9× looks almost as good as the US at 3.3×. On contribution, it loses $800, because its shipping, duties and returns eat the margin before ads are paid for. Australia has the best platform ROAS but a smaller market. These are illustrative numbers, but the pattern is common: the market with the best-looking ROAS isn't always the one that keeps the most money.
What to do with a table like this:
- Fix before cutting. A losing market might need duties collected at checkout, a local returns address or a price adjustment rather than less spend.
- Set a break-even per market. Use each market's own contribution margin before ads.
- Move budget monthly, not daily. Returns from far markets take weeks to arrive, so let a month settle first.
Keeping one number in your store's currency
The simplest rule for international profit is one currency and one calendar. Convert everything, including sales from Shopify, spend from every ad account and fees from your payment provider, into your store currency, and count days in your store's time zone. Then the totals add up and last month can be compared with this month.
A few practical habits:
- Convert at the rate of the day, not a fixed yearly rate, for spend in other currencies.
- Count returns in the month the order was placed, so each month's profit settles as returns come in.
- Get product cost right first. Landed cost, including freight and duty on stock you import, is the base of every market's margin. How to set up product cost in Shopify walks through it.
- Check margins by market in Shopify. Its profit reports include average profit margin by market, once cost per item is set.
Contribution margin for D2C brands covers the levels you'll use, and our roundup of Shopify profit analytics apps notes which tools handle several currencies.
Common mistakes
One break-even ROAS for every country. Shipping, duties and returns differ, so break-even does too.
Mixing currencies. Adding euro spend to dollar sales without converting makes every ratio wrong.
Trusting the platform's country split as exact. Use it to steer, then check against Shopify sales by market.
Judging a new market in its first month. Returns and refused parcels arrive late; wait for the month to settle.
Forgetting conversion fees. A 2% fee on every foreign order adds up.
Tera Ads shows Shopify sales, Meta Ads and Google Ads spend and your store's profit after returns on one screen, with money in your store's currency and days in its time zone. It's free for one business, with no card needed.
Frequently asked questions
What currency does Shopify use for reports?
Your store currency. Shopify's exchange rates page says store currency is the currency that displays in your reports, even when customers pay in their own.
Does Shopify charge a currency conversion fee?
Yes, with Shopify Payments. Its fees page lists 1.5% for US stores and 2% in other Shopify Payments regions, charged in your payout currency.
Should I collect duties at checkout?
It usually reduces refused parcels, because customers aren't surprised by charges at the door. Shopify lists requirements, including HS codes on products, and a transaction fee on those orders.
How do I see ROAS by country?
Use the country breakdown in Meta Ads Manager and the Locations report in Google Ads. Treat both as a guide, and check them against Shopify sales by market.
Why is my ROAS fine in a country that loses money?
Shipping, duties, conversion fees and returns can be higher there, so the same ROAS leaves less margin. Work out break-even ROAS for each market.
How do I keep one profit number across countries?
Convert sales, ad spend and fees into your store currency, count days in your store's time zone, and add each market's contribution after ads together.