KPI strip — what each metric means
Last updated: May 19, 2026
KPI strip — what each metric means
The KPI strip is the top row of metrics on every analytics view. In Single Platform mode: native platform values + native currency. In Cross-Channel mode: rolled-up values converted to target_currency via EUR intermediate. Field set verified from AggregatedMetrics interface in apps/backend/src/services/cross-channel-analytics.service.ts.
Who is this for
Anyone reading the top bar of the dashboard and wondering "what does CPM actually measure?". Reference page for the strip's metric definitions.
The 13 KPI strip metrics
Verified from the AggregatedMetrics interface:
Metric | Formula | Unit |
|---|---|---|
| sum(ad spend over period) | currency |
| sum(ad views) | count |
| sum(ad clicks) | count |
| clicks ÷ impressions × 100 | % |
| spend ÷ clicks | currency |
| spend ÷ impressions × 1000 | currency per 1000 impressions |
| sum(conversion events) | count |
| sum(purchase events) | count |
| sum(purchase amount) | currency |
| sum(lead events) | count |
| spend ÷ conversions | currency per conversion |
| purchaseValue ÷ spend | ratio (e.g. 2.5 = €2.50 returned per €1 spent) |
(Note: not every platform reports every metric. Some are missing for platforms that don't track them natively.)
Metric groupings
Reach + delivery
impressions— how many times ads were shownclicks— how many times users clickedctr— click-through rate (engagement quality of creative + targeting)
Cost efficiency
spend— total money spentcpc— cost per click (depends on competition + creative + targeting)cpm— cost per 1000 impressions (cost of reach)cpa— cost per acquisition / conversion (the business-relevant cost)
Outcomes
conversions— generic conversion eventspurchases— purchase-type conversionsleads— lead-type conversionspurchaseValue/revenue— monetary value of purchases
Profitability
roas— return on ad spend (the headline number for e-commerce)
Single Platform vs Cross-Channel display
Aspect | Single Platform | Cross-Channel |
|---|---|---|
Currency | Each ad account's native |
|
Aggregation | Per-platform native | Cross-platform rolled-up via EUR intermediate |
Attribution windows | Per-platform native | Unified attribution model (best-effort cross-platform) |
Cache | None / standard | 10-min Redis ( |
Delta vs previous period
If Compare to previous period is enabled: each metric shows current value + delta_pct. Green / red coloring per direction (green = improvement, red = regression).
Direction depends on the metric:
Metric | Green (good) direction |
|---|---|
spend | depends — context-specific |
impressions, clicks | up (more reach) |
ctr | up (better engagement) |
cpc, cpm, cpa | down (more efficient) |
conversions, purchases, leads, purchaseValue | up |
roas | up |
UI may color them accordingly; trust the math, not just the color.
How to use the KPI strip
Daily / weekly pulse
Glance to confirm performance is on track. Watch for:
ROAS dropping vs prior period
CPA rising vs prior period
Spend pacing higher / lower than expected
Drill-down
Strip values are aggregates. To investigate a regression: drill into other widgets (top/flop, spend breakdown) or switch to Ads Manager (PRD-16) for row-level edits.
Executive reporting
KPI strip + comparison + brief commentary = a complete executive snapshot. Export PDF (see an-116) for monthly stakeholders.
Caveats
Postback metrics lag
conversions, purchases, purchaseValue, revenue, roas, cpa (when based on purchases) all depend on postback data (Meta API or your commerce / tracker integration). Postback lag: 24-72h.
Implication: yesterday's ROAS will be incomplete. Use last_7d minimum for ROAS / CPA decisions. See an-114.
Currency conversion variance
Cross-Channel mode converts to target_currency. Even tiny FX-rate differences can cause sub-percent variance vs the platform's native UI total. Expected behavior.
Attribution window differences
Meta's default attribution is 7-day click + 1-day view; Google's is 30-day click; TikTok's varies. Cross-channel unifies as best as possible but results may differ from each platform's native dashboard.
Common mistakes
Reading today's CPA / ROAS as final: postback lag means it'll change in 24-72h
Comparing Cross-Channel to platform UI 1:1: small variance is expected
Ignoring the spend column: high-volume metrics deserve more weight than low-volume in decisions
Treating delta_pct as direction-aware automatically: verify which direction is good for each metric
Related
ROAS explained — the headline number deep dive
CPA / CPM / CTR — efficiency metric deep dive
Campaign metrics decoded — row-level metric reference