Exit on conversion vs global exit criteria: goal kill-switch vs property/behavior eject
Exit-on-conversion vs global exit criteria: definitions, table, setup steps, FAQ, Leadara mapping.

Amir Hosseini
Runs email, SMS, and push campaigns for acquisition, retention, and reactivation.
September 23, 2026 · 7 min read
Also available in فارسی

Exit-on-conversion forcefully removes a user when the primary goal event fires inside the attribution window; global exit criteria ejects them anytime matching property or behavior conditions (OR across conditions) are true, regardless of stage.
What is the difference between exit-on-conversion and global exit criteria?
Flows need a clean way to stop messaging people who no longer should hear the pitch. Two knobs get confused constantly:
Exit-on-conversion (goal kill-switch) removes the person when the journey’s primary success event fires — purchase, demo booked, subscription started — usually inside an attribution window tied to message sends. Global exit criteria watch properties or behaviors continuously and eject the person whenever any listed condition becomes true (OR logic), even mid-wait, regardless of whether the “goal” fired.
In programmer language: exit-on-conversion = goal-event handler that unsubscribes the trip inside a measurement window; global exit = continuous watchers on profile/events with OR guards for the whole time the person is in the flow. Measurement intent differs too: conversion exit is about “they did the thing we optimize for”; global exit is about “they no longer belong here.”
This pairs with how adaptive vs rule-based journeys think about mid-path change — but here the change is leaving, not branching.
How each exit works
Exit-on-conversion
You define a goal event (and optional property filters) plus a window (e.g. 7 days after a message). When Order Completed fires in that window, the trip ends and the conversion is attributed. If they purchase outside the window, analytics may not count it even if you also add purchase to global exits.
Use when the path’s job is to drive one primary outcome and further steps would be awkward after success (post-purchase discount after they already bought).
Global exit criteria
You list conditions: tier = vip, unsubscribed = true, entered segment churn_risk, or event Support Escalated. Any match (OR) ejects immediately, at any stage. This is the “get them out for safety/relevance” layer, not the KPI goal.
Use when belonging can break for many reasons unrelated to the marketing goal.
Comparison table
| Dimension | Exit-on-conversion | Global exit criteria |
|---|---|---|
| Trigger | Primary goal event (+ window) | Property/behavior conditions (OR) |
| Scope | Goal success path | Entire time in flow |
| Analytics role | Counts conversions / RPR story | Operational eject, not always a KPI |
| Typical examples | Purchase, demo booked | VIP flag, unsubscribe, refund |
| Common failure | Assuming conversion auto-exits without enabling it | Too many OR conditions → silent dropouts |
Setup steps (numbered)
- Write the one sentence goal: “This flow exists to cause X.”
- Map X to a clean event with stable properties.
- Turn on exit-on-conversion with a realistic attribution window.
- Separately list global exits for safety: unsubscribe, refund, already-customer if relevant.
- Verify OR logic: would any single condition wrongly eject good users?
- Test a purchase mid-wait and a VIP property flip mid-wait — confirm both behaviors.
- Align reporting: conversion exit feeds goal dashboards; global exits need their own skip/exit reasons.
Concrete examples
Ecommerce cart recovery: goal = Purchase. Exit-on-conversion stops coupon SMS after buy. Global exit also includes refund_started and tier = wholesale so B2B accounts never get consumer coupons.
SaaS trial nurture: goal = Subscription Started. Global exits: plan = cancelled, role = student (wrong ICP), demo_booked if sales owns the next path.
Food app reactivation: goal = Order Placed. Global exit: entered fraud_hold segment — operational, not a marketing win.
Leadara mapping (events, segments, journeys, email/SMS)
- Events: power both goal conversion and many behavior exits; keep names stable.
- Segments: often back global exits (VIP, fraud, already-customer).
- Journeys: define goal + global exits at journey level; do not rely on “they’ll finish the waits anyway.”
- Email/SMS: conversion exit protects budget after success; global exit protects brand when belonging breaks — especially SMS cost in Iran.
Think of the journey as a contract: goal says when the contract succeeds; global exits say when the contract is void. That framing also fits marketing journey vs campaign — campaigns rarely need dual exits; journeys do.
Common mistakes
- Defining a conversion goal but forgetting to enable exit-on-conversion (people keep getting “buy now” after purchase).
- Stuffing the goal event into global exits only and losing clean attribution windows.
- OR-ing ten vague conditions so nobody finishes the path.
- Using lifecycle marketing language without wiring exits — see what lifecycle marketing is for stage fit, then come back to kill-switches.
One-line takeaway
Conversion exit stops the trip when the goal fires in-window; global exit ejects whenever belonging breaks — keep KPI and safety on separate knobs.
Next step
Open one live revenue flow. Check: is exit-on-conversion on? What are the global exits? Fire a test purchase and a test property change; screenshot both outcomes for the team wiki.
FAQ
Does setting a conversion goal automatically exit users?
Not always. Many products separate “count conversion” from “exit on conversion.” Enable both intentionally.
Can I use both at once?
Yes — and you usually should: goal for success, global for safety/relevance.
What if they convert outside the window?
They may stay in the flow unless a global exit also watches the same event without a window (or a longer window).
Are exit criteria evaluated between wait steps?
Typically yes for global exits — that is the point of continuous watchers.
How is this different from a suppression list?
Suppression often blocks channel sends; exit removes the journey trip. You may need both.
Should VIP be a goal or a global exit?
Usually global exit (or a branch), not the revenue goal — unless the flow’s only job is VIP upgrade.
Do exits affect revenue-per-recipient math?
Conversion exits clarify who succeeded; unexplained global exits can quietly shrink the treated population — document reasons.
Deep dive: attribution window vs forever-while-in-flow
Conversion windows exist because marketing wants credit near a message. A purchase 60 days later may be real revenue but weak evidence the flow caused it. Global exits ignore that debate: if unsubscribed = true, eject now even if the goal window is still open.
Practical rule: keep the conversion window honest (7–14 days for cart; longer for B2B demos). Keep global exits boring and few. When stakeholders ask “why did exit volume spike?”, you want two clear buckets — goal success vs safety eject — not a mush of OR conditions.
Iran vignette: purchase goal vs VIP eject
A Tehran fashion shop runs a 3-step SMS+email cart flow. Goal: Order Completed. They enable exit-on-conversion with a 3-day window. Separately, global exit: tier = vip because VIPs get concierge WhatsApp, not coupon SMS. Result: VIP who abandons a cart never enters the coupon branch; non-VIP who buys after SMS #1 stops getting SMS #2. Finance sees conversions; CX does not get VIP complaints. Both knobs earned their keep.
Naming exits in analytics
Create two reason codes in your warehouse: exit_goal_conversion and exit_global_criteria:<rule_id>. Without reason codes, “high exit volume” meetings dissolve into opinions. With them, you can say VIP ejects rose 40% after a segment bug — not “the flow is broken.”
Also separate send suppression from journey exit in dashboards. A suppressed SMS skip is not the same as leaving the graph; mixing them inflates “exit rate” and hides real goal performance.
Designing OR lists that do not eat the funnel
Start global exits with three boring rules: unsubscribe/opt-out, hard bounce identity, and “already achieved the outcome via another channel.” Add VIP or ICP rules only when CX escalations prove need. Each new OR condition needs an owner and a weekly volume alert.
If a rule ejects more than X% of active trips, page the owner. Silent over-ejection is how “smart” safety becomes a dead journey.
QA script (15 minutes)
- Enter a test profile.
- Fire the goal event inside the window — expect exit + conversion credit.
- Enter another profile; flip a global property mid-wait — expect eject without conversion credit.
- Fire the goal outside the window — document whether they stay or leave.
- Screenshot and paste into the journey runbook.
Teams that skip this ship “buy now” SMS to buyers by Friday.




