MixedMetrics
All articles

GUIDES

How to Track Ad Spend Across Platforms

How to track ad spend across Google, Meta, TikTok, LinkedIn, and the rest in one place: why spreadsheets drift, what a real ad spend tracker needs, and how to reconcile platform numbers against what your bank actually paid.

By the MixedMetrics team // July 2026 // 11 min read

Tracking ad spend sounds like the easy part. Every platform reports exactly what you spent, the numbers are not in dispute, and adding them up is arithmetic a child could do. Then quarter-end arrives, finance asks why the marketing line is $14,000 off, and you spend two days discovering that Meta charged you across a month boundary, TikTok posted a credit you never saw, and the Google Ads figure in your spreadsheet has been in the wrong currency since March.

This is how to track ad spend across platforms in a way that survives contact with a finance team, and what a real ad spend tracker needs to do beyond summing four numbers.

Why the total is harder than it looks

Four things make consolidated ad spend genuinely difficult, and none of them are obvious until they have already cost you a reconciliation.

Billing thresholds. Most ad platforms charge you when you cross a spending threshold, not on the first of the month. A single card charge can therefore cover the last week of March and the first week of April. If you track spend by charge date, your monthly totals are wrong by construction. Track by spend date, always, and reconcile to charges separately.

Currency. If any account bills in a currency other than your reporting currency, you now have two exchange rates in play: the platform's and your card issuer's. They differ, sometimes by two or three percent, which on $500,000 of annual spend is real money and a real variance to explain.

Credits, refunds, and clawbacks. Invalid traffic credits, promotional credits, and refunds post days or weeks after the spend they adjust, often against a prior period. A number you exported on the 1st is not the same number the platform will show for that period on the 15th.

Account sprawl. The client with three Google Ads accounts under two MCCs. The legacy Meta account nobody closed that still runs a $40 a day retargeting campaign. Spend you do not know about does not show up in the sum, and it is the category that produces the nastiest surprises.

The spreadsheet version, done properly

For two or three platforms, a spreadsheet is fine and I would not talk anyone out of it. Structure it so it fails loudly rather than quietly:

One tab per platform, at daily granularity, holding date, account, campaign, cost, and currency. Never monthly totals, because daily data lets you catch the threshold problem and monthly data hides it. One normalization tab that converts every currency at a stated rate and maps the platforms' various names for cost into one column. One summary tab with total spend by day, week, and month, plus a variance row comparing your total to what finance actually paid.

That variance row is the whole point. A spreadsheet that shows total spend is a report. A spreadsheet that shows total spend and how far it is from the bank is a control.

What kills the spreadsheet version is not complexity, it is attendance. Manual exports get done weekly in January and monthly by March, and by summer someone is backfilling four months the night before a board meeting.

What a real ad spend tracker needs

If you are evaluating tools, these are the requirements that actually matter, in rough priority order.

RequirementWhy it matters
Daily API refresh, not manual exportRemoves the attendance problem, which is what kills every spreadsheet
Single reporting currency, stated rateMulti-currency accounts otherwise produce unexplainable variances
Spend-date granularityLets you reconcile against charges without the threshold problem
Retroactive restatementCredits and clawbacks change history, so yesterday's number must be allowed to change
All accounts, including the forgotten onesAccount sprawl is where the surprises live
Revenue alongside spendSpend without revenue is a cost report, not a marketing decision tool
Read-only accessA tracker should never be able to change a budget or pause a campaign

That last row deserves emphasis. Any tool that consolidates spend needs credentials to your ad accounts, and there is no reason for a reporting tool to hold write access. Read-only scopes mean the worst case is a data exposure rather than someone else's automation moving your budgets.

Spend alone is only half the number

Here is where most ad spend tracking projects stop one step short. You get a clean, reconciled, daily total of what every platform cost. It is genuinely useful for forecasting and for finance. And it still cannot tell you whether any of it was worth spending.

Spend only becomes a decision when it sits next to the revenue it produced, and specifically next to revenue from your billing system rather than the sum of what each platform claims. Platform-reported conversion values overlap heavily, because the same customer gets counted by Google, Meta, and TikTok under three different attribution windows. Add them up and you typically overstate real revenue by 30 to 60 percent.

