20 Hours a Month Back — Marketing Reporting on Autopilot
The Situation
A B2B SaaS company. One marketing person, several channels, one CEO who kept asking the same reasonable question: which of this is working?
Every week, half a day went into copying numbers out of Google Ads, Meta, Google Analytics and HubSpot into a slide. The slide landed in a Slack channel. Nobody opened it. It could show clicks and spend, but it could not show which campaigns had turned into signups, because signup data lived in the product database and nobody had time to join the two.
So the report was both expensive to make and useless to read.
What I Built
An automated reporting agent on top of Claude and MCP connectors:
- Direct connections to every platform. Google Ads, Meta, Google Analytics and HubSpot, pulled through MCPs instead of by hand.
- A connection to the product's own signup data. Campaign and source attached to every signup, so ad spend can finally be compared to customers, not to clicks.
- A written report, not a dashboard. Claude reads the numbers and writes what changed, what it thinks caused it, and what it would look at next. In plain language, in Slack, every Monday.
- Questions on demand. Anyone in the team can ask a follow-up in Slack and get the answer from the same data.
The Results
- Around 20 hours a month of the marketing person's time freed up. That is an estimate from the person doing the work, not a stopwatch, and it is conservative.
- Reports went from unread to discussed. Because they now say something, people reply to them.
- Attribution to real signups for the first time. The team could see that one channel with great click metrics was producing almost no customers, and moved the budget.
Why It Worked
Not because the AI is clever. Because the manual work was never the report itself. It was the fetching and joining. Once a machine does that every week without being asked, the human is free to do the one part that needed a human: deciding what to do about it.