All metrics

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_performance sums per channel per day; the Marketing → Overview KPI (totalAdSpend) adds those rows across the selected period.
  • v_campaign_performance sums per campaign per day; the campaign table adds them per campaign.
  • v_format_performance and 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_base from v_campaign_true_roas and v_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