How Do You Track Qualified Leads and Sales from Meta Ads?
Meta's dashboard tells you what the ads did. It cannot tell you who was qualified, who showed up or who paid. Here is the record we keep for every paid campaign we run, the seven stages we never merge, a worked example from enquiry to cash, and what happened when we ran it for a graphic novel publisher.
Written by Benjamin Chua, founder of Trueframe.
On this page
- What counts as a qualified enquiry?
- Which stages can you actually verify?
- Why keep people and opportunities as separate records?
- How should you record where a lead came from?
- What should you test before judging a campaign?
- Why review a cohort instead of a calendar month?
- What does a worked example look like from enquiry to cash?
- What happened when we ran this for a real client?
- How do you use the report to decide what to fix?
Track Meta leads by keeping one record per enquiry that follows it from recorded source through qualification, held call, signed agreement and collected cash, then compare that cohort with its campaign cost. Meta reports what the ads did. Your sales and payment records say who was qualified and who paid. It connects them without pretending they measure the same thing.
The short version
- Define 'qualified' in writing and record the reason when an enquiry fails it.
- Seven stages, never merged: received, qualified, booked, held, proposal, signed, collected.
- Keep people and opportunities as separate records, linked.
- Record what you know about the source. Mark the rest unknown instead of guessing.
- Review enquiries as a cohort by the month they arrived, not by the week cash happened to land.
What counts as a qualified enquiry?
A form submission is an enquiry. Qualified is a separate judgment against criteria you wrote down before the campaign. For a specialist service, those criteria usually cover the type of business, the problem they need solved, whether your service fits and whether there is a realistic buying process. Use criteria tied to your actual offer, not a generic lead score.
Record the reason when an enquiry fails. 'Not suitable' tells you nothing. 'Needs a service we don't provide' or 'outside the region we serve' tells you whether the ad, the targeting or the landing page is attracting the wrong people.
Don't change the definition every time a campaign looks weak. If you do revise it, date the change and note that comparisons across it need care. Qualification can also change as you learn more: someone who looked right on the form may reveal a different need on the call. Keep the stages and reasons visible rather than rewriting the earlier record to make the report look cleaner.
Which stages can you actually verify?
Seven, and each one has evidence somewhere in the business. The table shows the stage, what it establishes and where the proof lives. We keep exactly this ladder for every paid campaign we run.
Benjamin Chua
Paid acquisition measurement tool
4
printable pages
PDF · Version 1.0 · Updated Oct 2026
Meta Enquiry-to-Cash Review Worksheet
Define qualified, record the minimum fields per opportunity, reconcile one enquiry cohort from submissions to collected cash and decide what to investigate next.
- Definitions for qualified, held, signed and collected that your team signs
- The eleven minimum fields per opportunity, with owning source
- A cohort reconciliation table from submissions to cash and refunds
- Cost per qualified held call and partial contribution, labelled correctly
| Stage | What it establishes | Owning source |
|---|---|---|
| Enquiry received | A real enquiry arrived in the destination system | Form or CRM record |
| Qualified | It met the agreed criteria on available information | Qualification note with reason and date |
| Call booked | A conversation was scheduled | Booking tool |
| Call held | The conversation actually happened | Appointment outcome, not the booking |
| Proposal sent | A proposal was delivered | Sent record |
| Agreement signed | The required agreement was executed | Signed document |
| Cash collected | Money was actually paid | Payment or accounting record |
A verbal yes is encouraging. It is not a signed agreement. A signed agreement commits a customer to pay. It is not collected cash. Date every event, because a single status field shows where the opportunity is now, while dates show how long it took and which reporting period each event belongs to.
You don't have to force every business into every stage. Some offers have no separate proposal. Keep the stages that match how your sale works and preserve the distinction between interest, commitment and payment.

