Data import errors in GA4
GA4 data import merges external files (cost data, item metadata, offline events, user attributes) with collected data by matching on a key. When the key, the column names, the date format, or the schema do not match exactly, rows fail to import or join to nothing — leaving partial or absent enriched data with no obvious error in reports. This page covers the join model and its failure points.
What this means
GA4 data import takes a CSV (or scheduled SFTP feed) and joins it to existing data on a defined key — for cost data the key is typically a date plus source/medium/campaign; for item data the key is the item ID. Rows whose keys do not exist in the collected data simply do not join.
Because the join is silent, a misformatted date column or a renamed header produces empty enriched dimensions rather than a hard failure.
Where imports fail
Header names that do not match the schema, dates in the wrong format, a key value that never appears in collected hits, character-encoding problems, and exceeding row or file limits. Checking the import's processing status is the first diagnostic step.
- Join key must match collected values exactly
- Date and header formats must match the schema
- Check import processing status before blaming reports
How it appears in analytics and logs
Imported dimensions showing blank or unmatched mean the join key did not align — a format mismatch, a missing key column, or a failed upload — not that the source data is wrong.
Diagnostic use case
Diagnose why imported cost or item data is not appearing by checking the join key, formats, and import status rather than assuming a reporting bug.
What WebmasterID can help detect
WebmasterID captures campaign and event context first-party at collection time, reducing reliance on after-the-fact imports that can silently fail to join.
Common mistakes
- Assuming an import succeeded without checking its status.
- Mismatched date formats or header names in the upload.
- Importing on a key that never appears in collected data.
Privacy and accuracy notes
Importing user attributes can introduce personal data; only import data you are permitted to and avoid raw identifiers. This page is educational, not legal advice.
Related pages
- Ads vs analytics discrepancies
It is normal for Google Ads and GA4 to report different conversion and click numbers for the same campaign. They use different attribution models, count conversions at different times (Ads at click time, GA4 at conversion time), define a click versus a session differently, and apply different windows and de-duplication. This page enumerates the documented reasons the two tools diverge.
- (not set) and Unassigned values
GA4 shows `(not set)` when no value was collected for a dimension at the time data was recorded, and `Unassigned` when traffic could not be matched to any defined channel group. These are not errors so much as honest placeholders — but each has distinct, documented causes worth diagnosing rather than ignoring. This page separates the placeholders and what produces them.
- An analytics data-validation checklist
Before you act on a report, validate the data that produced it. This checklist walks the recurring failure points — duplicate tags, unfiltered bots, internal traffic, wrong time zone, broken events, sampling — and gives a concrete check for each. Run it after any tracking change and periodically, so a metric you trust is a metric you have verified.
- Attribution Analytics
First-party capture reduces fragile imports.
Sources and verification notes
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.