August 7, 2026 · 6 min read

GA4 Campaign Data Import Now Requires a Currency: What It Means for Your Cost Reports

On July 28, 2026, Google made currency a required field for campaign data import in GA4. Every upload of cost data now needs a currency, either mapped from a column or fixed for the whole dataset. If you manage client properties, this change touches how you import ad spend from Google Ads, Meta, TikTok, or any other source, and it quietly fixes a failure mode that has been distorting cost reports for years.

This guide covers what exactly changed, why it matters more than it looks, how the two new setup paths work, and how to audit your existing imports before the old behaviour bites you again.

What changed on July 28

Google's release note is short: campaign data import now requires a currency field whenever you upload cost data. You get two ways to supply it. You can map the currency from a column in your data source, which lets each row carry its own ISO 4217 code such as GBP, EUR, or USD. Or you can apply a single fixed currency to the entire dataset. Pick the option that matches how the data is structured.

The requirement applies to every import method: CSV, Google Sheets, BigQuery, Amazon Redshift, Amazon S3, Google Cloud Storage, HTTPS, MySQL, PostgreSQL, SFTP, Snowflake, and the direct third-party connections for Meta, Pinterest, Reddit, Snap, and TikTok. There is no method left where you can skip the currency.

Why this is a bigger fix than it looks

Before this change, currency was optional on cost uploads. GA4 simply assumed the imported cost matched the property's currency. That assumption worked fine until it did not. If an admin changed the property currency, for a merger, a restructure, or a reporting alignment, every historical cost import was silently reinterpreted under the new currency. CPC and ROAS shifted overnight with no error message and no audit trail.

That silent reinterpretation is the real problem this release kills. The February 2025 simplification had reduced the mandatory cost import fields to source, medium, and date, so currency became an implicit expectation rather than an enforced input. July 28 moves the enforcement point: from now on, the import itself refuses to process until you state the currency. The ambiguity is gone at the point of upload.

There is a second reason the timing matters. Cross-channel budgeting, in beta since January 16, 2026, leans on imported cost data to project spend and conversions. If the underlying cost figures carry a hidden currency error, every projection inherits it. Google tightening the input now protects a feature that cannot work with wrong numbers.

What happens to your existing imports

Google did not force retroactive remapping. Existing imports set up before July 28 keep reporting under the old assumption: imported cost matches the property currency. They stay that way until the source is edited or replaced.

That grandfathering is good news and a trap at the same time. The risk that motivated this change is still live in every pre-July 28 source. If the property currency changes at any point, those imports distort silently, exactly as before. The release protects new uploads, not your historical ones. Auditing the legacy sources is now your job, not Google's.

The two setup paths in practice

The column mapping option is for datasets that mix currencies. A holding company importing cost for several country accounts into one property would put a currency code in each row, letting GA4 interpret every line correctly. The fixed currency option is for single-currency datasets, which covers most agency setups where one client account spends in one currency.

The choice changes how you build the upload. With column mapping, the currency column must contain valid ISO 4217 codes and the header needs to be mapped in the import setup. With a fixed currency, you confirm the code once at configuration time and the whole dataset is read against it.

One warning from Google's documentation: if an import omits both options, the upload will not process until a currency is supplied. There is no documented fallback. Expect failed imports for any source you touch after July 28 until you add the field.

Manual imports and direct connectors behave differently

The conversion behaviour is not uniform, and assuming it is will cost you. For manual imports, CSV, Sheets, and warehouse sources, GA4 does not auto-convert. The imported currency should match the property currency. If it differs, change the ad account currency or convert the figures before importing. The Google Sheets add-on supports manual conversion, so you can fix the numbers at the source.

Direct connectors are a different story. Google states that financial data pulled from TikTok, Reddit, and Pinterest is automatically converted to keep aggregation accurate even if the property currency changes. The Meta connector guidance, however, tells you to match currencies manually. Do not assume uniform behaviour across connectors. Check the documentation for each one you use, because the connector that converts for you and the one that does not will look identical in the UI.

How to audit your campaign data imports

If you manage properties for clients, run this checklist once per property and add it to your standard QA:

The check that catches most problems takes two minutes: compare a month of imported cost in GA4 against the same month in the ad platform. If the numbers match, the currency is behaving. If they diverge, the import is interpreting something differently than the platform did.

What this means for UK teams

UK agencies run multi-currency client books as a matter of course. A London agency with clients in GBP, a Dublin office in EUR, and US-based brands in USD imports all three into different properties. The July 28 requirement removes a class of error that hits exactly those setups, the ones where currency was most likely to be assumed rather than stated.

The UK angle goes further. Since the June 15, 2026 Consent Mode v2 enforcement deadline, most UK properties run a default denied state, so cookie-based signals are reduced. ROAS and CPC are often the only reliable efficiency numbers left. Clean cost data matters more when every other signal has shrunk. A currency error in the cost side corrupts the one ratio you can still defend in a budget meeting.

This release is not a headline feature, but it is the kind of quiet change that decides whether your client reports are right. Add the currency audit to your next property review, fix the legacy sources, and use the new field as the forcing function it is designed to be.

Wrong cost data is worse than no cost data, because it looks right. Book a consultation and we will audit your campaign data imports, property currency settings, and reporting configuration to make sure your ROAS numbers hold up in front of clients.