Get Started

Tracking a Lead From Ad Click to Signed Contract: What Your Reporting Must Show

Most contractors can report cost per lead and nothing after it. Here is the full tracking chain from ad click to signed contract, and the numbers it must show.

Tracking a Lead From Ad Click to Signed Contract: What Your Reporting Must Show

A contractor spends $9,000 a month on Meta. The ad account says 112 leads at $80 each. Ask that contractor how many of those 112 became signed contracts and the honest answer is usually a guess, a vibe, or "we did pretty well last month."

That gap is where marketing money dies. Not in bad ads. In reporting that stops three stages before the money shows up.

Cost per lead is the easiest number in the business to produce and the least useful one to act on. It is the only number most contractors have, so it becomes the number they optimize. They push the cheapest campaign, kill the expensive one, and six months later revenue is flat while the ad account looks better than ever.

What does it cost you to track only cost per lead?

Run two campaigns side by side. Same budget, same month, same sales team.

Campaign ACampaign B
Ad spendCampaign A$4,500Campaign B$4,500
LeadsCampaign A112Campaign B45
Cost per leadCampaign A$40Campaign B$100
Contact rateCampaign A48%Campaign B71%
Appointments satCampaign A21Campaign B23
Close rate on satCampaign A22%Campaign B35%
Jobs signedCampaign A4.6Campaign B8.1
Cost per signed jobCampaign A$978Campaign B$556
Avg contract valueCampaign A$9,400Campaign B$12,100
Revenue producedCampaign A$43,240Campaign B$98,010

Campaign A wins every metric visible inside the ad platform. Campaign B produces more than twice the revenue. A contractor reporting on cost per lead shuts off the campaign that is paying the bills.

This is not a hypothetical edge case. It is the default outcome when broad, cheap-lead targeting competes against tighter, higher-intent targeting on a CPL scoreboard. The cheap campaign always wins on CPL. It usually loses on cost per acquired job.

The fix is not a better ad. It is a tracking chain that carries source data all the way to the contract, which is exactly what the Minyona client platform is built to hold: the lead, the property data behind it, the status it is sitting in, and the billing attached to it, in one record.

What are the five stages every contractor lead passes through?

Every lead you will ever buy or generate moves through the same five gates. Your reporting needs a timestamp and a count at each one.

  1. Click. A homeowner taps the ad. You know the campaign, ad set, and creative.
  2. Lead. They submit the form or call. Name, phone, address, service, and the source that produced them.
  3. Contact. Somebody on your team actually spoke to a human. Not dialed. Spoke.
  4. Sat appointment. A rep was in the home or on the video call with the decision makers present. Booked and sat are two different numbers and you need both.
  5. Signed contract. Dollar value attached, written back onto the original lead record.

Most contractors track stage 2 and stage 5 and nothing in between. That leaves you blind in the exact place where leads are lost. If 112 leads produce 54 contacts, your problem is speed and staffing, not ad quality. If 54 contacts produce 21 sat appointments, your problem is the booking conversation. If 21 sat appointments produce 4 contracts, your problem is the sales process or your pricing. Three completely different fixes, and a CPL report cannot tell them apart.

If you only have two data points, you cannot find the leak. You can only argue about it.

What fields does the tracking chain actually need?

Keep it short enough that a rep will maintain it. A long form nobody fills in is worse than a short form everybody does.

At the ad

Campaign name, ad set name, ad name. Name them like a human will read them later: `Roofing-MetroNorth-StormOffer-Oct26`, not `Copy of Copy of Lookalike 3%`. Naming discipline is free and it is the single thing that makes revenue reporting possible six months out.

At the form

Hidden fields that capture the campaign, ad set, ad, and landing page. Plus the visible stuff: name, phone, email, address, service requested, and a timestamp. The address matters more than most contractors think — it is what lets you attach property data, confirm the zip is in your service area, and later calculate revenue by territory.

At first contact

Timestamp of first dial, timestamp of first live conversation, and outcome. The gap between those first two timestamps is your speed-to-lead number, and it is the cheapest performance lever in the whole chain. Our breakdown on speed to lead covers why the first five minutes move contact rates more than any script change will.

