One report across Google, Meta and LinkedIn — with the same definitions every month
Every platform reports well on itself and not at all on the others, so the monthly view gets rebuilt by hand in a spreadsheet. Quiriz reads the exports you already download and answers ROAS, CPA, CPC, CPM and CTR across all three — the same way each time.
This is built for the person who runs the ads and builds the report — where there is no agency sending a deck and no analyst maintaining a dashboard. The work is not hard; it is that it has to be redone every month, and it comes out slightly different each time.
The metrics come pre-defined
Every formula, so you can check it against how you already measure before uploading anything.
| Metric | Definition | What it is for |
|---|---|---|
| Ad spend | sum of cost | Platform-reported cost. Excludes agency and management fees, and any credits, unless your export already nets them out. |
| ROAS | conversion value ÷ spend | Whether a campaign or platform returns more than it costs. Platform-attributed, so it is an upper bound. |
| CPA | spend ÷ conversions | Cost per conversion, lead or acquisition — whichever your platform is counting. |
| CPC | spend ÷ clicks | What you actually paid for traffic, not what the export's own cpc column averaged. |
| CPM | 1,000 × spend ÷ impressions | Cost of delivery, comparable across platforms in a way CPC is not. |
| CTR | clicks ÷ impressions | Whether the creative earns the click. |
| Conversion rate | conversions ÷ clicks | Click-to-conversion, not impression-to-conversion. |
Impressions, clicks, conversions and conversion value are available on their own as well, so a question can ask for the components rather than the ratio.
Why your CPA is probably wrong in the spreadsheet
Put daily CPA in a column and average it, and a Tuesday that spent $2 and converted once counts exactly as much as a Saturday that spent $2,000 and converted eight times. The result is a number that moves when nothing about the campaign moved.
Every ratio here is a ratio of sums. CPA for a campaign is that campaign's total spend divided by its total conversions, over the window you asked about — never the average of its daily rates. Same for ROAS, CPC, CPM, CTR and conversion rate. It is the definition each ad platform uses in its own interface, and it is the one your export's per-row cpc and ctr columns will not reproduce once you group them.
A zero denominator returns no figure rather than a zero. A campaign with no conversions yet has no CPA — reporting $0.00 there would read as free.
What it breaks down by
Governed answers break down by campaign, platform, objective and ad account, over any window you ask for.
Deliberately not by device or ad group. Every breakdown has to exist in every export it reads, and device is Google-only while ad groups are called three different things across three platforms — declaring either would take the whole report down for anyone whose export lacks it. If all of your exports carry one, it is a small change to add.
The exports it reads
- Google Ads — the campaign performance report by day, with cost, impressions, clicks and conversions.
- Meta Ads Manager — daily campaign export, with amount spent and results.
- LinkedIn Campaign Manager — daily campaign performance.
- A campaign list — campaign id, name, platform, objective and account. This is what makes "by objective" and "by account" possible; a performance export alone cannot say what a campaign was for.
Two columns matter more than the rest: campaign id, which is how the daily rows meet the campaign list, and spend in currency — the Google Ads API reports cost in millionths, and a file of cost_micros is refused rather than silently divided.
Exports, not a live connection. Nothing to authorise and no tracking script to install, and the trade is honest: your numbers are as current as your last download, which suits a weekly or monthly review rather than live budget pacing.
What it will not answer
Conversions will not tie to your store or CRM totals, and no tool reading ad exports can make them. Each platform attributes and dates conversions by its own window, and all three will claim the same purchase. Add up three platforms' conversions and you have double-counted on purpose. Quiriz reports what the platform claimed; it does not re-attribute, and it will say so rather than quietly reconciling.
For the same reason there is no blended CAC or MER here: those need your order or CRM revenue sitting beside the ad data, which is a different question of different files.
Reach and frequency are not governed either. Reach counts people and does not add up across days — a week of daily reach is not a weekly reach — so a rate computed against it is a different metric wearing the same name. Impression share, average position and quality score are Google-only and equally unsummable.
Why the number holds still
Ask a chat assistant for CPA twice and you can get two numbers, because it re-decides each time whether to average the rows or divide the totals, and whether a paused campaign's January spend still counts. Quiriz routes the question to a stored definition that compiles to SQL, so the same question returns the same figure — and every answer states whether it came from those definitions or was answered freehand.
Pricing
You pay for workspaces and the people who build them — not for everyone who asks a question. The founder checking last week's ROAS costs nothing. See pricing →
Your files stay yours, and we do not train on your data. Privacy policy →