Most CMO dashboards are built backwards. They start with whatever vanity data the platforms will give you, Google Ads impressions, LinkedIn CPCs, HubSpot email open rates, and then someone assembles those numbers into a slide deck that gets nodded at for twenty minutes before the CEO asks the one question your deck doesn't have an answer to: "So where is pipeline actually coming from?"
Marketing teams already have the data to answer that question correctly; it's just scattered across six systems that have never been asked to talk to each other. What I built is a first-party data dashboard that pulls from sources you actually own, computes the metrics that connect directly to revenue, and doesn't require a data engineering team to stand up or maintain. The build partner was Claude Code, and the total cost to get a working prototype running was zero.
This post walks through how to build one yourself, step by step. We'll cover why first-party data produces fundamentally different answers than platform-reported metrics, how to map your owned data sources to executive-level KPIs, the exact Claude Code prompt sequence I used to go from a blank spec to a working dashboard, how to connect your real data sources once the prototype is validated, and how the finished product should look and behave. There's also a live interactive prototype embedded at the end so you can see the output before committing to the build.
What Makes a CMO Dashboard Actually Work
Before getting into the build, it's worth being explicit about what this dashboard is designed to accomplish, because most marketing dashboards fail not because of bad data but because of a bad organizing principle. The typical dashboard is channel-first: one section for paid, one for email, one for SEO, each reporting its own platform's preferred metrics back to an audience that was never asking about platforms in the first place.
This one is organized around the four questions that actually get asked in board meetings and budget reviews: Are we growing efficiently? Where is pipeline coming from? Where is the funnel leaking? Are the customers we're acquiring worth having long-term? Every row of the dashboard maps to one of those questions, which means an executive can read it in under a minute and arrive at a defensible point of view on marketing's contribution to the business. I call this the Revenue-First Dashboard Framework, and every structural decision in this build follows from it.
The KPIs were chosen specifically because they sit at the intersection of marketing performance and financial outcomes. CAC and LTV:CAC are the metrics your CFO already uses to evaluate growth sustainability, so showing them in a marketing context closes the gap between how marketing talks about itself and how the business evaluates it. Funnel conversion rates by stage expose where demand generation is losing leverage. Retention cohorts answer the question that channel-first dashboards structurally cannot: whether the customers your campaigns attracted are actually staying.
What differentiates this dashboard from a standard BI template or a platform-native report is that it's built on data you own and can interrogate directly, organized around outcomes rather than outputs, and designed to produce a narrative rather than a data dump. The goal isn't to show everything marketing is doing; the goal is to make one clear argument: here is what marketing contributed to revenue, here is what it cost, and here is whether we should do more of it.
Why Platform Metrics Make for Bad CMO Dashboards
The instinct to build dashboards around platform metrics is understandable. The data is already there, formatted, and visualized. The problem is that platform data, which is often comprised of vanity metrics, is designed to make the platform look good. When you're aggregating across five or six of them, you're stacking optimistic attribution on top of optimistic attribution until the numbers disconnect from your KPIs.
First-party data is different. It's collected directly from your audience through your own properties: your website, your product, your CRM pipeline, your email list, your subscription billing, your support interactions. When you build from that foundation, you're measuring what actually happened in your funnel, from real visits through real conversions to real revenue, without the inflationary middleman.
A platform-first dashboard can tell you how many clicks you bought. A first-party dashboard can tell you whether the people who clicked eventually became customers worth keeping.
The shift I'm describing isn't just philosophical. It changes which questions your dashboard can actually answer, and more importantly, it changes which questions you can defend in front of a board that's increasingly skeptical of marketing-reported numbers.
What Claude Code Changes About Building Marketing Tools
I want to be precise about this because the marketing around AI coding assistants has gotten sloppy. Claude Code is an agentic system that can read your codebase, edit across multiple files, run terminal commands, connect to external services through MCP, and use persistent project instructions stored in a file called CLAUDE.md to maintain consistent standards across every session.
For a CMO building a marketing analytics tool, that distinction matters enormously. You're asking it to build a layered application with a data model, metric definitions, chart components, and executive-readable UI, and to hold the logic of the whole system in mind while doing it. That's what it's designed for, and the difference between that and a standard autocomplete tool is the difference between hiring a contractor and asking someone to read you a recipe.
The CLAUDE.md file is the piece most people overlook, and it's where I'd start if I were advising a marketing ops team. Before writing a single prompt, document your KPI definitions, your naming conventions, your SQL style preferences, your chart hierarchy rules, and your acceptance criteria in that file. The agent reads it at the start of every session, which means consistent output instead of re-explaining your conventions every time. Here's the CLAUDE.md I used for this build:
# CLAUDE.md — CMO Dashboard Project
## Project overview
This is a first-party marketing analytics dashboard for executive reporting.All decisions should prioritize clarity for a CMO audience over technicalcompleteness. When in doubt, simplify.
## KPI definitions (canonical — do not deviate)
- CAC: Total sales and marketing spend / new customers acquired in the same period. Always blended unless segmented by channel.
- LTV: (ARPU x gross margin %) / monthly churn rate. Use gross margin, not revenue.
- LTV:CAC: LTV / CAC. Flag any result below 3x in the UI.
- CAC Payback: CAC / (monthly ARPU x gross margin %). Flag any result above 12 months.
- Lead-to-SQL rate: SQLs / total leads in the same period. Do not include recycled leads.
- MQL acceptance rate: MQLs accepted by sales / total MQLs passed.
## Naming conventions
- Tables: snake_case (e.g., marketing_spend, closed_won_opportunities)
- Columns: snake_case, descriptive (e.g., spend_usd, customer_id, close_date)
- Metrics: full names in comments, abbreviations only in UI labels
- Date fields: always ISO 8601 format (YYYY-MM-DD)
## Data sources and grain
- sessions: one row per session (session_id, user_id, channel, campaign, date)
- leads: one row per lead (lead_id, source, created_at, segment, status)
- pipeline: one row per opportunity (oppty_id, stage, amount, source, close_date)
- customers: one row per customer (customer_id, start_date, plan, mrr, segment)
- marketing_spend: one row per channel per day (date, channel, campaign, spend_usd)
- brand_health: one row per week (week, branded_searches, mentions, nps_score)
## Chart and UI standards
- Executive row: scorecards only. No charts in the top row.
- Color coding: green (#1D9E75) above target, amber (#BA7517) within 10% of threshold, red (#D85A30) below threshold.
- Monetary values: format as $X.XXM or $X.XXK. No raw dollar amounts.
- Period selector: MTD, QTD, YTD. Default to MTD.
- Mobile: stack all panels to single column below 520px.
## Acceptance criteria
- Every KPI card shows current value, prior-period delta, and a one-line interpretation.
- CAC payback displayed in months, not years.
- LTV:CAC flagged visually if below 3x.
- All SQL queries include comments explaining the business logic.
- Dashboard renders correctly in dark and light mode.
- No platform-reported attribution metrics in any view.
How to Map Your First-Party Data Sources to Dashboard KPIs
Before touching any code, the first task is understanding which data sources map to which executive questions. The table below shows the architecture I use, pairing owned touchpoints with the dashboard rows they feed.
The KPIs Every CMO Dashboard Needs
This is the step that separates dashboards that get used from dashboards that get screenshotted once and forgotten. The formulas your team uses need to be documented, agreed upon, and centralized in a metrics helper file so there's one place to update them when the business model changes. The four equations I anchor every dashboard around are the ones that connect marketing performance directly to financial outcomes.
A healthy LTV:CAC sits above 3x. CAC payback under 12 months is the threshold I use to evaluate whether paid growth is scalable. These numbers, together with funnel conversion rates and retention curves, are what a board actually wants to see, and they're the numbers a platform dashboard will never show you correctly because it doesn't have access to your CRM outcomes.
The Claude Code Prompt Sequence for Building a CMO Dashboard
Here is the exact sequence I used, written as the prompts you'd give Claude Code. Each one builds on the last, and that layering is the right way to work with an agentic system: you're iterating on a living codebase, not generating isolated snippets.
Prompt 1, scaffold the application: "Create a responsive internal CMO dashboard using React and a component library. Use dark and light mode. Build sections for executive KPIs, funnel conversion, CAC payback, LTV by segment, pipeline contribution by channel, and retention cohorts. Assume first-party data tables from web analytics, CRM, email, subscriptions, and support. Add placeholders for SQL queries and annotate every metric definition in comments."
Prompt 2, design the data model: "Given these sources: website sessions, form fills, CRM opportunities, subscription revenue, email engagement, and support tickets. Design a warehouse schema for a first-party marketing dashboard. Standardize IDs, define grain for each table, create a shared date dimension, and map funnel stages from visitor to revenue."
Prompt 3, define all metric formulas: "Write metric definitions for conversion rate, CAC, LTV, CAC payback, retention rate, churn rate, influenced pipeline, sourced pipeline, and branded search trend. For each metric, include formula, SQL logic outline, caveats, and when a CMO should trust or distrust the number."
Prompt 4, add chart components: "Build a funnel chart from visitor to lead to MQL to SQL to opportunity to customer. Add a grouped bar chart for channel contribution to pipeline, a line chart for branded demand and direct traffic trend over time, and a retention cohort heatmap. Use labels and colors calibrated for executive reporting, with benchmark bands on trend charts."
Prompt 5, refactor for executive readability: "Refactor the dashboard so a CMO can understand it in ten seconds. Reduce visual clutter, move low-signal widgets below the fold, add benchmark bands to trend charts, and replace redundant panels with a short narrative insights block that surfaces the top three changes this period."
How to Connect Real Data Sources to Your CMO Dashboard
The prototype runs on sample data, but the architecture is identical to what you'd use with live sources. The connection sequence matters because the order in which you wire data sources determines how quickly you can validate the logic before committing to a full integration.
Start with three anchors: your CRM, your ad spend exports, and your web analytics. These three sources together are sufficient to compute CAC, pipeline contribution by channel, and funnel entry rates, which means you can validate the most important parts of the dashboard against numbers your finance team will recognize before touching anything else. If your CAC calculation matches what your CFO is already tracking, the rest of the integrations have a credible foundation to build on.
The Claude Code prompt for this step: "Connect the dashboard data layer to the following sources: [CRM name] for pipeline and closed-won data, [ad platform] spend exports for CAC inputs, and [analytics tool] for session and conversion data. Write SQL queries for each source that conform to the schema in the metrics helper file. Flag any fields where source data is ambiguous and suggest a resolution."
From there, add email engagement and subscription or billing data, which supply the retention and LTV inputs. Support and NPS data come last because they feed brand health signals rather than the core financial metrics, and the dashboard remains fully defensible without them while you work through the integration. One step worth building before you connect any live source: ask Claude Code to generate a seed data set that mirrors your real schema, then run the dashboard against it before switching to production. This surfaces formula errors and edge cases while the stakes are low, and gives your marketing ops team a structured way to sign off on KPI definitions before anything goes live.
What a Claude Code CMO Dashboard Actually Looks Like
Rather than describe it, here it is. The prototype below is built on the same architecture and prompt sequence described above, using sample data that mirrors a realistic growth-stage SaaS company. In a live implementation, each data feed would connect to your warehouse; here, the structure and logic are what matter.
Reading the Channel Performance Table
The most decision-useful view in any CMO dashboard is a clean channel comparison that puts spend, pipeline contribution, and unit economics side by side. Reading the table horizontally reveals which channels convert leads to SQLs at a high rate, and which ones create pipeline that actually closes. That's a question platform dashboards structurally cannot answer because they don't have access to your CRM outcomes.
What Your CMO Dashboard Should Tell You
The finished version of this dashboard answers the board question before it gets asked. The executive row shows revenue, pipeline, CAC, LTV:CAC, and retention at a glance. The funnel row shows exactly where in the visitor-to-customer journey you're losing the most people. The channel row shows which acquisition sources are producing customers worth having, not just leads worth counting. The retention row shows whether the marketing you ran six months ago is still paying off.
Building it with Claude Code and grounding it in first-party data means the numbers are yours. They're not filtered through a platform's attribution logic or distorted by view-through windows that inflate every channel's contribution. When your CEO asks where pipeline is coming from, you have an answer you can defend because you built the logic yourself.
That's the shift worth making.
Frequently asked questions
What is a CMO dashboard and what should it include?
A CMO dashboard is an executive-level view of marketing's contribution to business outcomes, organized around the questions a board is most likely to ask: growth efficiency, pipeline source, funnel health, and customer retention. It should include CAC, LTV:CAC, pipeline created, funnel conversion rates by stage, and a retention cohort view, drawn from first-party data rather than platform-reported metrics.
What KPIs belong on a CMO dashboard?
The four that matter most at the executive level are CAC, LTV:CAC, lead-to-SQL conversion rate, and retention rate by cohort, because they sit at the intersection of marketing performance and financial outcomes. These are the metrics a CFO or board can interrogate directly, which makes them more defensible than channel-level vanity metrics.
What is the difference between a first-party and a platform-first dashboard?
A platform-first dashboard aggregates metrics reported by ad and marketing platforms, which are optimized to make those platforms look effective. A first-party dashboard is built from data your organization collects directly through its own properties, including your CRM, billing system, website analytics, and support interactions, so the numbers reflect what actually happened in your funnel.
How much does it cost to build a CMO dashboard with Claude Code?
The prototype in this post cost nothing to build: Claude Code is available through the Claude Pro plan, the dashboard runs in a browser with no additional infrastructure, and all referenced data sources are tools most marketing teams already pay for. Connecting a production data warehouse adds cost depending on your existing stack, but the build itself requires no paid third-party dashboard software.
How long does it take to build a working CMO dashboard with Claude Code?
A working prototype using sample data can be completed in a single session of two to four hours following the five-prompt sequence in this post. Connecting real data sources and validating KPI logic against your existing numbers typically adds one to two weeks, depending on the number of integrations and how quickly your team can sign off on the metric definitions.
What data sources does a CMO dashboard need?
The minimum viable set is three: your CRM for pipeline and closed-won data, your ad spend exports for CAC inputs, and your web analytics platform for session and conversion data. Email engagement, subscription billing, and NPS or support data can be added in a second pass to fill out retention and brand health views.


.jpeg)

