Docs

Cost KPIs

All KPIs are computed by 3x from imported spend and its own session data. Platform-reported conversions, CPA and ROAS are shown next to them for comparison but never mixed in.

KPIFormulaNotes
SpendΣ cost, converted to the project currencyGoogle: campaign rows (PMax has no ad rows); others: ad rows
Impressions, clicksΣ platform valuesMeta: link clicks
CPCspend ÷ clicks
CTRclicks ÷ impressionsfraction 0–1
Sessionsmatched sessions (any method)see Matching
Cost per sessionspend ÷ sessions
Relevant sessionssessions with relevance ≥ settings.ads.relevantMinScoredefault 30 (engaged and above)
Cost per relevant sessionspend ÷ relevant sessionsthe KPI to optimize for lead-gen sites
Leadsmatched sessions with a lead (identify or POST /leads), spam excluded
CPLspend ÷ leads
Conversionsmatched sessions with a conversion
Cost per conversionspend ÷ conversions
Conversion valuegoal values + conversion values of matched sessions
ROASconversion value ÷ spend

Ratios with a zero denominator are null (shown as "–"), never infinity or 0.

The relevance threshold

"Relevant" uses the project's relevance score. The default threshold 30 corresponds to the engaged label. Change it per project in Settings → Relevance or PATCH /v1/projects/{project} (settings.ads.relevantMinScore). Changing the scoring rules re-scores past sessions, so historical cost per relevant session stays comparable.

Levels and filters

Reports exist at platform, campaign, ad set and ad level. The cost side is filtered by the date range and the platform/account/entity; the session side accepts the complete analytics filter (device, country, landing page, goal reached, …). A device filter therefore changes sessions, leads and conversions, but not spend – platforms do not report cost per device in the same breakdown.

Currencies and days

  • Every cost row is converted with the ECB reference rate of its day (previous available day on weekends and holidays). Mixed currencies are never summed.
  • Costs belong to the ad account's day, sessions to the project's day (LinkedIn: UTC).
  • The last seven days are restated daily because platforms adjust late clicks and invalid traffic.

Long ranges

Ranges up to 90 days always use exact session queries. Longer ranges read session counts from daily rollups when the filter only uses rollup dimensions (for example channel, UTMs, device, country, entry page group); filters on single pages, browsers, events, goals or click ids fall back to exact queries. Drill-downs below campaign level are always exact.