Data Import allows you to add external data to your existing Google Analytics 4 (GA4) data. The data you can import is categorized into five data types: Cost Data, Item Data, User Data, Offline Events, and Custom Event Data.
In summary:
- Cost Data is data associated with the cost of running non-Google campaigns to allow GA4 to calculate CPC, ROI, etc.
- Item Data are item-scoped dimensions
- User Data are user properties
- Offline Events are events that cannot be tracked via web tracking, SDKs, or Measurement Protocol
- Custom Event Data are event-scoped dimensions
What Can Be Imported and What Is Required with Data Import?
Each of these data types requires some information to join your imported data with GA4 data.
Data Type | Required Parameters | Available to Import |
---|---|---|
Cost Data | Dimensions: - Campaign ID (utm_id) - Source (utm_source) - Medium (utm_medium) - Campaign name (utm_campaign) - Date (ISO 8601: YYYY-MM-DD) At least one of the following metrics: - Clicks (daily value) (optional) - Cost (daily value in the format 0,000.00) (optional, but expected) - Impressions (daily value) (optional) | - Cost - Clicks - Impressions |
Item Data | - Item ID | - Item name - Item category - Item category (2-5) - Item brand - Item variant |
User Data | Either of: - Client ID + Stream ID - User ID | User Properties |
Offline Events | - (tag_id and client_id) or (firebase_app_id and app_instance_id) - event_name | Any event, parameter, item, or user property. |
Custom Event Data | At least one and up to two dimensions total. Check documentation for more details. | Custom event-scoped dimension or standard page/screen dimensions |
Offline Event Import also requires users to acknowledge the User Data Collection Acknowledgement in the data collection screen of the admin section. This is needed to make sure that organizations are only responsible for uploading data from users who have agreed to collect data.
Is Data Import Retroactive?
There are two ways that imported data is joined: processing time or query time.
Processing time is when GA4 collects, processes, and joins imported data at the time the events are processed. Imported data cannot be retroactively associated with historical data that has already been processed before the import is set up. Offline events allow you to use timestamps, but the timestamp values must be within 72 hours of when the offline events were uploaded, otherwise timestamps will be ignored.
Query time is when GA4 joins data at the time you query a report. Imported data joined during query time can be joined with historical data, and the data is retroactive. This type of join is temporary and if the imported file is deleted, the data that was imported will also be deleted.
Note: Reporting/Query time data is not available when you’re creating audiences in Analytics or when you’re creating segments in Explorations.
Here’s a table reflecting which data types are query time and which are processing time:
Data Type | Join Type |
Cost Data | Reporting/Query time (Retroactive) |
Item Data | Reporting/Query time (Retroactive) |
User Data | Collection/Processing time |
Offline Events | Collection/Processing time |
Custom Event Data | Reporting/Query time (Retroactive) |