All articles
ConversionJuly 2, 20269 min read

Why Visitors Don't Convert: A CRO Checklist With Real Thresholds

Most conversion advice is vibes. This is a checklist with numbers: CTA placement, form length, tap targets, load time and trust signals — each with a threshold and a fix.

By Niraj Kumar

Conversion advice has a credibility problem. "Reduce friction." "Build trust." "Make your CTA pop." All true, all unfalsifiable, none of it something you can check on a Tuesday and know whether you've done it.

So here's the version with numbers in it. Every item below has a threshold you can measure and a fix you can ship. Where the number is contested, I've said so — a fake precise number is worse than an honest range.

Work down the list in order. It's sorted roughly by how often it's the actual problem.

The checklist

Check Threshold Why it matters
Primary CTA visible without scrolling Above the fold on a 667px-tall phone If they never see it, nothing else on this list matters
One primary action per page Exactly 1 Two equal CTAs is a question, not an offer
Form fields 3–5 for a lead form Each extra field costs you completions
Tap targets 44×44 CSS pixels, 8px apart A mis-tap on mobile reads as "this is broken"
Largest Contentful Paint Under 2.5s Slow pages lose people before they see the offer
Interaction to Next Paint Under 200ms A button that feels dead gets tapped twice, or not at all
Trust signals near the CTA At least 1 Doubt peaks at the exact moment of commitment
Error messages Inline, next to the field A form that fails silently is a form that fails

1. They never saw the CTA

Start here, always. It's the most common cause and the least interesting one, so it gets skipped in favour of rewriting the headline.

The threshold: your primary call to action should be visible on a 667px-tall viewport — an iPhone SE, which is still a real device a real fraction of your visitors use — without scrolling. Not "near the top." Visible.

The usual culprit is a hero section designed on a 27-inch monitor. It looks spacious there. On a phone the headline eats the screen, the subheading eats the rest, and the button sits 200px below the fold behind a cookie banner.

Verify it: open devtools, set the viewport to 375×667, load the page, and don't scroll. Can you see the button? That's the whole test.

Fix it: cut the subheading, shrink the hero padding on mobile, or move the button above the supporting copy. It is nearly always a padding problem, not a copy problem.

Two CTAs of equal weight is zero CTAs

If "Start free trial" and "Book a demo" are rendered as identical buttons side by side, you have not given someone a choice — you've given them a decision, and decisions cost energy that was earmarked for converting.

Pick one primary action. Style it as the obvious one. Everything else becomes a text link. You can offer the demo; just don't make it look like a coin flip.

2. The form is asking too much

Every field you add is a small tax on completion. The exact elasticity depends entirely on your offer — anyone quoting you a universal "each field costs 11%" is making it up — but the direction is never in dispute.

The threshold: 3–5 fields for a lead form. Ask for what you need to make the next contact, and nothing you'd merely like for reporting.

Run this test on every field: "What happens if I don't ask this?" If the answer is "our CRM has a blank column", delete it. If it's "we can't route the lead", keep it.

The fields that almost always fail that test:

  • Phone number on a form whose next step is an email. You want it. You don't need it. It is the single most common completion-killer on B2B forms because it implies a call you didn't ask for.
  • Company size / industry dropdowns. You can enrich most of this from the email domain afterwards, without making a stranger do data entry for your segmentation.
  • "How did you hear about us?" — the honest answer is "I don't remember", and you've just asked someone to fail a quiz to reach your product.

Errors must be inline and specific

A form that rejects a submission and shows a red banner at the top saying "Please correct the errors below" — with no indication of which field — is a form that people abandon. They tried, it said no, they left.

Errors go next to the field, they say what's wrong, and validation fires on blur, not only on submit. And never reject something you can fix yourself: a phone number with spaces in it is a valid phone number. Strip the spaces; don't lecture the user about format.

3. Mobile is quietly broken

Not "not optimised" — broken, in ways nobody has checked because everyone tests on the machine they build on.

Tap targets: 44×44 CSS pixels minimum, with at least 8px between them. That's the size of an adult fingertip, and it's the WCAG-informed floor rather than a design preference. A 30px-tall button with a link 4px underneath it produces mis-taps, and a mis-tap doesn't read as "I made a mistake" — it reads as "this site is broken", and people leave sites that are broken.

