Guides5 min read
Import Google Ads spend into your analytics, step by step
The CSV columns the import needs, a daily export from Google Ads, and how to check the rows before they go live.
What the import needs
Ad spend comes into atrby as a CSV file. Each row needs three things: a date, a campaign name and a cost. Clicks and impressions are optional and aren't used for ROAS.
- Date. ISO format,
YYYY-MM-DD. Google's Analytics import guide asks for the same format in its import template. - Campaign. The campaign name, matching the
utm_campaignyou put on the ad links. Matching ignores capital letters and spaces at the ends. - Cost. The amount spent for that campaign on that day, in the currency of the account.
Each row is one campaign on one day. A campaign that ran for a month is 30 rows, not one total. That is what lets the import line spend up with the payments on the same day.
Export a daily campaign report
- In Google Ads, open the Campaigns view and pick the date range you want.
- Set the breakdown to day, so each row is one campaign on one day.
- Download the table as CSV.
Google changes menu labels from time to time, so look for the same options if the names have moved. What matters is the daily breakdown and a CSV download.
What the importer reads and skips
Google exports often have a title and a date range above the header. atrby looks for the header in the first rows, so those lines are fine. Rows marked as totals are skipped.
A campaign whose name contains the word “total”, such as Total Sales Retargeting, is kept, because only the total rows are skipped.
A cost of -- is read as zero, which Google uses for days with no spend.
Currency
The cost is read in the currency the file gives, if there is one. If the file has no currency, atrby uses your workspace currency and says so on the review screen, so you can check it before you publish.
Each day's cost is converted into your workspace currency at that day's European Central Bank reference rate. If a day has no rate, that row is rejected with a reason, and nothing is guessed.
Review, then publish
The import doesn't go live when you upload it. The review screen shows the number of rows read, the rows it couldn't read with the reason for each, the total spend in your currency, and the currency it assumed.
Publish when the numbers look right. If you publish the wrong file, roll it back. A rollback is refused when a later import has been published on top of it, so roll back the later one first.
A single file can hold up to 50,000 rows and must be under 10 MB.
When a row is rejected
Rejected rows are listed with the line number and the reason. The common ones are a date that isn't in ISO format, a cost that isn't a number, and a day with no exchange rate.
Fix the rows in your spreadsheet and import the file again. Nothing from the rejected rows was saved.
Test on a small file first
Export a single campaign for three days before you export the whole account. Import that file and check that the totals match the ad platform. Then import the full range.
Matched revenue appears on the Revenue screen under Campaigns once you have both spend and tagged payments. Until then the campaign shows spend with no revenue, and that is expected.