Here is a number that should scare every founder: 700+ people interacted with a form. Zero of them submitted it. Not a low submission rate. Zero. The form loaded fine, the fields responded to typing, dropdowns opened. Every dashboard said traffic was up and the page was healthy. And every single lead was silently falling on the floor.
Grain's Deep Investigation found it in four minutes.
If your signups, checkouts, or conversion rate just dropped and you don't know why, this is the guide. It's a decision tree you can actually follow — from the moment you notice the drop to the moment you've named the cause and verified the fix. No hand-waving, no "it's probably seasonality." Work the tree.
The moment you notice the drop#
You saw it on a dashboard. Conversions this week are down 22% versus last week. Or checkout completions cratered on Tuesday afternoon. Or your weekly signup count is suddenly half what it was.
Here's the trap: the dashboard tells you the what, never the why. A line going down is a symptom, not a diagnosis. Most teams stare at the chart, refresh it, and start guessing — "maybe the market softened," "maybe it's summer." Guessing is how a two-day fix becomes a three-week revenue leak.
Before you theorize, do two things. First, confirm the drop is real and not a reporting artifact (a tracking gap can look exactly like a conversion drop — more on that below). Second, pin down when it started. A sharp cliff on a specific date points to a release or an outage. A gradual slide points to traffic mix or seasonality. The shape of the drop is your first clue.
Split the drop: traffic or conversion rate?#
This is the single most important cut, and almost everyone skips it. A drop in total conversions has exactly two ingredients:
Conversions = Traffic × Conversion rate
If conversions fell, one of those two moved. They point at completely different problems.
- Traffic fell, rate held. Fewer people arrived, but the ones who did converted at the normal rate. This is a marketing or acquisition problem — a paused campaign, a ranking drop, a dead referral source. Your site isn't broken.
- Traffic held, rate fell. The same number of people arrived, but fewer converted. This is a site problem — something on the page, in the funnel, or in the checkout is now losing people it used to keep. This is the expensive, silent kind.
- Both moved. Split them anyway and treat them as two investigations.
Segment the funnel step by step so you can see where the rate broke. If landing → product-view held but checkout-start → payment collapsed, you've localized the leak to one transition. That's the difference between "conversions are down" (useless) and "payment step conversion dropped 30% on mobile starting Tuesday" (actionable). Our guide to reading conversion funnels walks through building these step gates if you don't have them yet.
The usual suspects checklist#
Once you know it's a rate problem and you know which step broke, run this checklist. These are the causes, roughly in order of how often they're the culprit and how fast they are to check.
A recent release or deploy#
The number one cause of a sudden rate drop is a change you shipped. Line up the timestamp of the drop against your deploy log. If the cliff edge matches a deploy within an hour or two, you've almost certainly found it — now you just need to know what in that release did it. A UI refresh that moves a trust badge below the fold, a form field that got a new required validation, a button that stopped firing its handler: none of these throw server errors, so your monitoring stays green while conversions bleed. We wrote a full teardown of exactly this pattern in the release that silently killed checkout.
A broken form or validation#
Forms fail silently more than any other element. A submit handler that breaks in Instagram's in-app browser, a validation rule that rejects valid input without a visible error, a hidden field that now blocks submission — the user tries, nothing happens, they leave. The tell is a gap between field interactions and completed submissions. Hundreds of people touching the form, near-zero finishing it. No standard dashboard widget shows that gap, which is why it hides for weeks. Hold that thought — the worked example below is exactly this failure.
A tracking break#
Sometimes conversions didn't drop at all — you just stopped recording them. A renamed event, a tag that didn't ship on the new page, a consent banner change that blocks the pixel, a deploy that dropped the analytics snippet. The signature: the conversion event goes to zero or near-zero at a sharp edge while the upstream steps look totally normal, and often revenue or order counts in your other systems (Stripe, your DB) disagree with analytics. Always rule this out early — fixing a "conversion drop" that's really a tracking break wastes days. Solid event tracking practices prevent most of these.
A pricing or paywall change#
Did anyone touch pricing, add a required field to checkout, introduce a paywall step, or change shipping thresholds? Even a small increase in perceived cost or friction at the decision moment shifts conversion. This one is easy to miss because the person who changed pricing and the person watching conversions are often different people.
A traffic-mix shift#
Your rate can drop without anything on the site changing — if the kind of traffic changed. A new campaign sending lower-intent visitors, a viral post bringing curious non-buyers, a channel that shifted from desktop to mobile: the blended conversion rate falls because the mix got worse, even though each segment converts the same as before. Segment your rate by source and device. If one new source is dragging the average down, the site is fine and the campaign is the problem.
Seasonality and calendar effects#
Tuesday at 3pm does not convert like Saturday at 10am. A holiday, a payday cycle, the start of summer — these move conversion for real reasons. This is a valid cause, but treat it as the last explanation, not the first. "It's probably seasonal" is the most expensive sentence in analytics because it ends the investigation before it starts. Only accept seasonality after you've ruled out the mechanical causes above, and confirm it against the same period last year.
A third-party outage#
Your payment provider, auth provider, address autocomplete, or fraud check can degrade without taking your site down. Checkout conversion craters because Stripe is timing out in one region, or logins fail because your auth provider is flaky. Check your vendors' status pages for the drop window, and look at whether the failure clusters by geography or provider.
How to actually find it fast#
The checklist tells you what to suspect. These four tools tell you which suspect is guilty — and they turn a week of guessing into an afternoon.
Session replay of the drop-off step#
Filter replays to users who reached the broken step and then abandoned. Watch ten of them. Don't skim — watch. You'll see the pattern within a few sessions: users scrolling up and down hunting for a moved element, tapping submit and nothing happening, hesitating at a new required field. Replay converts "conversion dropped" into "I watched eleven people try to pay and fail the same way."
Heatmaps for dead and rage clicks#
Heatmaps show where clicks fail. Dead clicks land on things that look interactive but aren't. Rage clicks are the same spot hit over and over in frustration. A cluster of dead clicks on a submit button, or rage clicks on a frozen field, points straight at the break. Compare the heatmap before and after the drop date and the shift usually jumps out. Our piece on dead clicks and rage clicks covers how to read these signals.
Segment comparison: before versus after#
Put the healthy window next to the broken window and diff them across device, browser, source, and geography. If the drop is concentrated — mobile only, one browser, one campaign, one country — that concentration is the diagnosis. A break that's mobile-only and started Tuesday is a mobile-specific regression in Tuesday's deploy. You've narrowed a haystack to a single needle.
Kai's Deep Investigation#
Doing all of the above by hand takes real time and real expertise. Deep Investigation is Grain's six-phase audit that does it for you: it cross-references funnel drops against behavioral signals — form interactions, scroll depth, dead and rage clicks, session clusters — segments the affected users, and names the cause with the evidence attached. Instead of you hypothesizing and checking, Kai clusters the failing sessions and hands you the ranked list of what broke. That's how the story below took four minutes instead of four days.
The 700 interactions, zero submissions story#
Here is the full worked example, because it's the cleanest illustration of everything above.
A fast-growing online education platform was having its best week ever. Traffic up 56%. A consultation landing page pulling nearly 1,900 visitors, more than double the prior week, driven by a strong Instagram campaign. Every top-line number said things were working. Nobody was looking for a problem.
Underneath, the consultation form was capturing nothing. Over 700 visitors interacted with it — the "Select Department" dropdown alone had 701 clicks, "Select Class" had 643. People were actively filling it out. Successful submissions: zero.
The form wasn't throwing errors. It loaded, rendered, and accepted input perfectly. But the submit handler broke inside Instagram's in-app browser — which handles form submission and redirects differently from Chrome or Safari — and the overwhelming majority of this campaign's traffic came through exactly that browser. No server error fired, so no alert fired. The only visible fingerprint was the gap between hundreds of field interactions and zero completions.
That gap is invisible to a standard dashboard. The page had high traffic and looked great. Deep Investigation caught it because it doesn't stop at traffic — it cross-references form interactions against completions, clusters the sessions, and flags the anomaly. Four minutes from run to root cause, during the single highest-traffic week that page had ever seen. Every one of those 700+ interactions was a consultation booking that vanished. We told the longer version, including the two other leaks that same investigation surfaced, in how Kai found a broken funnel.
The fix was a few lines of JavaScript. The hard part was never the fix. It was knowing the problem existed.
What to do once you've found it#
You've named the cause. Two steps remain, and skipping the second is how the same leak comes back.
Fix the specific break, not the symptom. If it's a broken submit handler in one browser, fix that handler. If it's a required field added in a deploy, make it optional or fix its validation. If it's a bad traffic mix, redirect the campaign to a page that converts. Match the fix to the diagnosis — don't redesign the whole checkout because one badge moved.
Verify the recovery. Deploy the fix, then watch the same metric on the same segment recover to baseline. If mobile payment conversion dropped from 32% to 22%, you're not done until it's climbing back toward 32% on mobile specifically. Then leave anomaly monitoring running on that step so the next silent break pages you in hours, not weeks. If you found this leak the hard way, assume there are others — the 30-day conversion leak playbook turns this from a one-time scramble into a repeatable rhythm.
Work the tree, don't guess#
A conversion drop feels like a mystery. It almost never is. It's a search problem, and the tree above is the search: confirm the drop, split traffic from rate, segment the funnel to the broken step, work the usual-suspects checklist, then let replay, heatmaps, segment comparison, and Deep Investigation name the cause. The teams that recover fastest are the ones who refuse to say "probably seasonal" until they've earned it.
Grain exists to find where your site is losing money — before the P&L tells you weeks late. Point Deep Investigation at your funnel and let it cluster the failing sessions and name the leak.
Find where your conversions are leaking
Kai's Deep Investigation cross-references your funnel drops against form interactions, dead clicks, and session clusters to name the cause — often in minutes. Start a 14-day free trial.