Three more that are worth two minutes each:

  • Horizontal scroll. One overflowing element — a wide table, an unbroken URL, a fixed-width image — makes the entire page slide sideways. It feels cheap and it's usually one CSS rule.
  • Input types. A phone field with type="text" gives someone the alphabet keyboard. Use type="tel", type="email", inputmode="numeric". It costs one attribute and removes a genuine irritation.
  • Sticky headers eating the viewport. A 90px sticky header on a 667px screen has taken 13% of the page before a single word is read.

4. It's too slow to reach the offer

Speed isn't a conversion tactic, it's a precondition. Someone who left at 4 seconds never evaluated your pricing — they never saw it.

The two numbers worth knowing, both from Core Web Vitals:

  • LCP (Largest Contentful Paint) under 2.5 seconds. How long until the biggest thing on screen — usually your hero image or headline — has actually rendered.
  • INP (Interaction to Next Paint) under 200ms. How long from a tap until the page visibly responds. This is the one that makes a site feel dead — a button that does nothing for 400ms gets pressed again, and now you have a double submission.

Measure with real-user data if you have it, because the lab score on your fast laptop and fast wifi is a fiction. Your customers are on a mid-range Android on a train.

The usual causes, in the order you'll find them: an unoptimised hero image (easily the most common — a 2MB PNG that could be a 90KB WebP), render-blocking third-party scripts, and web fonts that hide your text until they load.

5. Doubt spikes exactly at the CTA

The moment before someone clicks a button is the moment they think of every reason not to. Is this going to charge me? Can I cancel? Is this a real company? What happens next?

Trust signals belong at that moment — next to the button, not on an About page nobody visits.

The ones that work are the ones that answer the specific fear:

Fear The signal that answers it
"Will you charge me?" "No credit card required" — right under the button
"Am I locked in?" "Cancel anytime"
"Is this real?" A named customer logo, or a review with a real name and face
"Is my data safe?" A link to a security page that actually exists
"What happens when I click?" "You'll get a 15-minute call, not a sales pitch"

That last row is the most underused thing in conversion optimisation. Say what happens next. Most hesitation at a button isn't skepticism about your product, it's uncertainty about what you're about to do to them.

And keep it honest. A fake "3 people are viewing this right now" counter, a countdown timer that resets on refresh, a testimonial from a stock photo — these work exactly once per visitor, and the second time they see through it you've lost more than the conversion.

Where to find your actual problem

The checklist tells you what to look for. It doesn't tell you which one is your problem. Three ways to find out, cheapest first:

Watch the funnel drop-off. If 1,000 people hit pricing and 12 start the form, your problem is upstream of the form — it's the offer, the price, or the CTA. If 400 start it and 30 finish, your problem is the form. This one comparison localises the failure faster than any amount of expert opinion.

Look at where they stop. Scroll and click heatmaps will show you the thing that no amount of reasoning will: that 70% of visitors never reach the section you consider the heart of your pitch, or that people are repeatedly clicking something that isn't a link.

Then test the fix, don't just ship it. If the change is worth arguing about, it's worth A/B testing. And if you can't run a clean test — low traffic, small effect — prefer the change that removes something. Removals are much more reliably positive than additions.

What to do this week

  1. Load your highest-intent page at 375×667. Don't scroll. Is the CTA visible? Fix that first, and nothing else until it's true.
  2. Count your form fields. Delete every one that fails the "what if I don't ask this?" test. Start with the phone number.
  3. Check your LCP on a real mobile connection, not your laptop. If it's over 2.5s, it's almost certainly the hero image.
  4. Put one trust signal directly under your primary button — the one that answers the specific thing people are actually worried about.
  5. Then look at a heatmap before forming any further opinions.

Every item on this list is high-confidence and low-effort, which — under the triage framework — means they sort straight to the top of your list, above the redesign you were planning. Which is the point: these are conversion audit checks, not conversion ideas. You don't need to be right about human psychology to run them. You just need to run them.

Stop guessing what to do next

Connect your website and get your first growth action plan today.

No credit card required · Setup in under 2 minutes