At the appointment

Booked date, sat or no-show, rep assigned, and reason if it did not sit. No-show reasons cluster fast: one decision maker, wrong expectations, never confirmed. You cannot fix a pattern you never wrote down.

At the contract

Signed date, contract value, gross margin if you track it, and job type. This is the field contractors skip most often, and skipping it makes every earlier field decorative.

How do you connect Meta ad data to a signed contract?

Three rules. Follow them and the chain holds.

Rule one: the source field is written once and never overwritten. A lead comes in from a roofing campaign, then calls you back two weeks later from a Google search. Plenty of CRMs will rewrite the source on that second touch. Now the Meta campaign gets zero credit for a job it produced. Lock the original source. Track later touches as separate activity, not as a new origin.

Rule two: one lead record, start to finish. No new record when the appointment is booked. No separate deal object that loses the lead ID. If your CRM creates a second record for the opportunity, link it and make sure the source field rides along.

Rule three: revenue gets pushed back. When the job is sold, the contract value lands on the lead record. Most contractors enter contract value in the production system and never close the loop to marketing. That one missing write-back is why most contractor marketing reports are lead counts instead of revenue reports.

If your CRM is fighting you on any of those three, the configuration is the problem, not the platform. The contractor CRM setup guide walks through the stages and fields for JobNimbus, AccuLynx, ServiceTitan, Housecall Pro, and GoHighLevel.

If you want to see what a lead record looks like when the property data, status, billing, and dispute history all live on one screen, book a walkthrough and we will show you the live view instead of a screenshot.

What should a contractor's weekly reporting show?

One page. Grouped by source. Reviewed every Monday with the sales lead in the room.

MetricFormulaBenchmark to watch
MetricCost per leadFormulaAd spend ÷ leadsBenchmark to watchTrade dependent; $30-110 on Meta
MetricContact rateFormulaLeads spoken to ÷ leadsBenchmark to watch60%+ with a 5-minute response
MetricBooked rateFormulaAppointments booked ÷ contactsBenchmark to watch45-70%
MetricSat rateFormulaAppointments sat ÷ bookedBenchmark to watch75%+ with confirmations running
MetricClose rateFormulaJobs signed ÷ appointments satBenchmark to watch20-40% on exclusive leads
MetricCost per signed jobFormulaTotal spend ÷ jobs signedBenchmark to watchUnder 10% of avg job value
MetricRevenue per leadFormulaRevenue ÷ leadsBenchmark to watchCompare across every source

Revenue per lead is the number to put at the top of the page. It collapses the whole chain into one figure and it ends arguments. A source producing $310 per lead at a $90 cost per lead is a source you scale. A source producing $120 per lead at a $40 cost per lead is a source you cap. The second one looks cheaper and is worth less.

The deeper version of this scoreboard — the five metrics, the dashboard layout, and the cut-or-scale decision framework — is in our guide to tracking marketing ROI as a contractor.

What breaks contractor lead tracking most often?

It is almost never the software.

Reps who do not update stage. If a rep marks everything "contacted" and nothing else, your funnel has one usable number. Tie stage updates to something the rep cares about, like commission eligibility or appointment credit, and the data cleans itself up in two weeks.

Phone leads with no source. Someone calls, the office writes down the name, and the lead enters the system as "phone." Use a tracked number per campaign and ask one question on the call: "Where did you hear about us?" Imperfect, but enormously better than a blank field.

Sales cycle versus reporting window. Roofing closes in days. A kitchen closes in two months. If you judge a remodeling campaign on a 14-day close rate, you are grading an unfinished test. Judge leads and contact rate weekly, sat rate at two to three weeks, revenue on a 60 to 90 day cohort.

Attribution perfectionism. You will never achieve 100 percent clean attribution. iOS privacy changes, multi-touch journeys, and spouses using different devices guarantee leakage. Chasing the last 10 percent costs more than it returns. Get the chain to 85-90 percent clean and start making decisions with it.

No owner. If nobody's name is on the weekly report, it does not get produced. Assign it.

How do you use the numbers once you have them?

