How to Build a Unified Marketing Dashboard
A unified marketing dashboard pulls all channels into one view. Here's how to build one that clients actually use -- data sources, metrics, and architecture.
The dashboard problem
Every agency has this experience: client asks for a performance report, and you spend 3 hours pulling data from 6 platforms, copying numbers into a spreadsheet, and building charts that will be outdated by the time the client reads them.
Meanwhile, the client is looking at their own Meta dashboard, seeing different numbers than your Google Sheet, and losing confidence in your ability to manage their money.
A unified marketing dashboard solves this. One place, all channels, consistent metrics, automatically updated. Here's how to build one that's actually useful.
Architecture: the three layers
A unified dashboard has three layers: data ingestion, data transformation, and data presentation.
Layer 1: Data ingestion
Pull raw data from every marketing platform into a central location.
Data sources for a typical client:
- Meta Ads API (spend, impressions, clicks, conversions, ROAS)
- Google Ads API (spend, impressions, clicks, conversions, search impression share)
- Google Analytics 4 (sessions, users, conversion events, attribution data)
- TikTok Ads API (if applicable)
- Email platform API (Klaviyo, Mailchimp -- sends, opens, clicks, revenue)
- Shopify/WooCommerce API (orders, revenue, AOV, customer data)
- CRM API (leads, pipeline, closed deals for B2B)
- Server-side tracking data (first-party conversion events)
Ingestion tools:
- Fivetran or Airbyte for automated connectors. Both support 100+ marketing platforms with pre-built integrations. Fivetran is more polished; Airbyte is open-source and cheaper.
- Custom API scripts for platforms without pre-built connectors. Python scripts running on a schedule via cron, Airflow, or cloud functions.
- Supermetrics or Funnel.io for simpler setups that pipe data directly into Google Sheets or a BI tool.
Where the data goes:
- Data warehouse (BigQuery, Snowflake, or PostgreSQL). Best for agencies with 10+ clients or complex data transformations.
- Google Sheets for simpler setups with fewer data sources and smaller data volumes.
Layer 2: Data transformation
Raw platform data isn't dashboard-ready. You need to clean, normalize, and calculate derived metrics.
Key transformations:
- Metric normalization. Meta calls it "amount spent," Google calls it "cost," TikTok calls it "spend." Rename everything to a consistent schema:
spend,impressions,clicks,conversions,revenue. - Currency conversion. If the client runs ads in multiple currencies, convert everything to a single base currency.
- Date alignment. Some platforms report in the ad account's time zone, others in UTC. Normalize to a single time zone.
- Calculated metrics. CPA (spend / conversions), ROAS (revenue / spend), CTR (clicks / impressions), CVR (conversions / clicks).
- Aggregation. Roll up campaign-level data into channel-level summaries. Create daily, weekly, and monthly aggregations.
Transformation tools:
- dbt (data build tool) for SQL-based transformations in a data warehouse. Industry standard for data transformation pipelines.
- Google Sheets formulas for simpler setups.
- Python/Pandas for custom transformations that SQL can't handle easily.
Layer 3: Data presentation
The visualization layer where stakeholders interact with the data.
Dashboard tools (ranked by complexity):
- Looker Studio (formerly Google Data Studio). Free, connects natively to BigQuery and Google Sheets. Good for most agency needs. Limitation: limited interactivity and slow with large datasets.
- Tableau. Powerful, highly customizable, better performance with large datasets. Cost: $70/user/month. Best for agencies with complex visualization needs.
- Power BI. Microsoft ecosystem integration. $10/user/month. Good choice if the client uses Microsoft tools.
- Custom web dashboard. Built with tools like Streamlit, Retool, or a custom React app. Maximum flexibility but highest development cost.
The metrics that belong on the dashboard
Resist the urge to show everything. A useful dashboard shows 10-15 metrics organized by decision type:
Tier 1: Executive summary (visible at a glance)
- Total spend (all channels)
- Total revenue (from server-side tracking or e-commerce platform)
- Blended ROAS (total revenue / total spend)
- Total conversions
- Blended CPA (total spend / total conversions)
- Month-over-month and year-over-year comparisons
Tier 2: Channel performance (one click deeper)
For each channel:
- Spend
- Revenue (attributed via your chosen model)
- ROAS
- CPA
- Impressions and reach
- Trend line (last 30/60/90 days)
Tier 3: Campaign performance (two clicks deeper)
For each campaign within a channel:
- Spend, revenue, ROAS, CPA
- Creative performance (CTR, conversion rate)
- Audience performance (which segments convert)
Tier 4: Diagnostic metrics (for troubleshooting)
- CPM by channel (media cost inflation/deflation)
- CTR by channel (creative effectiveness)
- Landing page conversion rate (site experience)
- Frequency by channel (audience fatigue)
Design principles that matter
Start with the question, not the data. Before adding any chart, ask: "What decision does this chart help the client make?" If you can't answer clearly, don't include it.
Use consistent time comparisons. Always show the same time period for every channel. Don't show Meta's last 7 days next to Google's last 30 days. This sounds obvious but happens constantly.
Show trends, not just snapshots. A ROAS of 3.2x is meaningless without context. Is it up or down? Compared to what? Add sparklines, trend arrows, or comparison periods to every metric.
Use one source of truth for revenue. Don't show Meta-reported revenue for the Meta section and Google-reported revenue for the Google section. Use your server-side tracked revenue for all channels, distributed by your attribution model. Otherwise, the channel numbers won't sum to the total.
Include data freshness indicators. Show when each data source was last updated. If Meta data is from yesterday but Google data is from 3 days ago, the client needs to know that the comparison isn't apples-to-apples.
Building for scale: the agency perspective
If you're building dashboards for multiple clients, standardization is critical:
Template the structure. Build one master dashboard template with all standard metrics. Clone it for each client and customize only what's needed (adding or removing channels, adjusting KPI targets).
Standardize naming conventions. Use the same metric names, date formats, and color coding across all client dashboards. This reduces errors and makes it easier for your team to work across accounts.
Automate the data pipeline. Manual data pulls don't scale. Invest in automated connectors (Fivetran, Airbyte) and scheduled transformations (dbt, Airflow). The upfront cost pays for itself after 3-4 clients.
Build alerts, not just reports. Dashboards are passive -- nobody stares at them all day. Add automated alerts for anomalies: spend pacing off target, ROAS dropping below threshold, conversion rate suddenly declining. These alerts turn the dashboard from a reporting tool into a monitoring system.
FAQ
How long does it take to build a unified marketing dashboard?
For a single client with 3-5 data sources: 2-4 weeks using Looker Studio or a similar BI tool. For an agency template that scales across clients: 4-8 weeks for the initial build, including data pipeline setup and transformation logic. Ongoing maintenance is 2-4 hours per week for data quality monitoring and client customization.
Should I use platform-reported metrics or server-side tracked metrics on the dashboard?
Use server-side tracked metrics as the primary source for revenue and conversions. Show platform-reported metrics as secondary reference points. The discrepancy between them is itself a useful insight -- it tells you how much data each platform is missing or double-counting.
How do I handle clients who want to see platform dashboards instead of a unified view?
Show them the discrepancy. Pull up Meta's dashboard showing $500K in attributed revenue, Google's showing $400K, and their Shopify showing $600K total. Ask: "Which number do you want to optimize against?" The unified dashboard resolves this by using a single source of truth with consistent attribution.
Go Funnel uses server-side tracking and multi-touch attribution to show you which ads actually drive revenue. Book a call to see your real numbers.
Want to see your real ROAS?
Connect your ad accounts in 15 minutes and get attribution data you can actually trust.
Book a Call