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

DimensionExit-on-conversionGlobal exit criteria
TriggerPrimary goal event (+ window)Property/behavior conditions (OR)
ScopeGoal success pathEntire time in flow
Analytics roleCounts conversions / RPR storyOperational eject, not always a KPI
Typical examplesPurchase, demo bookedVIP flag, unsubscribe, refund
Common failureAssuming conversion auto-exits without enabling itToo many OR conditions → silent dropouts

Setup steps (numbered)

  1. Write the one sentence goal: “This flow exists to cause X.”
  2. Map X to a clean event with stable properties.
  3. Turn on exit-on-conversion with a realistic attribution window.
  4. Separately list global exits for safety: unsubscribe, refund, already-customer if relevant.
  5. Verify OR logic: would any single condition wrongly eject good users?
  6. Test a purchase mid-wait and a VIP property flip mid-wait — confirm both behaviors.
  7. 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)

  1. Enter a test profile.
  2. Fire the goal event inside the window — expect exit + conversion credit.
  3. Enter another profile; flip a global property mid-wait — expect eject without conversion credit.
  4. Fire the goal outside the window — document whether they stay or leave.
  5. Screenshot and paste into the journey runbook.

Teams that skip this ship “buy now” SMS to buyers by Friday.

Keep reading