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

ExcelSheet2Chart
Combining multiple ad platform exportsManual paste + channel-name mapping each timeUpload once per file; ask a question across all of them
CAC calculationSUMIFS pair per channel, redone each refreshComputed automatically from the uploaded columns
”What drove the CAC spike in March?”Filter the PivotTable, inspect rows manuallyAsk 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.