Data Measured

artifact #A-003 · template · current

Campaign data import CSV template

The exact columns a GA4 campaign data import (formerly cost data import) joins on today: source, medium, ISO date — with currency on every cost row since 28 July 2026.

verified_on
2026-09-09
checked against
GA4 What's new — Jul 28, 2026 (currency required)GA4 What's new archive — Feb 3, 2025 (required fields)GA4 What's new archive — Nov 19, 2025 (rename)
next re-check
2026-12-01
status
current
time
10 minutes
skill
you can edit a CSV

What's inside

  • Header row with the required keys first, then the optional attributes
  • Two example rows (Meta, TikTok) with SGD and USD
  • The three rules that fail most uploads, as a comment row to delete

Install

  1. Export cost, clicks and impressions from the ad platform by day.
  2. Make source and medium match the utm_source / utm_medium on the landing-page URLs the platform actually sends (the validation report shows mismatches since 10 Aug 2026).
  3. Admin › Data import › Campaign data › upload; check the coverage rate in Reports › Data import.

The file · campaign-data-import-template.csv

Download
source,medium,date,campaign_id,campaign_name,cost,currency,clicks,impressions
facebook,cpc,2026-09-01,120210000000001,brand-sg-sep,84.20,SGD,131,9820
tiktok,cpc,2026-09-01,1800000000000002,launch-vn-sep,52.00,USD,208,30410
# Required to join: source + medium + date (ISO 8601) — they must match the utm_source / utm_medium the landing-page URL actually carries. currency is required on any row with cost (since 28 Jul 2026). campaign_id / campaign_name are attributes, not join keys (since 3 Feb 2025). Delete these comment rows before uploading.

Breaks on

The logged changes that can invalidate this artifact. A new one triggers a re-check.

Stamped 9 Sept 2026 · re-checked quarterly or on change · corrections to team@datameasured.com · ← the library