Swipe sideways to inspect the full graphic.
Why keep people and opportunities as separate records?
Because one person can submit a form twice this month and come back in a year for a genuinely different engagement. Give the person a stable contact record and each real sales opportunity its own record, linked. That stops a duplicate form counting as a new prospect while preserving a later opportunity that deserves its own history.
Review possible duplicates on contact details and other evidence. Don't merge two people because they share a company or a surname. A duplicate enquiry can still carry useful information, such as a new message or a later campaign touch, so keep that context even though it doesn't raise the unique count.
For a small operation this is a contacts tab and an opportunities tab. If your CRM already models the relationship, use it. The goal is one reliable record, not a second sales system nobody maintains.
How should you record where a lead came from?
Keep the recorded campaign information separate from the customer's answer to 'How did you hear about us?' A person can click an ad today after a colleague mentioned you last month. Their form carries a campaign tag; their reported source is the colleague. Both are true, and you want both.
The useful fields are the first recorded touch, the latest recorded touch before the enquiry, the campaign identifier and the buyer's own description. Call the first field 'first recorded touch', not 'first discovery'. A tracking system can't observe private conversations or earlier exposure.
UTM parameters identify campaign traffic in tools configured to read them. Google's URL builder guidance says to always include source, medium and campaign, to keep one consistent lowercase convention, and warns that values are case sensitive, so SpringSale and spring_sale split one campaign into two rows. Getting those values into the enquiry record requires your form or CRM to capture them. Test that handoff. An analytics visit does not automatically give your salesperson a source field.
Meta's own server-side path, the Conversions API, sends events from your server or CRM to Meta so they're processed like pixel events for measurement and optimization. It helps Meta's reporting. It doesn't replace your record, because Meta still can't see 'qualified' or 'signed'.
If the source is missing, write unknown. You can add evidence later. Guessing 'probably Meta' makes the report look complete while making the decision less reliable.
Buyer-reported source matters more than most dashboards admit. Robert Ta, an AI founder we worked with, tracked over six figures in converted pipeline from qualified leads who referenced his specific content on the call. No pixel recorded that. His sales notes did.
What should you test before judging a campaign?
The whole handoff. Submit a clearly labelled test enquiry through the real path. Check it arrives, keeps the intended source information and reaches the person responsible for follow-up. Then walk a test opportunity through every stage. Confirm a held call isn't counted because a booking existed, and that signed value and collected cash stay separate. Keep test records identifiable and exclude them from reporting.
This catches a simple failure with large consequences. If the campaign generates enquiries and nobody receives the notification, new ad creative will not fix it. Record where each field comes from: campaign cost from the ad account, attendance from the appointment outcome, payment dates and amounts from the accounting record. Someone owns reconciling them when they disagree.
In that video I spend a long section on diagnosing conversion problems from the sales conversation backwards. The seven-stage record is the data side of the same habit. A drop between two stages tells you where to look; the record tells you which conversations to listen to.
Why review a cohort instead of a calendar month?
Because they answer different questions. A calendar report shows activity or cash during a period. A cohort report follows the enquiries first received in a defined period, even when they sign or pay later. For a longer sales cycle you need both. Cash received this week may come from a campaign that ran in spring. Dividing it by this week's ad spend tells a flattering story about this week's ads.
Define the cohort, the source rule, the review date and the costs included, and preserve that definition when you revisit the numbers. A weekly check can track progress without declaring a campaign a success or failure at day seven. Some opportunities are still open. Show them as open instead of treating every unfinished deal as lost.
Attribution models in analytics tools work the same way: Google Analytics, for instance, offers data-driven and last-click models that assign credit differently to the same touchpoints. Whichever model you look at, it's assigning credit, not proving cause.
What does a worked example look like from enquiry to cash?
Here is a hypothetical cohort. It illustrates the method, not expected performance. A business reviews a campaign's September enquiries on 31 October. The cohort is every enquiry received in September with recorded campaign evidence, reported as campaign-associated without claiming the ads caused every sale.
The campaign generated 25 submissions. Five were repeat submissions from people already in the cohort, leaving 20 unique people and, in this example, one opportunity each.
| Outcome by 31 October | Count or value |
|---|---|
| Unique people / opportunities | 20 |
| Qualified opportunities | 12 |
| Calls booked from qualified opportunities | 10 |
| Qualified calls held | 8 |
| Executed agreements | 3 |
| Contracted value, three agreements at US$10,000 | US$30,000 |
| Cash collected against those agreements | US$20,000 |
Two customers paid US$10,000 each. The third had paid nothing by the review date. No refunds. All eight held calls are inside the qualified group, and the five repeat submissions were removed from the unique count once, not subtracted again at later stages.
Campaign costs were US$4,000 in media, US$1,000 in management and US$1,000 in creative allocated to this campaign: US$6,000 in total. If creative is shared across campaigns, document an allocation rather than charging the full cost to each one.
Cost per qualified held call is US$6,000 divided by 8, or US$750. Media-only cost per qualified held call is US$4,000 divided by 8, or US$500. Label which one you report. The two paid customers needed US$8,000 in combined incremental delivery costs, so collected cash less delivery less marketing is US$20,000 minus US$8,000 minus US$6,000, which leaves US$6,000.
That is a partial contribution figure. It excludes fixed overhead, tax, other sales costs and the unpaid agreement's future receipts and costs. It is not net profit, and it does not establish that all US$20,000 was incremental revenue caused by the ads. Keep following the cohort; a later payment, cancellation or refund changes the picture.
What happened when we ran this for a real client?
Mohsen Ashraf publishes Pantheon Myths, a series of mythology graphic novels, after fifteen years in corporate. When he came to us he had tried content himself and tried other specialists. In his words, sales were low, engagement was low, and he was feeling burnt out.
We started with the content system: scripts he could film himself, then full post-production. Then we moved to paid. The Meta campaigns were set up for purchase optimization with the pixel in place and UTMs on every ad, so each order could be traced back to the campaign and ad set that carried it. That tracing is the whole point of this article: when a sale lands, you know which spend it belongs to, and when a test fails, you know which one to turn off.
His outcome, in his own words from the testimonial he recorded: he went from virtually no sales to predictable sales every week, with 60 book sales in 10 days once the ads started. Those are his numbers and his words. We ran the content and the ads; the sales came from that system, and the record is what let us say so with a straight face.
“I went from virtually no sales to predictable sales every week.”
We keep the same discipline on our own numbers. Between 24 August and 17 October 2026, our site analytics recorded 22 visits referred from Claude, 5 from Gemini, 4 from ChatGPT and 2 from Perplexity. Small numbers, honestly reported, with the referrer as the recorded source and nothing inferred about which of those visits later booked a call. That is the standard we hold a client campaign to as well.
Want a second pair of eyes on your enquiry records?
Book a fit call and bring your current reporting. We'll look at what the data can and can't say, then tell you honestly whether a content and paid-acquisition engine would pay back for your offer.
How do you use the report to decide what to fix?
A drop between stages tells you where to look. It does not tell you why. If many enquiries are unsuitable, read their stated needs against the ad and the landing page. If qualified people book but don't attend, inspect the booking experience and the follow-up. If attended calls rarely progress, listen to the actual conversations and objections.
Small numbers deserve caution. One more sale can swing a percentage a long way. Look at the underlying records and don't declare a trend from a handful of outcomes. Check the data itself as well: missing updates, duplicate records and delayed payment entries create false performance stories in both directions.
If you're still deciding how much to put into paid distribution at all, the organic content versus paid ads guide covers that earlier decision, and the aesthetic clinic Meta ads budget guide shows a stage-by-stage budget for a specific vertical.
Related guides
Sources and review date
Primary sources, first-party data and review dates are listed below. Client-reported results and Trueframe analysis are labelled in the article.
- URL builders: collect campaign data with custom URLs · Google Analytics HelpReviewed 18 October 2026
- Conversions API · Meta for DevelopersReviewed 18 October 2026
- Get started with attribution · Google Analytics HelpReviewed 18 October 2026
Skip the reading. Talk it through instead.
Book a fit call and we'll map out what a content engine looks like for your business. No pitch, no pressure.
Don't miss the next one
Some of what we share is time-sensitive. A format that's working right now, a window that closes fast. We email those the moment they're worth jumping on. Drop your email so you catch them in time.
No spam. Unsubscribe anytime.
Frequently asked questions
How do you track qualified leads from Meta ads?
Why do Meta and my CRM show different lead totals?
Can UTMs prove an ad caused a sale?
Do I need a new CRM to track Meta leads properly?
What is a good cost per qualified held call from Meta ads?
What if a campaign produces zero qualified held calls?
Founded & led by
Benjamin Chua (BenChuchu)
Founder and CEO of Trueframe. 9 years building businesses (started at 16), tens of millions of views generated, and 8 figures in revenue created for the founders and brands he works with. He builds the content systems Trueframe runs.