Know exactly where every lead came from
Every lead tagged at first click and followed to the closed deal, so the budget argument becomes a five-minute read of the numbers.
The problem
How it works by hand
Most small businesses spend on ads, SEO and outbound at the same time with no idea which one produces the customers. The ad platform claims everything, the SEO agency claims everything, and the truth is in nobody’s report. So budget decisions get made on gut feel, which usually means the loudest channel keeps its money and the quiet one that closes deals gets cut.
A worked example
What a working version looks like
Every entry point gets tagged: forms, booking pages, phone numbers where it matters, each capturing the source and campaign that brought the visitor. Submissions write to one database rather than scattering across tools, and each lead is classified by channel at the moment it arrives. The lead then gets joined to what happens next in your CRM: qualified, quoted, closed, lost. The output is a report that reads in plain English which channels produced pipeline and which produced noise. No modelling, no guesswork, just the chain from first click to outcome.
The exact tools change per business. The shape does not.
What it needs
Honest inputs, nothing exotic
- 01Your CRM (HubSpot, Pipedrive or a spreadsheet, all fine)
- 02Access to edit the forms on your website
- 03Your ad accounts, read-only is enough
- 04Honesty about deals: the report is only as good as the closed-won data
The payoff
What you get back
Marketing spend stops being an argument and becomes a decision. You cut the channel doing nothing and put the money behind the one that closes, because for the first time you can see which is which.
Do it yourself
How you would build this yourself
No course, no upsell. This is the order we would build it in, with the tools named, and a prompt to start from.
- 1
Put UTM parameters on every link you control: ads, emails, LinkedIn posts, the lot. Agree one naming convention and write it down, because utm_source=Linkedin and utm_source=linkedin will haunt your reports forever.
- 2
Make your forms capture those UTMs in hidden fields and write them somewhere permanent with the lead: a database table, or honestly a Google Sheet to start.
- 3
Cover the entry points UTMs cannot reach. If phone calls matter, a separate number on the ads is the cheap version of call tracking.
- 4
Join leads to outcomes in your CRM. This is the fiddly bit, and it is a people problem not a technical one: someone has to actually mark deals closed-won or the whole report is fiction.
- 5
Build one monthly report: leads and closed deals by source, in plain English. Not a dashboard with forty widgets nobody opens.
Help me build first-touch attribution. My website forms are [describe them], my CRM is [HubSpot/Pipedrive/spreadsheet], and I spend on [Google Ads/LinkedIn/SEO/outbound]. Build me: 1) a UTM naming convention for every channel, 2) hidden-field capture on my forms that writes source data alongside each lead, 3) a monthly report joining leads to closed deals by source. Start by asking to see my current form code.
Copy it into Claude Code, fill the brackets, and it will plan the build with you before writing a line of code.
We would rather show you how than bill you. The whole ladder of free help, answers, guides and the weekly build-along, is on the do-it-yourself page.