GA4

GA4 Requires a Currency Field for Cost Imports: What Changes, and What Doesn’t

Marketing budget spreadsheet of cost columns on a monitor, representing GA4 campaign cost data import

Google announced a change to campaign data import on July 28, 2026: any upload that includes a cost metric must now carry a currency field. The announcement went up on Google’s official “What’s new in Google Analytics” page. In our reading, the change shifts currency from something GA4 assumes about a property into something the import has to state for itself.

Does GA4 now require a currency field for cost data?

Yes. As of July 28, 2026, Google Analytics 4 requires a currency field whenever a campaign data import includes cost data. In Google’s own words, “We’ve updated campaign data import to require a currency field whenever you upload cost data.” The field can be mapped from a column already in the source file, or set once as a fixed value applied to the whole dataset.

What happens to imports you already uploaded

The requirement is new, and Google’s announcement is explicit about imports already in place: “Any existing campaign data imports will continue to report under the assumption that the imported cost matches your current property currency.” Nothing in that sentence describes a warning, a validation error, or a broken upload. It describes a default that was already in effect before there was a field to name it.

Consider a team importing EUR ad spend into a property set to USD. Per Google’s own description, nothing changes for that import now. Google states the purpose of the new field narrowly: it keeps campaign reporting accurate even if the property’s currency setting changes later. The field governs what you upload from here on.

Two ways to declare currency

The field is labeled Currency (ISO 4217 code). Google’s Import campaign data help documentation lists it as required if a cost metric is included, and sets out two configuration paths. In the announcement’s phrasing: “When importing your campaign data, you can now choose to map the currency directly from a column in your data source or apply a single, fixed currency to the entire dataset.”

See also  Half the Internet Is Now Bots: How AI Crawler Traffic Is Breaking Marketing Analytics
Configuration path When it fits What it needs
Map from data source The import mixes currencies, for example campaigns billed in EUR and GBP inside the same feed A column in the source file holding the currency code in ISO 4217 format
Static value (hardcode) The entire dataset is billed in a single currency Selecting the field, clicking Static value, and choosing a currency from the dropdown

Either path satisfies the requirement. The choice is about how the source data is already shaped. Once currency is declared, Google’s documentation notes that “Google Analytics handles all conversions of data for aligned reporting.”

Why this matters beyond the report

In our view, cost import feeds more than the report screen where a number first appears, and declaring currency at import time removes an ambiguity for anything that reads the imported cost figures later. That puts this change in the same direction of travel as GA4’s shift from reporting toward cross-channel budget planning, where the quality of the inputs decides the quality of the output.

It is also not the first GA4 control to move from a property-wide default toward something declared more specifically. The June 15, 2026 change to GA4 consent mode and the ad_storage signal made a separate, narrower signal the sole authority over the Google Ads data path, which caught out teams that had assumed the Google Signals toggle governed it. Currency import follows a similar shape: a property-level assumption gives way to a value declared where the data enters the system.

The practical step is small. Open the CSV or feed behind your next campaign cost import and check whether it already declares a currency, or whether the account has been relying on the property default without saying so. If the cost data spans more than one currency, map the currency from a column in your data source. If it does not, use the static value option. Either way, the field is required whenever the import carries cost data.

See also  GA4 Adds AI Assistant Channel: ChatGPT, Gemini, and Claude Get Their Own Row in Acquisition Reports