One record per customer, every euro of spend joined to it. Fixed price, you keep the keys. Live in 4 weeks.
The problem
You switched on Breeze, or an AI SDR, or a model that reads the CRM. It is working from duplicate companies, contacts attached to nothing, and deals that arrived without a source. So it answers wrongly, at machine speed, across thousands of records before anyone notices.
What the agent is reading
The same mess is why nobody can say which channel paid for itself.
What it costs
Illustrative figures. Not a client account.
Fit
Any of those and I am the wrong call. Saying so here saves us both the meeting.
The build
In four weeks the data lives in one warehouse you own, deduplicated, with spend joined to closed-won revenue on one key, and agents watching it so it stays that way.
Connect HubSpot and the ad accounts into a warehouse in your own account. Count every defect. Agree metric definitions in writing.
Contacts and companies deduplicated and normalised. Identity resolved across sources. Write-back rules agreed before anything is written back.
Spend joined to closed-won revenue on one key, not to form fills. Three Metabase dashboards: channel to revenue, pipeline health, spend efficiency.
Agents watch for new duplicates, deals landing with no source, and material change in spend, and flag them before month end. Documentation and a recorded walkthrough.
Three sources are included: HubSpot plus two ad platforms. A fourth is quoted separately. Airbyte, your warehouse, Metabase, the same every time. Fixing the stack is what holds the price fixed.
How it starts
Nobody signs a four-week build off the back of a website. So it starts smaller. One page, in your numbers: how many duplicates, how many deals with no traceable source, how much spend cannot be joined to a closed deal, and what an agent reading that database gets wrong.
The price
The warehouse is in your own account from week 1. At week 5 you take the keys and owe nothing further, or you keep me on and the agents keep watching, so new duplicates get caught before they reach the CRM.
The obvious questions
The warehouse is in your own account from week 1, not mine. At week 5 you take the keys, the dashboards and the documentation for EUR 0 and run it in house. Nothing I build needs me in order to keep running, and none of it lives on infrastructure I control.
You can try. Postings for this role went from roughly 1,400 in mid 2025 to over 3,000 by January 2026, and the going rate is USD 120,000 to USD 250,000. You will spend four months hiring for it. I am done in four weeks, for less than a quarter of the first year.
The agency buying the media should not also be the one grading it. That is not a comment on their competence, it is a comment on where the conflict sits.
Deduplication that has to reason over history, and joins between spend and closed-won revenue, do not survive inside a CRM. That is the work the warehouse exists to do. What lands back in HubSpot is the result, once the rules are agreed.
No writes, no workflows touched, no deck. If the numbers say you do not need this, that is the answer you get.
Get the Readiness Report