The reporting exists to drive four decisions, and only four.

  1. Scale or cap a campaign. Revenue per lead above target and sat rate holding? Raise budget 20-30 percent and watch for two weeks. Never double overnight.
  2. Fix the stage that leaks. Find the worst conversion gate and work only on that one. Contact rate under 50 percent is a staffing and response-time problem. Sat rate under 70 percent is a confirmation problem. Close rate under 20 percent on exclusive leads is a sales process problem.
  3. Reprice what you will pay per lead. Max CPL = (average job value × profit margin × close rate) ÷ target ROI multiple. With real close rate data, that formula stops being theory and becomes your buying ceiling.
  4. Hold every marketing vendor to the same scoreboard. Any partner should be judged on cost per signed job and revenue per lead, not impressions, not reach, not lead count. Ours included.

When campaigns run through your own ad account, you see the spend, the audiences, and the pixel data firsthand, which means the first link in this chain is never hidden from you. The rest of the chain is on you to build, and it is worth the two weeks it takes.

If your current reporting ends at cost per lead, you are not managing marketing. You are watching it. Get started here and we will walk through the stages your numbers already cover and the ones they do not.

Frequently asked questions

What should contractor lead tracking actually measure?

Five numbers per source: cost per lead, contact rate, sat appointment rate, close rate, and average contract value. Multiply them out and you get cost per acquired job and revenue per lead, which are the only two numbers that tell you whether to scale a campaign or shut it off.

Why is cost per lead a bad number to judge campaigns on?

Cost per lead ignores what happens after the form. A $40 lead that closes at 5 percent costs $800 per job, while a $140 lead that closes at 25 percent costs $560 per job. The cheaper lead is the more expensive customer, and a report that stops at CPL will tell you to buy more of the wrong one.

How do you connect a Meta ad click to a signed contract?

Pass the campaign, ad set, and ad name into hidden form fields, carry them into the CRM on the lead record, and never overwrite them when the stage changes. Then push contract value back onto the same record when the job is sold, so revenue reports can group by the ad that produced it.

How long should you wait before judging a campaign's performance?

Judge leads and contact rate inside the first week, sat rate inside two to three weeks, and close rate and revenue on a 60 to 90 day window. Most trades have a sales cycle longer than the ad reporting window, so killing a campaign at day 14 on close rate is judging an unfinished set of deals.

What breaks contractor lead tracking most often?

Reps who do not update lead stage in the CRM, source fields that get overwritten by later touches, phone leads logged without a source, and contract value that never gets written back to the lead record. Every one of those is a process problem, not a software problem.

Frequently asked questions

What should contractor lead tracking actually measure?

Five numbers per source: cost per lead, contact rate, sat appointment rate, close rate, and average contract value. Multiply them out and you get cost per acquired job and revenue per lead, which are the only two numbers that tell you whether to scale a campaign or shut it off.

Why is cost per lead a bad number to judge campaigns on?

Cost per lead ignores what happens after the form. A $40 lead that closes at 5 percent costs $800 per job, while a $140 lead that closes at 25 percent costs $560 per job. The cheaper lead is the more expensive customer, and a report that stops at CPL will tell you to buy more of the wrong one.

How do you connect a Meta ad click to a signed contract?

Pass the campaign, ad set, and ad name into hidden form fields, carry them into the CRM on the lead record, and never overwrite them when the stage changes. Then push contract value back onto the same record when the job is sold, so revenue reports can group by the ad that produced it.

How long should you wait before judging a campaign's performance?

Judge leads and contact rate inside the first week, sat rate inside two to three weeks, and close rate and revenue on a 60 to 90 day window. Most trades have a sales cycle longer than the ad reporting window, so killing a campaign at day 14 on close rate is judging an unfinished set of deals.

What breaks contractor lead tracking most often?

Reps who do not update lead stage in the CRM, source fields that get overwritten by later touches, phone leads logged without a source, and contract value that never gets written back to the lead record. Every one of those is a process problem, not a software problem.

Related Articles

Lead Generation

Why Contractor Appointments No-Show — and What Each One Costs You

Lead Generation

Choosing a Contractor Lead Company: 12 Questions to Ask Before You Sign a Contract

Operations

Call Center Calling and Texting Hours by State