What is ad spend?
Ad spend is the money paid to advertising platforms over a period — the cost side of every efficiency ratio on the marketing pages. It is a plain sum, but what makes the number trustworthy is when currency conversion happens: each day's spend is converted to EUR at that day's rate before anything is added up, so a total never mixes currencies or applies one rate to a whole month.
Formula
ad spend = Σ spend_base over the selected period and grouping
Worked example
An account spends $500 per day for 30 days on one channel. Each daily row is stored
with its dollar amount (spend_original) and its EUR conversion at that day's ECB rate
(spend_base). If the rate moves from 0.92 to 0.95 over the month, the EUR total lands
somewhere near €14,000 — the exact figure is the sum of 30 daily conversions, not
30 × $500 × one month-end rate, which could differ by hundreds of euros.
How Saldo Metrics computes it
Every spend figure in the app starts from fact_ad_performance, one row per creative
per day, read through v_ad_spend_enriched — the single join primitive that attaches
the channel, campaign, ad set and creative dimensions to each row. Spend follows the
dual-store money rule: spend_original holds the platform's as-billed amount,
spend_base the EUR conversion at the ECB reference rate for that spend date. All
totals sum spend_base.
From there, each surface is the same sum at a different grain:
v_channel_performancesums per channel per day; the Marketing → Overview KPI (totalAdSpend) adds those rows across the selected period.v_campaign_performancesums per campaign per day; the campaign table adds them per campaign.v_format_performanceand the creative ranking repeat the sum per ad format and per creative on the Creatives tab.- The spend alerts (campaign and channel ad spend) read
total_spend_basefromv_campaign_true_roasandv_channel_true_roas, so an alert threshold fires on the same lifetime total the true-ROAS table shows.
If your display currency is not the euro, the finished EUR totals are converted for presentation at a single as-of rate — after the summing, never during it.
Why it matters
Spend is the denominator of ROAS, MER, CPC and CPM, and the input to budget pacing. An error here silently distorts every efficiency metric at once, which is why the conversion happens per day at ingest rather than per report at read time.
Common mistakes
- Comparing spend totals across tools without checking the currency basis. A platform UI shows as-billed currency; this app shows EUR (or your display currency, converted once at the end). The difference is FX, not missing data.
- Reading lifetime and period figures as the same number. The overview KPI covers the selected period; the alert metrics and true-ROAS tables total all recorded spend for the campaign or channel.
- Treating spend as a performance metric. Spend going up is neither good nor bad on its own — pair it with true ROAS or MER before reacting.
Where you see this in the app
Marketing → Overview, as the Total ad spend KPI, per channel and per campaign; Marketing → Creatives, per format and per creative; and in the campaign and channel spend alert metrics.
- Formula
- sum of spend_base over the selected period and grouping
- How Saldo Metrics computes it
- canonical.v_ad_spend_enriched, canonical.v_channel_performance, canonical.v_campaign_performance, canonical.v_format_performance
Last reviewed 2026-08-29