How to Build a Marketing Dashboard in Excel
A marketing dashboard in Excel needs to answer one question per channel: what did we spend, what did we get, and at what cost. Here’s how to build that from campaign exports (Google Ads, Meta Ads, HubSpot, or a combined spreadsheet you already maintain).
Normalize channel names first
The single biggest headache in a marketing dashboard isn’t the chart — it’s that “Google Ads,” “Search,” and “google_cpc” all mean the same channel across different exports. Before building anything, add a Channel column to your Data table that maps each platform’s raw name to a standard category, using XLOOKUP against a small mapping table:
=XLOOKUP([@RawChannel], ChannelMap[Raw], ChannelMap[Standard])Do this once and every PivotTable downstream groups correctly.
Spend and leads by channel
Insert a PivotTable: standardized Channel in Rows, Spend and Leads both in Values (as Sum). Build a PivotChart — a clustered bar comparing spend against leads per channel is usually the first thing people look at, since it shows efficiency at a glance even before CAC is calculated.
Customer acquisition cost (CAC)
CAC is spend divided by the customers a channel actually produced, not just leads — leads that never convert shouldn’t count. If your export has a “converted” flag or a separate conversions table:
=SUMIFS(Data[Spend], Data[Channel], "Paid Search") / SUMIFS(Data[Converted], Data[Channel], "Paid Search", Data[Converted], TRUE)Lay out one row per channel with this formula, and add conditional formatting so the highest-CAC channels are visually flagged — that’s usually the number a marketing lead checks first.
Trend over time
Add a PivotChart with Date (grouped by week or month — right-click the date field and Group) in the axis and Spend or Leads as the value, split by Channel as the legend. This is what shows whether a channel’s efficiency is improving or degrading, which a single-period snapshot can’t show.
Slicer for campaign or channel
A single slicer on standardized Channel, connected to every PivotTable via Report Connections, lets whoever’s reviewing the dashboard isolate one channel without rebuilding anything.
Excel vs. a live marketing dashboard
| Excel | Sheet2Chart | |
|---|---|---|
| Combining multiple ad platform exports | Manual paste + channel-name mapping each time | Upload once per file; ask a question across all of them |
| CAC calculation | SUMIFS pair per channel, redone each refresh | Computed automatically from the uploaded columns |
| ”What drove the CAC spike in March?” | Filter the PivotTable, inspect rows manually | Ask the question, see the executed SQL behind the answer |
Excel works well here as long as one person owns the channel-mapping table and rebuilds the dashboard each period. It gets harder once campaign data lives across several exports that need combining every week.
See the marketing use case for a version that skips the manual channel mapping and CAC formulas entirely.
Frequently asked questions
How do I calculate customer acquisition cost (CAC) in Excel?
CAC = total spend for a channel ÷ number of customers acquired through it in the same period. Keep spend and conversions in the same table (or joined via a channel column) so a single SUMIFS pair can compute it per channel.
My campaign exports use different channel names across platforms — how do I unify them?
Add a lookup column that maps each platform's raw channel/campaign name to a standardized category (Paid Search, Paid Social, Email, Organic, etc.), using VLOOKUP or XLOOKUP against a small mapping table you maintain once.
Can I combine exports from multiple ad platforms in one dashboard?
Yes, if each export is pasted into the same Data table with a consistent set of columns (channel, spend, leads, date). Power Query's "Append Queries" feature can automate this if you're combining the same export shape every period.