Completion funnel
Shows which question makes people close the tab, and why
Free agent skill for Claude Code, Codex, Cursor and Gemini CLI. It works through the SurveyNinja MCP server, with your permissions.
- Category
- Understand results
- Works with
- Claude Code, Codex, Cursor, Gemini CLI
- MCP tools
- 5, all read only
- Version
- 1.1, October 20, 2026
- Made by
- SurveyNinja
- Price
- Free
- See also
- Completion rate calculator
- Skill file
- SKILL.md
What it does
- More responses from the same people. “Few responses” rarely means few people arrived. Usually one question is to blame.
- Normal is kept apart from broken. A steady loss of a couple of percent per step is normal. A cliff at a specific question is the problem.
- Specific edits. Make this question optional, move that one closer to the end, split this matrix.
Example
You type
Why does this survey get so few responses? Find where people quit
What the assistant brings back
- 1,284
- Opened
- 912
- Started71% of those who opened
- 318
- Finished35% of those who started
- question 5
- Drop-off41% lost in one step
Many of the people who get there walk away. Move the contact field to the end and explain in one line why it is needed.
The numbers are an example. In your account the funnel is built from real responses.
How it works
- Finds the drop-offCounts how many people answered each question. Where the count falls is where the problem is.
- Explains the reasonOpen text, a required contact field, a ten-row matrix: each question type is abandoned for its own reasons.
- Separates normal from brokenLosing a couple of percent at every step always happens. A cliff at one question does not.
- Suggests specific editsInstead of “make the survey shorter”, it names the question to make optional and the one to move closer to the end.
Try also
- How many people finish the survey and where do they drop off?
- Break down the completion funnel and suggest what to fix
What it will not do
- Do not compute conversion over all responses
- Do not draw conclusions from twenty responses
- Do not edit the survey yourself
- Do not suggest a plan upgrade or lead to payment
The skill works with your permissions. Tools that change data are marked, so you check what the assistant is about to do before you confirm. To cut access, remove the connector in the assistant or delete the API key.
In short
How does the skill find where people quit?
It computes the share who finished, then reads the unfinished responses and finds the last question each person answered: where most of them stop is the drop. Then it ties that question's position to its content and type.
What counts as normal?
A steady decline of a couple of percent from question to question: some people always leave. The problem is a cliff at one specific question.
Why do people leave on the first screen or the last one?
On the first screen the issue is the promise: it is unclear what the survey is for, or it looks long. On the last one it is almost always contacts, asked for before the person understands why to give them.
What if my plan does not keep incomplete responses?
Incomplete responses are not on every plan, and the skill checks that. If they are unavailable, there is nothing to compute the drop-off from: the assistant gives the completion share and a review of the survey itself, and says that this is weaker than a measurement.
Will the skill change my survey?
No. It only reads the summary, the incomplete responses and the survey structure. It shows what it found and proposes specific edits, and you decide.
What do I need to use it?
A SurveyNinja account and an assistant that supports MCP and loads skills from a folder, such as Claude Code, Codex, Cursor or Gemini CLI. The assistant connects with your own API key or through “Allow access”. The skill is a plain text file and runs nothing by itself.
The full skill
The SKILL.md file the assistant reads, exactly as it is in the archive.
Show the full text
Where the survey is abandoned
"Few responses" rarely means few people arrived. Usually one specific question is where people close the tab.
Reply to the person in the language they write in.
Build the picture
get_quiz_summary— how many finished (filled_completely) and how many started but left (started_not_finished).get_quiz_answerswithis_completefalse — the unfinished responses, paged withlimitandoffset. Each lists every question in order; the last one with an answer is where that person stopped. The report will not do: it holds only completed responses.get_quiz_structure— question order and types, to tie a position to content.
Compute the completion share and, from the unfinished responses, how many people stopped at each question: the question where most of them stop is where the drop happens.
If unfinished responses are not kept. They are not part of every plan:
incomplete_answers in get_workspace_tariff (it needs the workspace_id from
get_workspace_list) tells whether they are. Without them is_complete false
returns completed responses instead, so check the is_complete field of what
comes back. When they are not available, say so plainly: there is nothing to
compute the drop-off point from. What is left is the completion share from
get_quiz_summary and a reading of the survey itself: length, order, required
questions. That is weaker, and the person should be told, not handed a guess
dressed up as a measurement.
Reading it
- A steady decline of a few percent from question to question is normal.
- A cliff at one question is the problem. Look at it closely.
- A cliff on the first screen is about the promise, not the question: people did not understand what the survey is for, or saw that it is long.
- A cliff at the last step is almost always contacts: they were asked for before the person understood why to give them.
Common causes by type
| Question | Why people leave |
|---|---|
| Open text | typing is effort, especially on a phone |
| Required contact | unclear why, and not trusted |
| A ten-row matrix | looks like work |
| A long option list | nobody wants to read it |
| File upload | awkward on a phone |
| A personal question with no explanation | feels intrusive |
What to propose
Specific edits instead of "shorten the survey": make this one optional, move that one later, split this matrix, add one line explaining why you ask.
Ask for contacts at the end, after the person has already invested effort.
What not to do
- Do not compute conversion over all responses if some are your own test runs. Cut them off by date first.
- Do not draw conclusions from twenty responses.
- Do not edit the survey yourself. Present the findings and propose changes.
- Do not suggest a plan upgrade or lead to payment. If a limit is hit, state the fact and stop.
More skills
All skills- A/B variant analysis Tells you whether the difference between variants is real or just noise
- Survey results summary Answers "so what did the survey say" with figures and a conclusion instead of a raw export
- Comparing with past results Compares a survey with its own past, because one figure means little and a change says a lot
- Survey timeline Answers “why did responses stop” by lining up collection against the edit history
- Analyze open-ended answers Turns a hundred lines of free text into a handful of themes with numbers and quotes
- Report and survey styling Tidies up what people see from outside: the survey theme, the report colors and the logo
Connect SurveyNinja to your assistant
The MCP server works on every plan, Free included. Sign up, allow access and ask your assistant to build the first survey.
25 Questions for a Travel Agency Customer Satisfaction Survey