How to Know Which Marketing Actually Made Money
Most businesses can tell you how many leads they got. Almost none can say which campaign produced revenue. Here is the full chain — click ID, call tracking, CRM stamping, offline conversions — that makes the question answerable.

Short answer: you can only answer "which marketing made money" when a single customer record carries the source it came from all the way from the ad click to the closed deal — and that closed value is sent back to the ad platforms. Four things have to connect: the ad click, the conversion, the CRM record, and the revenue. Break any one and every number downstream is a guess.
Why nobody in the room can answer the question
Ask a business how marketing is performing and you get lead counts. Ask which of those leads became money and the conversation stops. It is not carelessness. The answer lives in four systems that were never introduced to each other:
- The ad platforms know clicks and conversions they can claim credit for.
- The website knows form submissions.
- The CRM knows deals, stages and close dates.
- The bank knows revenue.
Nothing joins them. So each platform reports itself as the winner, and budget decisions get made on numbers that quietly double-count. Add up what Google Ads and Meta each claim in a month and the total is often larger than the number of customers that actually exist in the CRM.
The chain, in order
Attribution is not a report you buy. It is a chain you build, and it has to be built in order, because each link depends on the one before it.
Link 1 — Capture the click ID
Every Google ad click arrives with a gclid attached to the landing page URL; Meta sends an fbclid. That parameter is the only thing that ties a human being back to the exact campaign, ad group and search term that produced them.
On most sites it is discarded the instant the page loads. It is not stored in a cookie, not written to local storage, and not placed in a hidden form field. When that happens, the connection is severed before anything else has a chance to work — and no attribution tool bought later can recover it.
What correct looks like: on landing, the click ID is read from the URL and persisted (a first-party cookie is the usual choice), then written into a hidden field on every form on the site so it travels with the submission.
Link 2 — Make every conversion path measurable
Forms are the easy part. The hard part is the phone, because for most service businesses the phone is the primary conversion — and a raw tel: link is invisible. A click on it produces no measurable event tied to a source.
Call tracking assigns numbers dynamically so the call can be matched back to the visit, and therefore to the click ID that produced the visit. Without it, the channel producing your best conversations looks like it produces nothing. See how to track phone calls from Google Ads for the setup.
Link 3 — Stamp the source on the CRM record
This is the link almost nobody builds, and it is the one that makes the whole chain worth having.
When a lead is created in the CRM, the record should carry the click ID, the campaign, the source and the search term that produced it. Not in a note. In fields you can filter and report on.
Once that exists, something changes: your CRM becomes the source of truth instead of the ad dashboards. You can filter closed-won deals by campaign. You can see that one source produces many cheap leads that never close, and another produces fewer that always do. That comparison is impossible while the source lives only in a platform that benefits from claiming it.
Link 4 — Send the revenue back
The final link runs in reverse. When a deal closes, its value goes back to Google and Meta as an offline conversion, matched on the click ID captured in link 1.
This is what changes the algorithms' behaviour. Smart Bidding optimises toward whatever you tell it counts. Tell it "a form was filled" and it will find you the cheapest form-fillers in the market. Tell it "this customer was worth $4,300" and it starts looking for people who resemble your profitable customers rather than your easiest ones.
For any business with recurring revenue this is the difference between buying one-time customers efficiently and buying repeat customers on purpose. Two leads can cost the same and be worth twenty times different over a year — the platforms cannot see that distinction unless you send it.
What to measure once the chain is connected
Cost per lead stops being the headline number. It cannot distinguish between a lead that closed a large contract and a wrong phone number, and it treats both as one conversion.
The numbers that replace it:
- Cost per booked customer by campaign, keyword and channel
- Close rate by source — usually the most surprising report the first time it is run
- Revenue per channel, reconciled in the CRM rather than summed from dashboards
- Contract or lifetime value by source, wherever customers can repeat
See average cost per lead by industry for why benchmark comparisons mislead even when the tracking is correct.
How to check your own chain in about ten minutes
- Add a fake click ID to your own site. Visit your homepage with
?gclid=test123on the end. Submit a test form. Then open the lead in your CRM and look fortest123. If it is not there, link 1 or link 3 is broken. - Count your tel: links. If the phone is a main conversion and there is no call tracking provider on the site, every call from an ad is unattributed.
- Add up last month's claims. Google's conversions plus Meta's conversions, against the number of new records in the CRM. If the platforms claim more customers than you actually got, you are budgeting on double-counted numbers.
- Ask for close rate by campaign. If nobody can produce it, the source is not reaching the CRM.
The order matters
Businesses usually try to fix this by buying a dashboard. A dashboard on top of a broken chain produces confident, well-designed, wrong numbers.
Build it in order: capture the click ID, make every path measurable, stamp the source on the record, send the revenue back. Only then does a report mean anything — and at that point the report is almost trivial, because the data underneath it is finally true.
That is the whole job: not managing campaigns, but making a business able to say on a Monday morning which marketing made money last month — and decide what to do next from data instead of a platform's opinion.
// Free chain map
Find out which link is broken.
I load your site the way a real ad click arrives, check whether the click ID survives, whether your forms and calls carry a source, and where the money stops being traceable. Free, no account access needed to start.