I make marketing measurable, manageable, and fun to run for founders, CMOs, and growth teams.
Fun means fewer all-hands meetings about why the dashboard broke.
Fun means knowing where to spend the next dollar without a 3-week analysis spiral.
Fun means automating the boring stuff so you can focus on what actually grows revenue.
I've managed $100M+ in ads and audited $4B+ in performance across SaaS, CPG, pharma, and entertainment. I translate between creative teams who can't calculate CAC and CFOs who don't care what your messaging means—then give you a system that makes both sides happy.
$100M+ managed $4B+ audited F500 → Startups- Enterprise —
J&JIBMBMS
- Growth SaaS —
CodecademySkillsoft
- B2C/iGaming —
PointsBetFubo
The $4B Ad Audit Guide
60-second diagnostic based on patterns from auditing $4B+ in ad spend. Check the boxes below to see what's broken—then get the full guide.
The Scan
A quick diagnostic for founders, CMOs, and CFOs.
Check the boxes that apply. No therapy session, just pattern recognition.
For Founders
Check all that apply:
You have "results" but can't explain why they happened
Finance asks "what's driving this?" and you give them a channel list, not a causal story
Your CAC is "a range" depending on who you ask
Finance says $120, Marketing says $85, the dashboard says $200
You're running experiments but not learning anything that compounds
Every test feels like starting from scratch; no pattern library, no decision rules
Creative is "gut feel" and performance is "spreadsheet fan-fiction"
Teams debate what looks good instead of what performs; data team reports metrics nobody trusts
Reporting takes 4 hours every Monday because the data breaks
Someone changed a UTM, someone else updated a formula, and now nothing reconciles
"Attribution" is a meeting topic, not a working system
You debate last-touch vs. first-touch but never actually ship a model Finance trusts
Verdict
If you checked 1: One crack in the foundation. The Roast can help.
If you checked 2–3: You're running Half-Hearted Marketing. Time for The Sprint.
If you checked 4–5: Multiple infrastructure failures. You need The Sprint.
If you checked 6: Everything's on fire. Let's talk partnership.
For CFOs
Check all that apply:
Marketing can't answer your budget questions with numbers you trust
Every CAC conversation requires a decoder ring and three follow-up meetings
CAC calculations change every month without explanation
Last quarter it was $95, this quarter it's $140—but "performance improved"
You don't have a clear payback timeline you can defend to the board
Marketing says "6 months," Finance says "unknown," reality is "we're guessing"
Marketing dashboards look impressive but don't tie to P&L
Lots of charts about "engagement" and "funnel velocity" but no link to actual revenue
Budget allocation is based on "what worked last year" not analysis
You're flying blind because Marketing's measurement infrastructure is chaos
Attribution is a black box that nobody can explain
Marketing uses platform defaults, Finance doesn't trust any of it
Verdict
If you checked 1: One crack in the foundation. The Roast can help.
If you checked 2–3: You're running Half-Hearted Marketing. Time for The Sprint.
If you checked 4–5: Multiple infrastructure failures. You need The Sprint.
If you checked 6: Everything's on fire. Let's talk partnership.
For VCs
Check all that apply:
Your portfolio companies can't explain their CAC consistently
Every company calculates it differently; cross-portfolio benchmarking is impossible
Marketing spend has no accountability framework
Founders say they "need more budget" but can't model expected returns
No standardized measurement across portfolio
Each company tracks different metrics; you can't compare efficiency or spot patterns
Founders confuse "brand building" with measurable demand gen
Budget goes to activities that feel good but don't move acquisition metrics
Attribution is either last-touch theater or "we don't measure it"
No middle ground between click-obsessed dashboards and complete measurement nihilism
Your portfolio needs one measurement system they can all use
Tired of reinventing analytics infrastructure at every company
Verdict
If you checked 1: One crack in the foundation. The Roast can help.
If you checked 2–3: You're running Half-Hearted Marketing. Time for The Sprint.
If you checked 4–5: Multiple infrastructure failures. You need The Sprint.
If you checked 6: Everything's on fire. Let's talk partnership.
Method: How Taste, Math, and Machines Work Together
Three pillars that turn marketing from "creative guesswork + spreadsheet theater" into a system Finance trusts and teams can actually execute.
Taste
Creative judgment you can explain. Define what to test based on documented patterns and audience signal, not committee votes or gut feel.
BEFORE: "Let's try 6 headlines" AFTER: "Ship A (problem-aware) and B (solution-aware) based on funnel stage"
Math
Finance-grade models you can trust. Clear definitions, locked formulas, and quarterly validation—not metrics that change depending on who's in the room.
BEFORE: CAC = "somewhere between $80-$200" AFTER: New Customer CAC = $127 (validated quarterly, includes all costs)
Machines
Automation for boring work. AI handles reporting, UTM validation, and sanity checks so you focus on strategy—not babysitting formulas.
BEFORE: 4-hour Monday fire drill to reconcile data AFTER: 15-min review of pre-built dashboard (updates automatically)
</callout>
</column>
Representative case files showing how measurement systems get fixed. Names changed, mechanisms intact.
Case Files
Table view
Title
Before
Representative Example
What Changed
Category
After
Notes
Decision Unlocked
Cover Image
12 LPs / 40 queries
No test taxonomy
CRO = gut feel
No test taxonomy
CRO = gut feel
Representative Example
Introduced intent-tiered pages and a clear testing roadmap
Website/CRO
Intent-tiered LPs
Testing roadmap
Lift-based decisions
Testing roadmap
Lift-based decisions
Scale spend without scaling confusion.
Enabled a CRO process that survives channel mix changes
Feedback = subjective
Perf siloed by channel
Nothing compounds
Perf siloed by channel
Nothing compounds
Representative Example
Linked creative tagging to a shared learnings database
Creative
Creative tagging
Learnings database
Taste = repeatable
Learnings database
Taste = repeatable
Build creative strategy without a psychic hotline.
Made creative judgment repeatable instead of subjective
Need $50k+ MMM tool
OR last-touch forever
Can't model x-channel
OR last-touch forever
Can't model x-channel
Representative Example
Replaced last-touch guesses with a sheets-based MMM view
Measurement
Sheets-based MMM
Contribution curves
Rebalancing plan
Contribution curves
Rebalancing plan
Sophisticated analysis without enterprise tax.
Enabled smart allocation with tools already in place
ROAS: 4.2 (Blended)
Attribution: Platform
Profit/Cust: Unknown
Attribution: Platform
Profit/Cust: Unknown
Representative Example
Reframed performance from ROAS to stable MER and CAC
Measurement
MER: 18% (Stable)
New CAC: $45
LTV:CAC: 3.1x
New CAC: $45
LTV:CAC: 3.1x
Stop guessing where your next dollar of growth comes from.
Gave budget conviction without black-box attribution
Placeholder description of a leaky funnel with no clear baseline.
Representative Example
Clarified the job of each page and instrumented it
Website/CRO
Placeholder description of simple experiments tied to a clear conversion goal.
Representative example. Details sanitized; mechanisms intact.
Made it obvious where to invest next on the site
Placeholder description of creative feedback driven by vibes and opinions.
Representative Example
Added a lightweight testing cadence and tagging
Creative
Placeholder description of feedback structured around learning questions and data.
Representative example. Details sanitized; mechanisms intact.
Clarified which stories deserve more budget
Placeholder description of reporting that mixed models, channels, and timeframes.
Representative Example
Standardized definitions and created a single source of truth
Measurement
Placeholder description of a single shared view everyone could read in under 3 minutes.
Representative example. Details sanitized; mechanisms intact.
Made it safe to invest more where proof existed
Work With Me: Three Ways to Stop the Bleeding
From quick diagnosis to ongoing partnership. Each tier maps to a pillar: Taste, Math + Machines, or Judgment.
The Roast
Fast diagnosis with a prioritized fix list. Proves Taste instantly.
90 min • $750–$1K
- You send: 2-3 URLs + ballpark metrics
- You get: 20-30 min Loom + "Fix First" memo
- Identifies where the money is leaking
- No NDA required, ships in 48 hours
The Sprint
Install Math + Machines: measurement infrastructure + AI automation.
2–8 weeks • [Price TBD]
- Audit + payback model (CFO-grade)
- Tracking architecture (events → revenue)
- AI workflows for reporting + tagging
- Testing roadmap (next 3 experiments)
How it works:
- Week 1: Audit current stack, map data flows, define CAC with Finance
- Week 2–4: Build payback model, install tracking, create AI workflows
- Week 5–7: Creative tagging system, testing framework, QA
- Week 8: Team training, documentation, handoff
The Partner
Ongoing Judgment: translate between Finance and Marketing, own the budget calls.
3–6 months • [Price TBD]
- Monthly spend memos (cut, keep, test)
- Payback tracking + model maintenance
- Weekly priorities: 3 metrics, 1 decision
- Async access for "sanity check this" moments
How it works:
- Monthly: Spend memo with recommendations (what to cut, keep, test)
- Weekly: 30-min sync on 3 metrics + 1 decision
- Quarterly: Model refresh, validate assumptions with Finance
- Async: Slack/email for quick sanity checks on campaigns or experiments
Other ways to work together:
- Analyst Reboot (team training for RevOps/Analytics teams)
- Portfolio Audits (standardized measurement for VCs)
- Custom engagements (let's talk)
Fit: Who This Is For (And Who Will Hate It)
This is not a motivational poster factory. It's a systems shop for people who want marketing that can be defended.
Great Fit
- Your CAC changes every month — Finance and Marketing can't agree on the number
- You're spending 6 figures/month — But can't explain what's actually working
- Teams debate creative based on opinions — Not documented patterns or lift data
- Finance doesn't trust Marketing's numbers — Every budget meeting is a negotiation
Not a Fit
- You want perfect attribution from a black box — We build transparent models, not magic
- You need a yes-man — I call out bad ideas (politely)
- You're not willing to define metrics and stick to them — Changing CAC definitions quarterly doesn't work
- You think brand is unmeasurable so why try — Brand and performance need different metrics, not none
Resources: The Vault
Guides, teardown frameworks, and templates for founders and marketers who want the receipts.
Featured Guide
The $4B Ad Audit Guide.
60-second diagnostic + full audit framework. How to back into CAC, define stable metrics, and stop being bullied by last-touch attribution.
Recent Drops
- Request-a-Demo Pages: The Good, The Bad, and The "Why is This a PDF?" — Form strategy, trust signals, and why your CTA hierarchy is confused.
- Landing Page Roasts: A Rubric for Grown-Ups — Clarity, conversion, compounding—with examples and verdict stamps.
Get the Guide
Email signup form goes here (Beehiiv/Substack/ConvertKit embed).
TODO: replace diagnostic booking link.
TODO: replace back-to-top link.
FAQ
Do you take on campaign execution or ad buying?
No. I build the measurement infrastructure and strategic frameworks. You (or your team) execute.
What if we don't have a big ad budget?
If you're spending less than $50k/month, you probably need a generalist growth marketer, not a systems specialist. Happy to point you to good ones.
How do you handle NDAs?
All client work is confidential. Public case studies use representative examples and synthetic data.
What tools do you work with?
Whatever you already have. I'm tool-agnostic and prefer building systems that survive vendor changes.
Can you just fix our landing pages?
That's not my lane. I'll tell you what's wrong and why, but execution is on you. (The Roast is perfect for this.)
Do you train internal teams?
Yes. The Analyst Reboot is a 1–2 week program for Marketing Analytics, RevOps, or BizOps teams who need to think like operators, not just reporters. Ask about it during the diagnostic call.
Half Hearted Marketing — a resource hub for founders, CMOs, and marketers who want marketing that holds up in a finance meeting, scales without drama, and compounds instead of starting over every quarter.
Resources. Work with me.
© 2026 • Built for Super.so
<div id="hhm-scan" style="max-width:960px;padding:24px;border:1px solid #2a2a2a;border-radius:12px;background:#151515;color:#e8e8e8;font-family:Inter,system-ui,sans-serif"> <h3 style="margin-top:0">Quick Diagnostic</h3> <p style="color:#9a9a9a;font-size:14px"> Check what applies. No therapy session. Just pattern recognition. </p> <div style="display:flex;gap:8px;margin-bottom:16px"> <button onclick="setRole('founder')" class="tab active">Founder</button> <button onclick="setRole('cmo')" class="tab">CMO</button> <button onclick="setRole('cfo')" class="tab">CFO</button> </div> <div id="checks"></div> <div id="verdict" style="display:none;margin-top:16px;padding:12px;border-radius:8px;border:1px solid #333"></div> </div> <script> const data = { founder: [ "I can’t clearly explain our CAC", "Growth feels expensive but unclear", "We argue more than we decide", "Forecasts change constantly", "Dashboards break under pressure" ], cmo: [ "Attribution debates derail planning", "Finance doesn’t trust my numbers", "Experiments don’t change strategy", "Optimization is channel-first", "I defend spend more than guide it" ], cfo: [ "Marketing ROI feels hand-wavy", "CAC math changes by owner", "Forecasts don’t reconcile", "Spend reviews are reactive", "Pipeline attribution is weak" ] }; let role = "founder"; function setRole(r) { role = r; document.querySelectorAll(".tab").forEach(t => t.classList.remove("active")); event.target.classList.add("active"); render(); } function render() { const el = document.getElementById("checks"); el.innerHTML = data[role].map(t => `<label style="display:block;margin:6px 0"> <input type="checkbox" onchange="score()"> ${t} </label>` ).join(""); document.getElementById("verdict").style.display = "none"; } function score() { const n = document.querySelectorAll("#checks input:checked").length; const v = document.getElementById("verdict"); v.style.display = "block"; if (n <= 1) { v.innerHTML = "<strong>Mostly Stable</strong><br><small>Minor calibration needed.</small>"; v.style.borderColor = "#34d399"; } else if (n <= 3) { v.innerHTML = "<strong>Quietly Leaking</strong><br><small>Inefficiencies are compounding.</small>"; v.style.borderColor = "#fbbf24"; } else { v.innerHTML = "<strong>Systemic Risk</strong><br><small>Decisions are built on shaky math.</small>"; v.style.borderColor = "#fb7185"; } } render(); </script> <style> #hhm-scan .tab { background:#111; color:#9a9a9a; border:1px solid #333; border-radius:999px; padding:6px 12px; cursor:pointer; } #hhm-scan .tab.active { background:#7dd3fc; color:#000; font-weight:600; } </style>