Your return on ad spend is wrong if spend and revenue are in different currencies

Google Ads bills in the currency the account was opened in, and GA4 reports revenue in US dollars unless someone changed it. Divide one by the other and the return moves with the exchange rate; here is how to check and fix it.

Kosmas Botsis, Founder of Glancely · 13 October 2026 · 5 min read

In short

  • Google Ads spend is in the ad account's currency, fixed when the account was created.
  • GA4 revenue is in the property's reporting currency, which is US dollars unless someone changed it.
  • Dividing one by the other mixes in an exchange rate: in our example, 4.68 instead of 4.00.
  • Set GA4 to the currency you sell in, or convert spend at one stated rate.
  • Then take revenue from the paid channels only, over all of the spend.

Your Google Ads account bills you in euros. Your GA4 property reports revenue in US dollars, because nobody changed the setting when it was created. Divide one by the other and you get a return on ad spend that looks like a fact: a number, two decimal places, ready for the monthly report.

It is not a fact. It is dollars divided by euros, and the answer moves every time the exchange rate does, even if the ads and the shop do exactly the same. Before asking which marketing makes you money, check that both sides of the sum are counted in the same money.

An example

An invented shop that sells in euros. Last month its Google Ads campaigns cost €2,000, and the paid channels in GA4 brought in sales worth €8,000. The true return is €8,000 ÷ €2,000 = €4 back for every €1.

Here is what the same month looks like depending on the reporting currency of the GA4 property. The exchange rates are round illustrative figures, not today's.

GA4 reports revenue inPaid revenue shownAd spend (euros)Revenue ÷ spendOff by
Euros€8,000€2,0004.00–
US dollars (at 1.17)$9,360€2,0004.68+17%
Pounds (at 0.87)£6,960€2,0003.48−13%
Swedish kronor (at 11.0)SEK 88,000€2,00044.00+1,000%

The last row is easy to spot. The dollar row is the dangerous one: 4.68 looks entirely believable, and it is 17% too high.

It also drifts. If next month the rate falls from 1.17 to 1.10 and the shop sells exactly the same, GA4 shows $8,800, and the return reads 4.40 instead of 4.68. That is a 6% decline in a report about ads that did not change at all.

Why it happens

The two products keep their money in different places, and neither converts to the other.

So a European shop whose property was left on the default has every sale quietly turned into dollars. The revenue is not wrong as a dollar figure. It just cannot be divided by a spend figure in euros.

A return on ad spend is only a ratio when both numbers are in the same currency. Otherwise it is partly an exchange rate.

Where it bites

  • Properties left on the default. Any business outside the US whose GA4 property still reports in dollars.
  • Agencies. One client's ad account may be in pounds and the property in euros, and the report template divides them the same way for every client.
  • Month-on-month reports. A rise or fall in the return can be the exchange rate, with nothing in the report saying so.
  • BigQuery. In GA4's BigQuery export, "the raw transaction values included in the data are in local currency", not the reporting currency. Revenue from the export and revenue from GA4's reports can be in different currencies for the same property.

How to get the right number

  1. Check both currencies. The Google Ads one is the currency you are billed in. The GA4 one is in Admin, under Property settings.
  2. If you sell in one currency, set GA4 to it. Google says businesses that transact in a single currency other than USD can choose another one in Property Settings. The change is retroactive: "previous data will be converted to the newly configured currency". Tell anyone who reads the property before you change it, because every revenue figure they have seen will change.
  3. If the two still differ (say the ad account was opened in dollars and cannot change), convert the spend, not the revenue, at one stated rate for the period, and write the rate next to the result. It is an approximation, since GA4 converted each sale at the previous day's rate, but it is an honest one.
  4. Make sure each purchase carries its currency. Google notes that if you set value in your event data, "currency is required for revenue metrics to be computed accurately".
  5. Then use the paid channels only. Same currency is necessary, not sufficient: dividing all revenue by ad spend credits the ads with organic sales. See why your return on ad spend counts sales your ads didn't make.

Before trusting the revenue side at all, it is worth checking it is counted right: orders recorded once, each carrying its value. Our free GA4 audit checks those in about a minute, read-only.

How Glancely handles it

Glancely reads both currencies from Google when a source is connected: each Google Ads account's, for its spend, and each GA4 property's reporting currency, for its revenue. On the Revenue page, when the two differ, both columns are still shown, the return is left blank, and a note says why: nothing is converted. Cost per conversion is still shown, because a count of conversions has no currency. The assistant is told the same and asked to say so rather than divide.

Kosmas Botsis

Kosmas Botsis · Founder of Glancely

Kosmas Botsis is the founder and lead data engineer of KB Analytics, an analytics engineering practice in Athens working with clients across Europe and the US: more than 250 projects for over 194 clients, and in Toptal's top 3% of talent. Glancely is what came out of that work.

More from the blog