Most agencies report leads. Fewer report qualified leads. Almost none report qualified leads split by channel in a way the business can act on.
The gap matters because the two channels produce different lead quality, and the raw count hides it. Google Ads can produce more enquiries at a lower cost per enquiry while producing fewer customers. SEO can produce fewer enquiries that close at twice the rate. Judge either on volume and you will defund the wrong one.
This guide covers how to define qualified, how to attribute it to a channel when the data fights you, and what to report so the number survives a conversation with the person paying for it.
Define qualified before you measure anything
“Qualified” has to mean something specific to your business, agreed in writing, or every report becomes an argument.
A workable definition has three parts:
|
Part |
Question it answers |
Example |
|
Fit |
Are they the kind of customer we serve? |
Singapore-registered business, 10 to 200 staff |
|
Need |
Do they want something we sell? |
Needs a website rebuild, not a logo |
|
Capacity |
Can they proceed? |
Budget above our minimum, decision within six months |
An enquiry meeting all three is qualified. An enquiry meeting two is a lead. An enquiry meeting one is noise.
Write this down and give it to whoever handles enquiries. If qualification happens in someone’s head, it cannot be measured and it will drift.
The four stages worth counting
Counting one number loses the information you need. Count four.
- Enquiry. Anyone who contacted you through any channel.
- Qualified lead. Meets the definition above, judged by a person.
- Opportunity. Had a real conversation, scope discussed, quote issued or imminent.
- Customer. Signed and paid.
The ratios between stages are where the channel differences appear. Two channels can produce identical enquiry counts and completely different customer counts, and you only see it if you count all four.
A worked example of why the top number misleads:
|
Google Ads |
SEO |
|
|
Enquiries |
40 |
22 |
|
Qualified |
14 |
15 |
|
Opportunities |
7 |
11 |
|
Customers |
2 |
5 |
|
Qualified rate |
35% |
68% |
On enquiries, Google Ads looks almost twice as good. On customers, SEO produced more than twice as many. Both facts are true. Only one of them matters for the budget decision.
Attributing the channel, honestly
This is where the measurement gets difficult, and where most reports quietly cheat.
What the tools can and cannot tell you
Google Ads reports conversions it can attribute to a click, which is reliable for clicks that converted in the same session or within the attribution window on the same device.
GA4 reports a channel for each session and applies its attribution model. The default is data-driven, which distributes credit across touchpoints rather than giving it all to the last click.
What neither can see: a visitor who finds you via an ad, leaves, searches your brand name three days later, arrives via organic, and enquires. GA4 may credit organic. The ad started it. Nothing in your analytics knows that.
That is not a flaw you can fix with a better setup. It is the nature of the data, and pretending otherwise produces confident reports built on a guess.
The three things that make attribution usable
1. A self-reported source field. One optional question on the enquiry form: “How did you hear about us?” with a free-text option.
This is the single highest-value addition to lead measurement, and it costs nothing. It catches what analytics cannot: referrals, offline conversations, the ad someone saw weeks ago. Keep it optional so it does not cost submissions.
Self-reported data is imperfect, because people misremember. Used alongside analytics rather than instead of it, the two together are considerably better than either alone.
2. Offline conversion import. When a qualified lead becomes a customer, send that back to Google Ads. The platform then optimises toward clicks that produce customers rather than clicks that produce form fills.
This is the step that separates campaigns that get better over time from campaigns that get cheaper and worse. It requires a click ID stored with the lead and passed back when the deal closes.
3. One source of truth for lead status. A CRM, or a spreadsheet nobody else edits. The qualification judgement has to live somewhere stable, with the channel recorded at the moment of enquiry rather than reconstructed later.
Call and WhatsApp tracking
In Singapore a large share of enquiries arrive by phone or WhatsApp, and untracked they appear as nothing.
- Click-to-call tracking on mobile, as a GA4 event, at minimum
- WhatsApp click tracking, same approach
- Dynamic number insertion if call volume justifies it, which swaps the displayed phone number by traffic source
Without these, a channel that drives phone enquiries looks like it drives nothing.
What to report
A monthly view with these rows, split by channel, is enough for a real decision:
|
Metric |
Why |
|
Enquiries |
The raw top of funnel |
|
Qualified leads |
The number that matters |
|
Qualified rate |
Shows lead quality, which the raw count hides |
|
Cost per qualified lead |
Spend divided by qualified, not by enquiries |
|
Opportunities and customers |
Where the channel difference becomes financial |
|
Time to qualify |
SEO leads often arrive better informed and move faster |
|
Self-reported source |
The reality check against your analytics |
Cost per qualified lead is the number to put in front of a decision maker. Cost per enquiry rewards whichever channel produces the most form fills, which is not the same as the most business.
For SEO, “cost” is your retainer plus content cost in the period. It is not free, and treating it as free makes the comparison meaningless.
Three mistakes that distort the comparison
Comparing a mature channel against a new one. Google Ads produces leads in week one. SEO produces them in month four. Compare them in the same period and SEO loses by construction. Measure SEO on a rolling twelve months.
Ignoring the assist. If your Google Ads campaign stops and organic enquiries also fall, the ads were doing more than their last-click number showed. Brand search volume is the thing to watch here.
Counting SEO as free. It has a cost. Include it or the comparison is theatre.
A reporting setup that holds up
Six steps, in order:
- Write the qualification definition and get it agreed by whoever handles enquiries.
- Add the self-reported source field to every form. One optional question.
- Track every contact route: forms, phone clicks, WhatsApp clicks, each as a GA4 event. See our GA4 setup guide.
- Record channel at the moment of enquiry into your CRM or sheet, not reconstructed afterwards.
- Set up offline conversion import to Google Ads so it optimises toward customers.
- Report monthly on all four stages, by channel, with cost per qualified lead as the headline.
Expect the first two months to be messy. The self-reported data will disagree with your analytics, and that disagreement is itself informative about which of your assumptions were wrong.
Frequently asked questions
What counts as a qualified lead?
One that meets an agreed definition covering fit, need and capacity: the right kind of customer, wanting something you sell, able to proceed on budget and timeline. The definition must be written down and applied by whoever handles enquiries, or the measurement drifts.
How do I know whether a lead came from SEO or Google Ads?
Combine three sources. Google Ads reports click-attributed conversions, GA4 assigns a channel per session, and a self-reported “how did you hear about us” field on your form catches what neither can see. No single source is complete, particularly when someone sees an ad and returns later through organic search.
Should I compare cost per lead between SEO and Google Ads?
Compare cost per qualified lead, not cost per enquiry. Cost per enquiry rewards whichever channel produces the most form fills, which is often not the channel producing the most customers. Include your SEO retainer as a cost; treating SEO as free invalidates the comparison.
Why do my Google Ads and GA4 conversion numbers differ?
They use different attribution models and windows. Google Ads credits the ad click within its own window; GA4 applies its own model across all channels and sessions. A gap is normal. Pick one as your reporting source and be consistent rather than reconciling them every month.
What is offline conversion import and do I need it?
It sends the outcome of a lead, such as a closed deal, back to Google Ads so the platform optimises toward clicks that produce customers rather than clicks that produce form fills. If you have a sales cycle longer than a few days, it is the single biggest improvement available to campaign quality.
How long before SEO lead quality can be compared with paid?
Allow at least six months, and compare on a rolling twelve-month basis. Paid produces leads immediately while SEO compounds, so a same-period comparison is structurally unfair to SEO.
Do I really need call tracking?
In Singapore, usually yes. A meaningful share of enquiries arrive by phone or WhatsApp, and untracked they make the channel that produced them look ineffective. Tracking clicks on mobile as GA4 events is the minimum; dynamic number insertion is worth it at higher call volumes.
What if my analytics and my self-reported data disagree?
That is expected and useful. Analytics undercounts anything involving a device switch, a long gap, or an offline conversation. Self-reported data suffers from faulty memory. Where they disagree consistently, trust the direction of the self-reported data and investigate why your tracking is missing it.
Getting this built
Most of this is a configuration problem rather than a strategy problem, and it is usually done once and then runs.
We set it up as part of both our SEO and Google Ads management engagements, because we would rather be judged on qualified leads than on traffic. If the diagnosis you need first is why enquiries are not arriving at all, start with traffic but no enquiries. For the wider funnel, see our lead generation guide and what ROAS is.