Published:
19/8/2026
Updated:
19/8/2026
Why Your Website Isn't Generating Leads (And How to Fix It)
A website that gets visitors but no leads is failing at one of four measurable points: people never arrive, they arrive and leave, they stay but never reach the form, or they submit and the message dies somewhere between your site and your inbox. Each of the four has a specific check attached to it: three are numbers you can read in Google Search Console and GA4, and the fourth is a reconciliation between your form platform's submission log and your inbox. Work through them in order and the broken one identifies itself, without rebuilding anything first.
The four checks, in the order they have to be run:
- Check 1, arrival. Impressions and clicks in Google Search Console, for the pages you actually sell from.
- Check 2, engagement. Engagement rate per landing page in GA4, which you have to add to the report yourself.
- Check 3, the form. Form views compared against form submissions, as two separate GA4 key events.
- Check 4, delivery. Your form platform's submission log compared against what actually reached your inbox and your CRM.
What I see most often, in the sites agencies and business owners send me, is that the problem gets diagnosed backwards. Someone decides the site "looks dated" and rebuilds it, when the actual reading was that almost nobody ever scrolled as far as the form. Rebuilding fixes a scroll-depth problem by accident at best, and you learn nothing either way because no measurement was taken first.
Why isn't my website generating leads?
Your website is not generating leads because one specific link in the chain from search result to inbox is broken, and the four candidate links can be told apart by measurement rather than opinion. The table below is the whole diagnostic. Read it top to bottom and stop at the first row where your number is bad, because a failure at an earlier point makes every later number meaningless.
| Failure point | What to measure | Where to find it | The reading that says this is your problem |
|---|---|---|---|
| 1. Nobody arrives | Impressions and clicks for your money pages | Google Search Console, Performance report | Impressions are low or flat for the queries you actually sell against |
| 2. They arrive and leave | Engagement rate by landing page | GA4, Pages and screens report (metric must be added manually) | Engagement rate is far below your site average on the pages that receive paid or organic traffic |
| 3. They stay but never reach the form | Sessions that scrolled to or viewed the form, versus form submissions | GA4 key events, one for form view and one for form submit | Plenty of form views, very few submits |
| 4. They submit and nothing happens | Submissions recorded in the platform versus messages that reached a human | Your form platform's submission log, compared against your inbox and CRM | The log has entries the inbox does not, or entries nobody replied to |
Worth doing once is the multiplication itself, because the four stages compound rather than add. The table below is a worked illustration, not measured data and not a benchmark: the four rates are round numbers I picked to make the arithmetic legible, and they say nothing about what any particular site should expect. Substitute your own four numbers and the structure still holds.
| Stage | Rate chosen for this illustration (not a benchmark) | Arithmetic | Still in play |
|---|---|---|---|
| Impressions in a month | starting point | 10,000 | 10,000 |
| 1. Arrival (click-through rate) | 3% | 10,000 x 0.03 | 300 visits |
| 2. Engagement (engaged sessions) | 50% | 300 x 0.50 | 150 engaged |
| 3. Form reached and submitted | 4% | 150 x 0.04 | 6 submissions |
| 4. Reached a human and got a reply | 50% | 6 x 0.50 | 3 real leads |
Ten thousand impressions become three leads in that illustration, and no single stage in it looks catastrophic. That is the arithmetic reason a site can feel dead without anything being visibly wrong: the four rates multiply rather than add, so the compound outcome is always worse than any individual rate suggests. It is also why finding your weakest stage beats improving three strong ones. Doubling stage 3 from 4% to 8% doubles the final result on its own, and no amount of work on stage 4 can produce the same effect.
The reason to run these in order is that each one filters the next. If nobody arrives, your engagement rate is computed over a handful of sessions and means nothing. If they all leave in four seconds, your form view count is noise. I have watched teams spend a month rewriting form copy when the actual number said the form was never seen.
How do I tell whether I have a traffic problem or a conversion problem?
Compare impressions against clicks in Google Search Console: healthy impressions with poor clicks is a presentation problem, and poor impressions is a visibility problem, and the two need completely different work. Google defines the metrics precisely. Impressions are "how often someone saw a link to your site on Google", clicks are "how often someone clicked a link from Google to your site", and click-through rate is defined there as clicks divided by impressions (Google Search Console Help).
Two accounting details in that same document change how you should read a 2026 traffic drop, and most people miss both.
First, AI surfaces are already in your numbers. For AI Overviews, Google states that "clicking a link to an external page in the AI Overview counts as a click" and that "an AI Overview occupies a single position in search results, and all links in the AI Overview are assigned that same position". For AI Mode, "clicking a link to an external page in AI Mode counts as a click", and position "follows the same methodology as a Google Search results page". So if your impressions held steady while clicks fell, you are not necessarily being outranked. You may be appearing inside an answer that resolves the question before anyone needs your page. That is a content problem, not a ranking problem, and I wrote about how those citations work in answer engine optimization.
Second, Search Console reports against canonical URLs, not the URL the visitor landed on. Google is explicit: "Search Console simplifies analyzing your performance data by choosing one canonical URL that represents all variations of a page", and "if your website redirects the user to another page after they've landed from Google, that has no effect on the URL assigned the impression or click". If you have recently changed URLs, your new page may look like it earns nothing while its data quietly accumulates on the old canonical.
One more caution from the same page: Search Console "doesn't include data from experiments in Search Labs". Traffic that arrives through an experimental surface will not appear in your report at all, so do not treat a Search Console total as a complete count of everyone who saw you.
If impressions themselves are the weak number, the problem is upstream of anything on this page, and the place to start is a structured Webflow SEO audit. If impressions are fine and clicks are not, the title and description doing the selling in the results page are the lever, and I covered how to write those in meta titles and descriptions that get clicks.
What does it mean when people visit and leave immediately?
An immediate exit means the session failed every one of GA4's three engagement tests, and that definition is narrow enough to be genuinely useful as a diagnostic. Google defines an engaged session as one that meets any of the following: "lasts longer than 10 seconds", "has a key event", or "has 2 or more screen or page views". Engagement rate is "the percentage of engaged sessions", and bounce rate is its exact inverse, "the percentage of sessions that were not engaged" (Google Analytics Help).
Read that definition carefully, because it is a low bar. A visitor who lands, reads for eleven seconds, and leaves without doing anything counts as engaged. So a poor engagement rate does not mean "people were mildly unconvinced". It means a large share of arrivals did not last past ten seconds and did not click anything at all. In my experience that points at a mismatch between the promise that got them there and what the page says in its first screen, far more often than it points at design quality.
Two setup traps make this number lie:
- The metric is not in your reports by default. Google's own instructions say "by default, most reports in Google Analytics do not include the engagement rate and bounce rate metrics" and you must customise a detail report to add them, which requires an Editor or Administrator role. Plenty of site owners have never seen the number.
- Some events do not count. Google notes that "events such as
first_visit,first_open, andsession_startare excluded from the calculation of your engaged sessions even if it is marked as a key event". If somebody markedsession_startas a key event to inflate conversions, it did not even do that.
If the pages losing people are slow rather than unclear, that is a separate and very fixable problem, and I set out the measurement and the fixes in speeding up a Webflow site.
Why do visitors read the page but never fill in the form?
Visitors read a page and skip the form when the form asks for more than they are willing to trade at that moment, and the number of fields matters more than the number of steps. The best public data on this comes from the Baymard Institute, which has benchmarked ecommerce checkouts for over a decade. Their 2024 benchmark found that "the average checkout flow for a new user is 5.1 steps long" and contains 11.3 form fields, while "most sites need only 8 form fields in total for a checkout flow" (Baymard Institute).
Derived from those two published figures: the average checkout carries roughly 3.3 more fields than Baymard says it needs, which is my subtraction, not a number Baymard publishes.
Baymard's core finding is the part worth stealing for a lead form. In their words, "the number of form fields in a checkout impacts overall usability far more than the number of steps". Three of their specific results transfer directly to a contact form:
- Split name fields cause rework. During testing, "42% of participants typed their full name in the 'First Name' field at least once", while with a single "Full Name" field "only 4% of users briefly hesitated". Yet "89%" of benchmarked sites still use more than one name field.
- Optional fields are not free. Baymard found "30%" of participants "came to a stop" when they reached "Address Line 2", a field most of them did not need. Every field a visitor has to think about and reject costs you the same attention as one they fill in.
- Steps are the wrong thing to optimise. Baymard's benchmark has tracked checkout length since 2012 and the average has stayed at roughly five steps throughout, while field count is what moved with usability. Splitting a long form across two pages does not help if the field count is unchanged.
Three form changes I would make before touching anything else on a stuck contact page:
- Delete every field you do not read. Company size, budget range, and "how did you hear about us" are almost always collected and ignored. If nobody acts on the answer, the field is costing you submissions for nothing.
- Say what happens next, next to the button. One line stating who replies and how fast. Visitors hesitate at the submit button because they do not know what they are triggering, and an unknown outcome is easy to postpone.
- Make one field carry the qualification. A single open question such as "what are you trying to get done?" tells you more than five dropdowns, and it costs the visitor one decision instead of five.
The obvious caveat, which I would rather state than have you discover: this is ecommerce checkout research, run on people who had already decided to buy. A B2B enquiry form is a colder moment, so treat these as directional rather than as benchmarks for your contact page. The direction is unambiguous, though, and it runs one way. In my projects, cutting a nine-field enquiry form to name, email, and one open question is the single change that most reliably moves a stuck contact page, and the qualifying questions move to the reply or the call instead.
What happens to leads after the form is submitted?
A submitted form can be recorded by the platform and still never reach a person, which from the outside looks identical to having no leads at all. This failure point produces no error, no bounce and no complaint, which is why it gets checked last and why it survives for months. Catching it requires a reconciliation rather than a metric: no analytics tool can see the gap between a submission being stored and a human answering it.
Run the reconciliation as three counts over the same date range, and the gap tells you which handover broke:
- Count A, the platform. Submissions recorded in your form platform's own log.
- Count B, the inbox. Notification emails that actually arrived somewhere a person reads.
- Count C, the replies. Enquiries that received a human response, and how long each took.
A gap between A and B is a delivery problem inside the platform, and on a Webflow site the destinations, submission limits, spam protection settings and the specific reasons notification emails go missing are all documented in Webflow forms: validation, spam protection, and integrations. Open that page with your submission log next to it, because everything in the A-to-B gap is a settings change rather than a rewrite.
A gap between B and C is not a platform problem at all, and it is the one nobody has a dashboard for. Three named failure modes, each with the consequence it produces:
- Nobody owns the reply. The email arrives in a shared inbox, two people each assume the other has it, and the enquiry ages quietly. Consequence: you lose the enquiries that were shopping around, because they contacted three suppliers and one of them answered the same day.
- The reply is a question rather than an answer. The form collected nothing actionable, so the response is "thanks, can we jump on a call?" and the enquirer has to spend effort to continue. Consequence: the slowest, least motivated enquirers are the only ones who reply, which makes your leads look worse than they were.
- One touch and stop. Nobody follows up when the first reply goes unanswered, on the theory that chasing looks desperate. Consequence: you write off enquiries that simply got busy, and the pipeline looks thinner than the demand actually is.
None of the three shows up in any analytics tool. Counts B and C have to be produced by hand, once, and I have never run this reconciliation on an inherited site without finding at least one of the three.
What should I fix first when my website is not generating leads?
A site with traffic but no leads should always be fixed at the earliest broken check, not the most obvious one, because work done downstream of a break produces no measurable result and destroys your ability to tell whether the next change helped. In practice that means the order in the table above: visibility, then engagement, then the form, then delivery and follow-up.
The one exception is failure point four. Broken lead delivery is usually a ten-minute fix and it is pure recovered revenue, so it is worth checking on day one even if your real problem is upstream. There is no reason to leave captured leads sitting unread while you work on traffic.
Whether to redesign at all is a separate decision, and deliberately out of scope here. Running the four checks first is worth doing either way, because their output is the brief: they tell you which stage is losing people, which is information any redesign would otherwise have to guess at. The redesign decision itself has its own criteria and I set them out in how to know if you need a website redesign.
When is it worth getting someone else to read the numbers?
Getting a second reader is worth it when the four checks disagree with each other, when two of them look bad at once, or when the fix implied by the worst number is expensive enough that being wrong about it costs real money. If you are in one of those three situations, book a free 15-minute call and bring your Search Console and GA4 screens. I will tell you which of the four points is failing and what the fix costs, and if the answer is that nothing is broken and you simply need more traffic, I will say that too. Book the 15-minute call.
FAQ
Why is my website getting traffic but no leads?
A website with traffic but no leads is failing at one of four measurable points: nobody arrives on the pages that matter, visitors arrive and leave, visitors stay but never reach the form, or the form is submitted and the message never reaches a human. Each point has its own number in Google Search Console or GA4. Check them in that order, because a break at an earlier point makes every later number meaningless.
How do I tell whether I have a traffic problem or a conversion problem?
Compare impressions against clicks in the Google Search Console Performance report. Google defines impressions as how often someone saw a link to your site on Google and clicks as how often someone clicked one. Low impressions is a visibility problem that no page change can fix. Healthy impressions with poor clicks is a presentation problem in the title and description.
What counts as an engaged session in GA4?
GA4 counts a session as engaged if it meets any one of three criteria: it lasts longer than 10 seconds, it has a key event, or it has 2 or more screen or page views. Engagement rate is the percentage of engaged sessions and bounce rate is the exact inverse. Because the bar is that low, a poor engagement rate means most arrivals left within ten seconds without clicking anything.
Does my contact form have too many fields?
A contact form has too many fields if it collects anything nobody reads before replying. Baymard Institute's 2024 ecommerce benchmark found the average checkout carries 11.3 form fields while most sites need only 8, and that field count affects usability far more than the number of steps. That research covers checkouts rather than enquiry forms, so treat it as directional, but the test is practical: delete every field whose answer never changes what you do next.
How do I check whether leads are being lost after the form is submitted?
Checking for leads lost after submission means producing three counts over the same date range: submissions recorded in your form platform's log, notification emails that reached somewhere a person reads, and enquiries that got a human reply. A gap between the first two counts is a delivery problem inside the platform. A gap between the last two is a process problem, and no analytics tool can see it.
In what order should the four lead-loss checks be run?
The four checks run in the order the visitor moves: arrival, then engagement, then the form, then delivery and reply. The order matters because each check filters the next, so a break at an earlier point makes every later number statistically meaningless. The one exception is the delivery check, which is worth running on day one regardless because captured-but-unanswered enquiries are recoverable immediately.