Total spend against total actual revenue gives you blended ROAS. The same spend against new customers acquired gives you blended CAC. Those two numbers, tracked over time, answer more strategic questions than any per-channel report, and they are only possible once the spend side is properly consolidated. Which is why spend tracking is worth doing well, and why doing it in isolation is a waste of the effort.

Do this monthly, whatever tool you use

A short close process catches almost everything before it compounds.

Reconcile consolidated spend to invoices and card charges, on spend date, and write down the variance rather than shrugging at it. List every ad account you have access to and confirm each one appears in the tracker, because this is how you find the retargeting campaign that has been running unattended since February. Check for credits and refunds posted against prior periods and restate if needed. Then compare spend to revenue for the closed month and record blended ROAS, blended CAC, and MER, so you have a trend line rather than a single reading.

Twenty minutes, monthly. It is the cheapest financial control most marketing teams do not have.

The other spend line that drifts

Worth saying, because the pattern is identical and finance will eventually ask. Advertising is rarely the only usage-based line that grows quietly. Cloud infrastructure and SaaS subscriptions drift the same way, for the same reasons: many accounts, usage-based billing, and no single view. Teams that fix ad spend visibility often find the next-largest variance sitting in the same shape, and reading cloud and software spend into one place closes it the same way. Same discipline, different invoice.

Doing it without the spreadsheet

MixedMetrics consolidates ad spend by connecting read-only to Google Ads, Meta Ads, TikTok Ads, GA4, and Search Console, alongside Shopify, Stripe, and Klaviyo or HubSpot on the revenue side. Spend lands daily at campaign granularity in one reporting currency, and because billing data is connected too, it sits next to actual revenue rather than platform-reported conversion values. Blended ROAS, blended CAC, MER, and LTV are computed for you, and an AI layer flags what changed and where spend is leaking before the month closes. Flat $79 per month.

The ad spend tracking page walks through the consolidated view, and cross-channel marketing analytics covers what happens once spend and revenue are in the same place.

Frequently asked questions

How do you track ad spend across multiple platforms?

Pull daily campaign-level cost from every ad platform into one normalized table, convert everything to a single currency, then reconcile that total against the invoices and card charges your finance team actually paid. Doing it manually in a spreadsheet works up to about three platforms. Beyond that, read-only API connectors that refresh daily are the only version that stays accurate.

Why does my ad spend not match my credit card statement?

Three usual causes: billing thresholds mean platforms charge you when you hit a spend limit rather than on a calendar boundary, so a month-end charge covers days from two months; currency conversion is applied at the card issuer rate rather than the platform rate; and credits, refunds, and clawbacks post days after the spend they adjust. Reconcile on spend date, not charge date.

What is an ad spend tracker?

An ad spend tracker is a tool that consolidates spend from every advertising platform into one view, normalized to a single currency and time period, so you can see total spend, spend by channel, and spend against the revenue it produced. The useful ones connect by API and refresh daily rather than depending on manual exports.

Can I track ad spend in Google Sheets?

Yes, and it is a sensible starting point at two or three platforms. Keep daily rather than monthly granularity, normalize currency in a dedicated tab, and add a variance row comparing your total to what finance actually paid. The failure mode is not the spreadsheet, it is that manual refreshes stop happening once someone gets busy.

How often should ad spend be reconciled?

Review consolidated spend daily to catch runaway campaigns, and reconcile formally against invoices monthly at close. Daily review is about control, monthly reconciliation is about accuracy, and skipping the monthly step is how a small variance becomes a two-day investigation at year end.

See how MixedMetrics works for your kind of team on the use cases page.

MIXEDMETRICS // GET STARTED

See this metric live across every channel

Connect your ad platforms, store, and billing through read-only connectors and watch blended ROAS, CAC, MER, LTV, and revenue by channel land in one live dashboard.

Explore features

Blend every channel into one live dashboard.

Connect your ad platforms, store, and billing through read-only connectors and see blended ROAS, CAC, MER, LTV, and revenue by channel, with AI flags on what changed and where money is leaking.

See pricing

read-only connectors // blended metrics // no PII // SOC 2 friendly