How to Write a Funnel Analysis Prompt That Ranks Drop-Off Hypotheses
Build a funnel analysis prompt that turns step data into ranked drop-off hypotheses and next experiments. Copy the output contract and diagnose today.
You open the funnel chart, see a 60% drop between pricing and checkout, and ask ChatGPT what's wrong. It hands back ten plausible reasons. All of them could be true. None of them are ranked. You're no closer to knowing what to test on Monday than you were before you asked.
That's the failure mode a real funnel analysis prompt has to fix. The job isn't to list causes. It's to rank them by likelihood given the actual numbers, attach a confidence note, and name the one experiment that would confirm or kill each hypothesis. Diagnosis ends with a decision, not a menu.
The pages that rank for this query stop short of that. They teach you how to ask; they don't lock the answer into a ranked, testable shape. This post shows how to build the prompt that does — and where a maintained pack saves you from rewriting the contract every time a step starts bleeding.
What a funnel analysis prompt should return
A funnel analysis prompt is a reusable instruction that turns per-step funnel data into ranked drop-off hypotheses, each with a confidence note and a next experiment. The ranking and the experiment are the deliverable. Everything else is the model showing its work.
Read what currently ranks and the gap is consistent. The Artificial Corner walkthrough explains the AIDA model and the concept of funnel analysis well, but provides no copyable prompt and no output contract. It's a conceptual overview behind a member paywall. Databox's diagnostic guide goes further with six sequential prompts you can paste, yet by its own framing it teaches how to ask and omits ranked hypotheses and the experiments tied to them. So you get either theory or a sequence of questions, and the synthesis — the part that says "most likely it's tracking, second a trust gap at checkout" — lands back on you.
Here's the stance worth defending: not all drop-offs mean the same thing, and a prompt that treats them interchangeably is the most common diagnostic error there is. A 50% drop at the top of a cold-traffic funnel is normal. A 50% drop on the final confirm step is an emergency. Your prompt has to know the difference, which means it needs the intended action at each step, not just the count.
What you can use this prompt for
- Diagnosing a sudden spike in drop-off at one funnel step
- Comparing two cohorts' funnels and ranking what differs
- Turning a raw stage-count table into a prioritized fix queue
- Generating one testable experiment per ranked hypothesis
- Separating a tracking artifact from a real conversion problem
- Producing a diagnosis stakeholders can act on, not a chart they re-read
The anatomy: data in, ranked hypotheses out
Variables:
{{funnel_steps}} -> per-step name, count, and intended action
{{time_window}} -> the period these numbers cover
{{recent_changes}} -> deploys, campaigns, price changes in the window
{{segment}} -> optional: the cohort (channel, device, geo)
Prompt:
Role: conversion analyst.
Task: compute step-to-step conversion, flag the largest drops,
propose ranked hypotheses with confidence, name a test for each.
Rule: rule out tracking/instrumentation before behavioral causes.
Output contract (locked):
| Step | Conv % | Drop severity | Ranked hypotheses (most likely first) | Confidence | Next experiment |
Then: the single highest-leverage step to fix first, and why.
The {{recent_changes}} variable is the one most prompts forget. A drop that lines up with a Tuesday deploy is a regression, not a UX problem, and the model can only catch that if you feed it the deploy timeline. Give it the changes and it stops guessing at psychology when the answer is a broken redirect.
The fastest win in funnel diagnosis is checking whether the drop is real before theorizing about why users behave that way. Add an explicit instruction: "Before behavioral hypotheses, assess whether this drop could be a tracking, attribution, or instrumentation artifact, and rank that possibility honestly." Claude tends to surface the tracking hypothesis on its own; GPT-4o needs the rule stated or it jumps straight to copy and CTA theories.
Step-by-step: run the diagnosis
1. Gather the step data
Pull each step's name, its count, and (this is the part people skip) the action the user is supposed to take there. "Viewed pricing → 4,200" tells the model little. "Viewed pricing, intended action: click Start Trial → 4,200" lets it reason about intent.
2. Fill the variables
Drop the per-step rows into {{funnel_steps}}, the period into {{time_window}}, and any deploys or campaigns into {{recent_changes}}. If you're diagnosing one cohort, set {{segment}} so the model doesn't average away the signal.
3. Run the prompt
Low temperature. You want stable ranking, not creative theories. If the model returns a flat list instead of a ranked one, restate the contract's "most likely first" requirement on the final line and re-run.
4. Pressure-test the top hypothesis
The model's first guess isn't gospel. Read its confidence note. If it ranks a behavioral cause first but the drop coincides with a deploy in {{recent_changes}}, push back: "Re-rank assuming the deploy is the prime suspect." A good diagnosis survives that challenge.
5. Run the named experiment
Each row carries a next experiment. Run the top one. Once you've isolated the leak to a specific page, audit that page in detail with the CRO audit prompt, which scores the page-level blockers feeding the drop.
Prompt-craft patterns that hold under real data
Force confidence per hypothesis. A diagnosis without confidence is a list. Make every ranked row carry "high / medium / low confidence" and the reason. It changes how the team treats the output: a high-confidence tracking bug gets a code fix; a low-confidence trust hypothesis gets a test, not a redesign.
For each hypothesis:
rank it (most likely first)
state confidence (high / medium / low) and why
give ONE experiment that would confirm or kill it
Do not list more than 3 hypotheses per step. Rank, don't enumerate.
That "do not list more than 3, rank don't enumerate" line is the antidote to the menu problem. Without it the model pads to look thorough. The cap forces it to commit.
Demand the math be shown. Make the model print the step-to-step conversion it computed before it theorizes. If the percentages are wrong, every hypothesis built on them is wrong, and you catch it in one glance. Cheap insurance.
Give it a refusal line for thin data. Three steps with no time window can't support a confident diagnosis. Add: "If the data is too sparse to rank with confidence, say so and name what extra data would help." Honest beats confident-and-wrong every time.
Variables you'll set
| Variable | Required | What it is |
|---|---|---|
{{funnel_steps}} | Yes | Per-step name, count, and the intended user action |
{{time_window}} | Yes | The period the numbers cover |
{{recent_changes}} | No | Deploys, campaigns, or price changes in the window |
{{segment}} | No | The cohort being diagnosed (channel, device, geo) |
Getting started
- Copy the scaffold into ChatGPT or Claude.
- Build your
{{funnel_steps}}rows with the intended action per step. - Add the
{{time_window}}and any{{recent_changes}}. - Run at low temperature and read the ranked hypotheses.
- Check the confidence notes before you act on the top row.
- Run the named experiment for the highest-leverage step.
- For a version with the tracking-first rule and the three-hypothesis cap built in, use the Funnel Diagnostics Prompt Pack rather than re-typing the contract each incident.
The Funnel Diagnostics Prompt Pack does this end-to-end — a {{funnel_steps}} variable feeds a core prompt whose locked output contract is the ranked hypothesis / confidence / next experiment table, with the "rule out tracking first" boundary already wired in so the model doesn't theorize over a broken redirect. It's part of The Complete AI Prompts Bundle, a one-time lifetime license to the whole catalog (plus every pack added later) if you run more than one of these jobs.
Diagnosis points you at the leaking step; fixing it is a separate move. Pair this with the CRO Audit Prompt Pack to score the page-level blockers once you know which step to attack. And when the leak turns out to be the offer itself rather than the page, the A/B test comparison prompt helps you frame the variant test cleanly. Browse the rest of the marketing and conversion packs to round out the loop.
Browse the prompt catalog →Common questions
What is a funnel analysis prompt?
Can ChatGPT analyze a conversion funnel?
How do I prompt for funnel drop-off causes?
Get the prompt packs this guide is built on
Ready-to-paste prompts with documented variables and usage guides for ChatGPT, Claude, and Gemini. One-time payment, own it forever.
More prompt guides

A Test Coverage Gap Prompt That Finds the Code Your Tests Skip
Coverage reports lie by omission. A file reads 92% line coverage, the dashboard turns green, and everyone moves on. Then a null value slips through an error branch nobody asserted, and the incident ch…

A STRIDE Threat Modeling Prompt That Skips the Workshop
Threat modeling has a scheduling problem. It's the security practice everyone agrees matters and almost nobody does, because the honest version means booking a room, three engineers, and a security le…

AI Agent Fleet Operations: A Playbook Prompt for Running Many Agents
Running one AI agent is a demo. Running twenty of them, each with its own job, its own model, and its own way of failing, is an operations problem nobody warned you about. Suddenly you need to know wh…