Dashboard

What does a paid channel performance dashboard show in Metabase?

A paid channel performance dashboard shows where ad budget goes and what it returns, across every platform at once. It combines daily campaign stats from Google Ads, Meta Ads, LinkedIn Ads, and TikTok Ads into one unioned model, so spend and return are compared on the same definitions instead of four reporting UIs.

For: performance marketers, growth leads, and marketing ops.Grain: one row per campaign per day per channel, in a unionedad_performance_daily model.

Which cards belong on a paid channel performance dashboard?

  • Spend by channel by week (stacked bar)
  • ROAS by channel, trailing 90 days (bar)
  • Conversions and cost per conversion trend (combo)
  • CTR and CPC by campaign (table)
  • Top campaigns by conversion value (table)
  • Wasted spend — high-spend, zero-conversion segments (table)
  • Spend share vs. conversion share by channel (table)
  • Month-over-month spend change (number with trend)

What data does the dashboard need?

  • ad_performance_daily — the unioned model with channel, campaign, stat date, spend, impressions, clicks, conversions, and conversion value.
  • campaigns entity table with status, objective, and owner, so campaign-level cards carry context beyond the name string.
  • Optional: a customers or revenue table joined on click IDs or UTMs, for true CAC instead of platform-attributed cost per conversion.

How do you build it?

  1. Sync each platform's daily campaign report into the warehouse (see theGoogle Ads and Meta Ads guides for routes).
  2. Union the raw tables into ad_performance_daily with one column set — normalize currency units and map each platform's action types to a single conversion definition.
  3. Decide the conversion source of truth: keep platform columns for in-channel views, but compute cross-channel totals from one source.
  4. Build the cards, add channel and date filters, and set per-channel drill-throughs down to campaign level.

Example card SQL

Spend, conversions, and ROAS by channel by monthPostgreSQL
SELECT
  channel,
  date_trunc('month', stat_date) AS month,
  SUM(spend) AS spend,
  SUM(conversions) AS conversions,
  ROUND(SUM(spend) / NULLIF(SUM(conversions), 0), 2)
    AS cost_per_conversion,
  ROUND(SUM(conversion_value) / NULLIF(SUM(spend), 0), 2) AS roas
FROM ad_performance_daily
GROUP BY 1, 2
ORDER BY 2, 1;

Metrics

Integrations

Dashboards

FAQ

What is a paid channel performance dashboard?
A paid channel performance dashboard is a governed reporting view of every paid channel in one place — spend, conversions, ROAS, and cost per click across Google Ads, Meta Ads, LinkedIn Ads, and TikTok Ads. Unlike each platform's own reporting UI, it works on a unioned model in a database, so channels can be compared on the same definitions and shared beyond the ads team. It anchors the paid side of a marketing analytics stack.
Why can't platform-reported conversions just be summed across channels?
Because each platform counts conversions with its own attribution model — Google Ads and Meta Ads will both happily claim the same purchase, and view-through windows differ by platform. Summing them double-counts. Keep per-platform conversion columns for in-channel optimization, and pick one source of truth — your own conversion table, or an attribution tool such as AppsFlyer for mobile — for cross-channel totals and CAC.
How do you union ad platforms into one model?
Sync each platform's daily campaign stats into its own raw table, then build one ad_performance_daily view that unions them with a fixed column set: channel, campaign, stat_date, spend, impressions, clicks, conversions, conversion_value. Normalize the awkward parts in the view — micros to currency for Google, platform-specific action types mapped to one conversion definition — so every card queries a single table instead of four schemas.
What's the difference between blended ROAS and MER?
Per-channel ROAS divides platform-attributed conversion value by that platform's spend — useful for in-channel decisions, inflated as a total. MER (marketing efficiency ratio, or blended ROAS) divides total revenue by total paid spend, ignoring attribution entirely. Report both: ROAS by channel for budget shifts, MER as the honesty check that overall paid efficiency is holding as spend scales. The paid vs. organic dashboard adds the third lens — how much of growth is not paid at all.
How often should ad platform data sync?
Daily is the right default — ad platforms finalize yesterday's stats overnight, and budget decisions rarely need intraday numbers. The one caveat is restatement: platforms revise conversions for days after the fact as attribution windows close, so re-sync a trailing window (7–28 days) rather than only appending. For monitoring budget burn during the month, pair this dashboard with the ad spend pacing dashboard.