
Chatbot Multi-Step Funnel
How to Build a Sales Funnel on WhatsApp, Messenger or a Website That Survives the Pause Between Sessions
Quick answer: A funnel that a contact finishes in one sitting is a flow with a goal on the end, and the conversation flow guide covers it. A funnel that has to survive a night is different, because on WhatsApp, Messenger and Instagram the next message after a pause of more than 24 hours is not yours to send. Manychat's help, read 14 September 2026, states it plainly: "A Smart Delay does not reopen the 24-hour window," and a regular message after a longer delay "will not be delivered." So the design starts from the window, not the wish list. Pick one outcome. Put every ask that needs an answer inside one window, in the order that loses the fewest people. Treat anything that has to cross a window as a separate, permissioned message: a template on WhatsApp whose category Meta decides, a Utility Template or a Marketing Message on Messenger, nothing automated on Instagram, a return trigger on a website widget. Store where the contact got to in a tag or a field, so a second visit resumes at the unanswered step instead of the welcome. Branch on what they answered, never on which channel they came from, because triggers are channel-specific and a cross-channel funnel is two funnels. Then read the per-step count against one change at a time, with each builder's counting rules respected, because Landbot shows "N/A" for a flow edited after publishing and Tidio's numbers reset "from the last flow's update."
The chatbot funnel entry owns the term, what a step is in a chat, and how each builder counts one; this guide owns what to do with that. Which questions qualify a lead and in what order is the lead qualification playbook; the scheduled sequence that does not wait for a reply is the drip campaign guide; the cart-specific version is the abandoned cart playbook.
One outcome, then count backward
A multi-step funnel has one outcome, and it is the thing the business would pay for if it could buy it directly: a booked appointment, an order, a quote request with a phone number attached, an opt-in to a broadcast list. Not "engagement," not "a conversation," not two things. The reason is arithmetic. Every step's count is a share of the step before it, and the last step's count is what all the others are measured against; two outcomes give you two denominators and no way to say which edit helped.
With the outcome fixed, the steps are whatever the outcome needs and nothing else. A booking needs a service, a time and a way to confirm. A quote needs a location and a rough scope. A list opt-in needs the opt-in and the reason to give it. Everything else the business would like to know (company size, how they heard about you, budget) is a step that costs contacts and buys nothing the outcome requires, and it goes after the outcome or not at all. The lead qualification playbook has the procedure for deciding which asks are disqualifiers and which are decoration; this guide takes its output as given.
The end of the funnel is a block that records it, not the last message. Landbot's help describes a Goal block that counts "the number of users that chose the specific path where the selected Goal block is located in your flow," with a rate "calculated according to the total number of users that have interacted with your bot," and notes that its Finished metric counts everyone who "reached a block that wasn't connected to any other," which includes the dead-end apology at the bottom of a failed branch. In Manychat the equivalent is an Action block that tags the contact at the outcome. Whatever the builder calls it, the funnel ends where the tag is set, and the denominator is the trigger that started it.
The ladder: what goes inside one window
The chatbot funnel entry defines a step as any message whose next message depends on the contact doing something. Our editorial rule for a multi-step funnel is that every such step, from the first reply to the outcome, sits inside one 24-hour window, and the ladder below is the order we use. The order is by what is lost if the contact stops there.
- Answer what they came for. A contact who arrived from an ad, a comment or a QR code has a question, and the first message answers it before it asks anything. The conversational marketing entry has the argument; the practical point is that a funnel whose first step is a question has already lost the contacts who wanted an answer. On WhatsApp this step also opens the money: the Click-to-WhatsApp entry sets out Meta's rule that a reply within 24 hours of the ad-driven message opens a 72-hour window in which messages go out at no charge, so the first reply is automated and immediate.
- One ask that decides the branch. Which service, which product line, buying or renting, new or existing customer. Three buttons on WhatsApp, up to thirteen quick replies on Messenger (the per-channel limits, with Meta's wording, are in the conversational survey entry), and the buttons vs free text guide has the rule for when a typed answer beats a menu.
- The one qualifier the outcome cannot do without. A location for a service area, a date for a booking, a size for a quote. One, not three; the playbook's disqualification-power ordering decides which.
- The outcome itself. The slot list, the order button, the request confirmation, the opt-in. On WhatsApp a list message holds ten rows, which is enough for a day's slots and not enough for a week's; a WhatsApp Flow holds more.
- Confirmation, and the permission for later. What was recorded, what happens next, and, if the funnel will ever need to speak first again, the opt-in that makes that possible. The retention playbook calls this the permission ladder and orders it by what the first message will cost.
Five steps is not a magic number; it is what a booking or a quote needs. What is fixed is the rule that all of them fit inside the window the contact's own message opened. A funnel that needs a human to price the quote at step four, and the human is asleep, has a step that crosses the window whether the designer meant it or not, and belongs in the next section.
Anything that crosses a window is a different message
A pause of more than 24 hours turns the next step into a business-initiated message, and every channel has its own rule about those. The win-back entry carries the full per-channel table with Meta's, Manychat's and Tidio's wording; the summary that matters for a funnel is this.
| Channel | What the funnel's next message becomes after 24 hours | What that means for the design |
|---|---|---|
| An approved message template. Meta decides the category: tied to the specific request, non-promotional, it can be utility; generic, or with an offer in it, it is marketing, which is priced higher, rationed per recipient by Meta's per-user cap, and (per the win-back entry, from Meta's per-user limits page) not delivered to US phone numbers outside an open window; Meta's page does not address in-window delivery | Write the follow-up so it names what the contact asked for ("your quote request for X"); keep the offer out of it; expect the marketing kind to be refused for some recipients and, once the window has closed, not to reach US numbers | |
| Messenger | Meta's Utility Template, the replacement path our Messenger tutorial records for a non-promotional follow-up, or a Marketing Message to a contact on an opted-in Messenger List, paid and capped, in the markets where it exists; the message tags an SMB once used for this returned errors from April 2026 | A reminder that names the request can go as a Utility Template; anything with an offer in it needs the list opt-in collected at step 5; the Messenger tutorial has the retirement dates, the market list and the caps |
| For most accounts, nothing automated; a human agent has seven days | The funnel either finishes in the window or a person continues it by hand | |
| Telegram | No window; Manychat: "no additional setup is required, as this channel does not have a 24-hour window limitation" | The only channel in Manychat's list where a delayed step is still just a step |
| Website widget | No message at all until the visitor returns; Tidio's Visitor returns to the site trigger fires then | The resume rule in the next section is the whole follow-up |
Manychat's Smart Delay article, read 14 September 2026, also says that "some contacts may still receive the message if they reopen the 24-hour window later, for example, by sending a message in DMs," which is the case a designer should plan for rather than hope for: the delayed step is written as if the contact will reopen the window, and the template or Marketing Message is a separate branch for those who do not. The same article's Set continue time limit option ("Continue between" a range such as "8:00–22:00", in "the contact's time zone") is how a step that waits for an answer avoids sending its reminder at 3 a.m., and its statistics (Overall, Waiting, Passed) are the count of contacts sitting at that pause.
The second visit: resume, do not restart
A contact who comes back mid-funnel is the case that separates a funnel from a flow, and there are three versions of it.
They come back inside the window, having stalled at a step. The funnel is still running; the reminder branch above handles it. The design decision is how long to wait before the reminder, and our rule is a fraction of the window, not the whole of it: two hours for a booking, a working day for a quote, so the reminder still lands inside the window with time for an answer.
They come back after the window, by writing themselves. This is the case the builders make easy to get wrong. A new inbound message fires the default trigger, and the default trigger starts the welcome, and the contact who answered three questions yesterday is asked their name. Manychat's article gives the fix in one sentence: "To ensure your automation only triggers once, you can set conditions based on user actions or use tags that prevent the automation from running again for the same user." The tag set at each step (in Manychat an Action block; in Landbot a field; in Tidio a Decision whose reply tags the contact, as the survey design guide records) is the contact's position, and the entry condition reads it: no tag, start at step 1; tagged at step 3, start at step 4. The session context entry is the general version of this.
They come back through a different entry point. A contact who first arrived from an ad and now scans the QR code in the shop has two sources, and the source label (Meta's ref parameter on an m.me link, the referral block on a Click-to-WhatsApp message, both described in the funnel entry) should be recorded as a second value, not overwrite the first. The answered fields stay answered. What restarts is the branch decision at step 2, because a contact in the shop may want something different from the contact who clicked the ad, and that is one question, not five.
The counting consequence, set out in the funnel entry, is that a builder which counts every pass through a block (Landbot's does, session or not) will count every restart as a new entry, so a funnel that restarts on every visit inflates its own first step. The resume rule is also the honest-numbers rule.
Branch on the answer, not the channel
A funnel that runs on WhatsApp and Messenger is two funnels. Manychat's article is explicit that "triggers and message nodes are channel-specific," and that a Facebook trigger on an Instagram automation "will never trigger." Build the steps once as a modular automation (Manychat's Start Automation block exists for this: "a specific automation can be reused in multiple places"), and give each channel its own trigger, its own message blocks and its own goal tag. Then the branches inside the funnel are decided by what the contact answered at step 2, through a Condition block, and never by where they came from.
Two limits to design around. Manychat pauses an automation after thirty blocks that never wait for a button or a delay (the exact wording is in the funnel entry), so a funnel that fires more than thirty messages at a contact without once waiting for a tap is paused by the builder before the contact gives up on it. And Tidio's help warns against creating "different flows with the same trigger," because they "will be triggered simultaneously, which may cause several messages to be sent to a visitor": one trigger, one funnel, with the branching inside it.
A test between two versions of one step is a Randomizer in Manychat (up to six variations with adjustable splits) or two funnels with one difference elsewhere. The rule that makes the test readable is one change at a time, and it comes from the builders' own analytics limits: Landbot shows "N/A" for the parts of a flow changed after publishing until the date filter is moved past the edit, and Tidio presents "the last 7 days' data or the data from the last flow's update." A funnel edited on Tuesday and Thursday has no week that is comparable with the week before.
Instrumentation: what to record at each step
Four things, all tags or fields. The source, once per visit, from the entry point's own label; Manychat's analytics can be filtered "by specific triggers," which is the per-source funnel for free if each entry point is its own trigger. The step reached, written by the step itself, which doubles as the resume position. The branch chosen at step 2. And the outcome, as the goal tag or block, with a timestamp if the builder allows one, because the conversion rate entry needs an attribution window and the flow view does not keep one.
Then export. Landbot sends its Users table as a CSV by email; our Manychat review recorded "CSV export works"; the conversational analytics guide covers the file. The per-step percentages are for the weekly look; the export is for the question the builder cannot answer, which is what the contacts who dropped at step 3 had answered at step 2.
A five-step WhatsApp sales funnel from a Click-to-WhatsApp ad, written out
A home-services business (say, a cleaning company) runs a Click-to-WhatsApp ad for a first-clean discount. The outcome is a booked first clean with a date and an address. Every message below is ours; the limits are Meta's and Manychat's as read on 14 September 2026 and cited in Sources or in the linked entries.
Entry. The contact taps the ad and sends the pre-filled greeting. The message arrives with a referral block naming the ad; the funnel tags the contact src:ctwa-firstclean. The clock starts.
Step 1, immediately (opens the free 72-hour window if within 24 hours). "Thanks for asking about the first-clean offer. It is 20 percent off a first regular clean, any size home, weekdays or Saturdays. To see if we cover your area, what is your ZIP code?" One typed answer; the multi-turn form guide has the rule for validating it on the turn it lands. Tag step:1.
Step 2, on a valid ZIP inside the service area. "We cover [town]. Which is closer to what you need?" Three reply buttons: Regular clean, Deep clean, Move-out clean. Outside the service area, a polite end with no further asks, tagged out-of-area, which is a goal of its own for the count. Tag step:2 and the branch.
Step 3. "About how many bedrooms?" Three buttons: 1–2, 3, 4+. This is the one qualifier the price cannot do without. Tag step:3.
Step 4, the outcome. "Here are the next open mornings for a [branch] in [town]." A list message with up to ten rows, one per slot, plus a row for None of these. On a tap, "Booked for [slot]. We will confirm the address by reply: what is the street address?" Typed answer, validated as non-empty; the goal tag booked is set on the address, not on the slot, because a slot without an address is not a booking. None of these goes to a hand-off with the contact's answers attached, tagged handoff.
Step 5, confirmation and permission. "Confirmed: [branch], [slot], [address]. You will get a reminder the day before. Would you like our monthly offers here on WhatsApp? Reply YES to opt in." The reminder is a template written to qualify as utility, tied to the booking (Meta assigns the category); the monthly offers are marketing and need the opt-in, and Meta's per-user cap and its rule on US phone numbers (table above) apply to them whatever the opt-in says.
The pause branch. A contact silent at step 2, 3 or 4 for two hours gets one reminder inside the window: "Still here if you want to finish booking. Your answers are saved." Silent past the window, one template, once, that names the request ("You asked about a first clean in [town]. Reply here to pick a time.") and carries no offer, so that Meta's categorization has a fair chance of treating it as utility rather than marketing; inside the 72-hour window an ad reply earned, that template is also free. Then nothing, until the contact writes. When they do, the entry condition reads the last step tag and resumes at the next unanswered step.
What the count should show after a week: entries by source, the share reaching each step, the split at step 2, booked as a share of entries, and out-of-area and handoff as separate ends. What it should not be read as: a measurement of the copy above, which no one has run.
Where multi-step funnels fail
Not a checklist; the cases we have seen in reviews, help pages and our own designs, each with the rule that prevents it. A person needed at a step that lands outside office hours, so the window closes while the quote is being priced: automate the price for the common cases, or make step 4 "we will send your quote by [time]" and send the quote as a template that names the request and carries no offer, the shape Meta's categorization can treat as utility. A follow-up written as an offer, which makes it a marketing template that Meta rations and, outside an open window, does not deliver to US numbers: the reminder names the request and carries no discount. A dead-end message counted as a finish, because Landbot's Finished counts any block "that wasn't connected to any other": a goal block on the outcome. The welcome firing on a contact who is halfway through: the tag-gated entry. Two Tidio flows on one trigger sending at once: one trigger per funnel. A funnel edited during the week it is being measured: one change, then a full week. And the complaint our Manychat review records from G2 reviewers, that "larger funnels with many branches and conditional logic become difficult to maintain and optimize," which our Wati review heard in its own words from G2 and Capterra reviewers about flows that grow many conditional branches: five steps, one outcome, and modular automations for anything two funnels share.
Walk every entry point yourself
Before traffic, the funnel is run once per entry point by a person on a phone, not in the builder's preview: the ad preview, the m.me link with its ref, the QR code, the widget, each as a fresh contact; then again as a returning contact who stopped at step 3 yesterday; then from a phone with a US number if the funnel has a marketing template anywhere in it. Meta's m.me page, read 14 September 2026, says referrals "might not work for some Messenger for Android customers," so the Messenger walk is done on an Android phone as well as an iPhone, with the source tag checked after each. Budget about ten minutes per entry point; a week of unlabeled traffic is what skipping it costs.
What our fifteen reviews record
The corpus greps and the per-review findings on funnels (which platform exposes a funnel view, at which tier, and which reviewers complain about maintaining large ones) are tallied with their commands in the chatbot funnel entry, and this guide does not repeat them. One line is relevant here: none of our fifteen protocols ran a multi-session funnel across a window and measured what the channel refused to deliver. That is a gap in the protocol, recorded here. Corrections to editorial@chatbotscape.com.
FAQ
How many steps should a chatbot sales funnel have?
As many as the outcome needs and no more, which for a booking or a quote is usually five: answer, one branching ask, one qualifier, the outcome, confirmation. What is fixed is not the number but the rule that every step that waits for an answer sits inside the 24-hour window the contact's own message opened.
Can a chatbot funnel continue the next day on WhatsApp or Messenger?
Only if the contact writes again, or if the next message is a business-initiated one: an approved template on WhatsApp; on Messenger a Utility Template for a non-promotional follow-up or a Marketing Message to an opted-in list for anything promotional. Manychat's help states that a delay "does not reopen the 24-hour window" and that a regular message after a longer delay "will not be delivered." On Instagram, for most accounts, nothing automated crosses the window; on Telegram there is no window.
What should the follow-up say when a contact stops halfway?
Inside the window, one reminder that says their answers are saved. After the window, on WhatsApp, one template that names what they asked for and carries no offer, so that Meta can categorize it as utility rather than marketing; marketing templates are rationed per recipient and, per Meta's per-user limits page as recorded in our win-back entry, not delivered to US numbers outside an open window.
How do I stop the funnel restarting when a contact comes back?
Tag the contact at each step and gate the entry on the tag. Manychat's help puts it as using "tags that prevent the automation from running again for the same user"; the same tag is the position the funnel resumes from. Without it, the default trigger runs the welcome on a contact who answered three questions yesterday, and the first step's count is inflated by restarts.
Can one funnel run on WhatsApp and Messenger at the same time?
Not as one Manychat automation: its help says "triggers and message nodes are channel-specific." Landbot's help does not address running one bot on two channels; it says only that its Analyze section "behaves exactly the same way" on WhatsApp and Messenger as on the web, so the counting rules carry over. The safe design in any builder is to build the steps once, give each channel its own trigger, message blocks and goal tag, and add the counts by hand or in an export.
Related guides
- Chatbot funnel — the term, what a step is in a chat, and how Manychat, Landbot and Tidio each count one.
- Lead qualification playbook — which asks are disqualifiers, in what order, and the denominator that cannot be gamed.
- Drip campaign guide — the scheduled sequence that does not wait for a reply, and where it stops.
- Abandoned cart recovery playbook — the funnel's cart-specific cousin, with timing and copy.
- Chatbot conversation flow — design patterns for the flow the funnel is one path through.
- WhatsApp chatbot tutorial — the build path, BSP choice and template approval this guide assumes.
- Messenger chatbot tutorial — entry points, the window, and what retired in 2026.
- Chatbot email capture guide — where an email ask survives in a flow, if your outcome needs one, and what the builders validate.
Sources
- Meta for Developers, Messenger Platform, m.me Links (developers.facebook.com/documentation/business-messaging/messenger-platform/discovery/m-me-links, stamped updated 23 March 2026), read 14 September 2026: the
refparameter and its delivery inmessaging_postbacksandmessaging_referralswebhooks; a click into an existing conversation "will reset the 24-hour standard messaging window"; "Referrals on m.me links might not work for some Messenger for Android customers or Pages with georestriction." - Manychat Help, How to build a Manychat automation (help.manychat.com/hc/en-us/articles/14281166306332-How-to-build-a-Manychat-automation, stamped updated 3 December 2025), read 14 September 2026: "triggers and message nodes are channel-specific"; the Start Automation block ("a specific automation can be reused in multiple places"); the Condition block; the Randomizer ("up to six variations"); "A single automation can include up to 30 blocks without a pause for each subscribed contact ... Any block without a button or Smart Delay is considered a block without a pause"; "To ensure your automation only triggers once, you can set conditions based on user actions or use tags that prevent the automation from running again for the same user"; analytics filtered "by specific triggers."
- Manychat Help, Smart Delay (help.manychat.com/hc/en-us/articles/14281197046812-Smart-Delay, stamped updated 3 December 2025), read 14 September 2026: "A Smart Delay does not reopen the 24-hour window"; a regular message after a delay longer than 24 hours "will not be delivered. However, some contacts may still receive the message if they reopen the 24-hour window later, for example, by sending a message in DMs"; "Use a Message Template after the Smart Delay" for WhatsApp; Telegram "does not have a 24-hour window limitation"; Set continue time limit and "Continue between" ("e.g., 8:00–22:00"); "The Smart Delay uses the contact's time zone"; the Overall, Waiting and Passed statistics.
- Landbot Help, Bot's Analyze Section (help.landbot.io/article/j346fejchf-analyze-section, stamped "updated 6 months ago" on 14 September 2026), read 14 September 2026: Finished as "the number of users that reached a block that wasn't connected to any other"; Flow Analytics "counts how many times a user passes through the block, without considering if it was in the same session or not (second visit)"; the version-conflict "N/A" case ("When you make changes in the flow after the bot has been published") and its date-filter workaround; the Users export ("the CSV file will be sent to your email"); "For WhatsApp: This section behaves exactly the same way as in the Landbot (web) version," repeated for Facebook Messenger.
- Landbot Help, Custom Goals (help.landbot.io/article/ftjfbf4ef5-custom-goals, stamped "updated 3 months ago" on 14 September 2026), read 14 September 2026: Goal completed as "the number of users that chose the specific path where the selected Goal block is located in your flow"; Rate "calculated according to the total number of users that have interacted with your bot."
- Tidio Help Center, Flow Performance Analytics (help.tidio.com/hc/en-us/articles/5474508902556-Flow-Performance-Analytics, dated 26 August 2024), read 14 September 2026: "Don't create different flows with the same trigger ... the flows starting with these triggers will be triggered simultaneously, which may cause several messages to be sent to a visitor."
- Tidio Help Center, Flow and Handoff Analytics (help.tidio.com/hc/en-us/articles/5465124266396-Flow-and-Handoff-Analytics, dated 29 March 2024), read 14 September 2026: "We present the last 7 days' data or the data from the last flow's update (if the date is less than a week ago)."
- Chatbotscape Glossary, Win-back campaign (/glossary/win-back-campaign), for the per-channel table of business-initiated messages (Meta's per-user marketing template limits page, Manychat's Marketing Messages and outside-the-window articles, Tidio's Flow editor: Triggers), each read 12 September 2026 and quoted there; and Chatbotscape Glossary, Click-to-WhatsApp ads (/glossary/click-to-whatsapp-ads), for Meta's free-entry-point rule (a reply within 24 hours opens a 72-hour window in which messages are "at no charge") as read there on 2 September 2026; and Chatbotscape Academy, Messenger chatbot tutorial (/academy/messenger-chatbot-tutorial), for the retirement of the
CONFIRMED_EVENT_UPDATE,ACCOUNT_UPDATEandPOST_PURCHASE_UPDATEtags (error code 100 from 27 April 2026, per Meta's changelog as read there) and Meta's replacement path of Utility Templates or the Marketing Messages API. None of those Meta pages was re-read for this guide. - Chatbotscape review corpus (the fifteen platform reviews at /reviews), searched 14 September 2026 from the repository root; the commands and per-review findings are printed in the chatbot funnel entry. Passages cited here:
manychat-review.mdlines 507 and 762;wati-review.mdline 404. - Ahrefs Keywords Explorer, US overview, queried 14 September 2026: the figures in this guide's keyword note.
- Chatbotscape evaluation methodology. /methodology (continuously updated).
About this guide
Chatbotscape launched in 2026 as an independent review site for chatbot platforms. This guide is part of our SMB chatbot Academy and is written for the owner or marketing lead of a small business whose chatbot funnel does not finish in one sitting: the quote that needs a night, the booking that needs a second visit, the ad click that arrives at 11 p.m. It reads the window and analytics rules of three builders and one channel owner as published on 14 September 2026, and turns them into a design procedure and one worked example. It is not a comparison of platforms and it does not rank them; our reviews and best-of lists do that under our published methodology.
Methodology
The Meta, Manychat, Landbot and Tidio pages named in Sources were read in full on 14 September 2026, and every limit and setting name carries its source and date; the rules about business-initiated messages are taken from our own win-back and Click-to-WhatsApp entries, which quote the Meta pages they rest on with their read dates, and those pages were not re-read here. The editorial rules on this page (one outcome, the five-rung ladder, every ask inside one window, resume rather than restart, one change at a time) are judgments, not measurements, and are labeled as ours. The worked example has not been run against live traffic. Corrections to editorial@chatbotscape.com.
Last updated
15 September 2026.