PROTOCOL
Protocol: stopping a welcome sequence after a purchase
This is the protocol we would run, not a measured result. The goal: prove that when a subscriber in a welcome series makes a purchase, the remaining welcome emails stop and no post-signup sell arrives after the sale. Below is what we would measure, how we would set it up on each platform, and what would count as proof that the exit actually fired.
What we would measure
The single question is whether a purchase reliably removes a contact from an in-progress welcome series. We would measure three things. First, does the automation expose a stop or exit condition tied to a purchase event or a buyer tag. Second, when that condition is met mid-sequence, are the not-yet-sent emails actually cancelled for that contact, or only skipped at the next step. Third, is there a race window, a purchase that lands minutes before a scheduled send, where one more welcome email still goes out. Those three separate a clean stop from a customer being sold something they already own.
The method we would hold constant
The method would be identical across platforms so results compare. Build a minimal three-email welcome series with short delays. Create a test contact, enrol it, and let the first email send. Then fire a purchase signal the way a real store would, an ecommerce integration event or the tag the store applies, and watch whether the contact exits before email two. We would repeat with the purchase fired at different points: just after enrolment, between emails, and seconds before a scheduled send, to expose timing gaps. Every run uses a fresh contact and the platform's own activity log as the record, never the dashboard summary.
What each platform documents today
Before running anything, the question is what each editor actually publishes. Three platforms document a mechanism built for this: a goal block, an exit condition, or a flow level exit. Others get to the same place sideways, through a branch, an order cap or a rule fired by a connected store, which works but is not the same guarantee. Where we have not read a page covering the capability, the table says so rather than guessing.
| Platform | Status | Does the platform document a way to take a contact out of a running sequence when a purchase happens? |
|---|---|---|
| Documented | Goals. A goal block placed in an automation pulls a contact out of it as soon as the goal is met, whatever step they are on, so a purchase ends the sequence. Source | |
| Documented | Exit conditions. You add an exit condition so contacts leave the automation as soon as a given event happens, whatever step they are on; the documentation uses a cart purchase as its example. Source | |
| Documented, with a catch | Automation rules can fire on a purchase made through a connected provider and act on the subscriber, which is how a buyer is taken off a sales sequence. There is no exit condition field inside the sequence itself. Source | |
| Documented, with a catch | Exit conditions remove a contact from a flow when the condition is met, even mid flow. The documentation states they are available when the audience has a connected store, so this is an ecommerce feature rather than a general one. Source | |
| Documented, with a catch | No single exit condition setting. Ecommerce automations check whether the sale was finalised before each step, an Order cap can stop an automation triggering past a number of orders, and a Condition step can branch a buyer out of the flow. Source | |
| Not checked | Not checked in this pass. GetResponse documents workflow conditions, but we have not read a page that states how a purchase removes a contact from a running workflow. Source (getresponse.com/help/conditions) | |
| Not checked | Not checked in this pass. | |
| Not checked | Not checked in this pass. | |
| Not checked | Not checked in this pass. |
Read from each provider's own documentation. "Not checked" means exactly that: we have not read a page covering this capability for that platform, so we say nothing rather than guess. Nothing in this table is a measurement: we have not run the protocol on paid accounts.
This table is what the documentation claims, not what we observed. A documented exit condition can still misbehave on the timing case below, and a platform without one can still be made to work with a rule. That gap between a published feature and a verified behaviour is exactly what the protocol is for.
What would count as proof
Proof is behavioural, not a setting that looks right. A pass means: after the purchase signal, the test contact receives no further welcome email, the platform log shows the contact exited the automation rather than merely pausing, and the tightest timing case, a purchase just before a scheduled send, still suppresses that send. A partial pass is an exit that works only between steps but leaks the imminent email. A fail is a contact that keeps receiving the series, or shows as active in it, after buying. We would report each platform against those three levels, with the log entries as evidence, not claims.
Questions people also ask
Have you run this test yet?
No. This page is the protocol we would run, not a published result. It defines what we would measure, the method we would hold constant, and the evidence that would count as proof, so no platform outcomes or numbers are claimed here.
Why test the timing case specifically?
Because most real leaks are a purchase landing just before a scheduled send. An exit that works cleanly between steps can still let the next, already-queued welcome email go out, which is exactly the case that annoys a fresh customer.
Can I rely on the table of documented behaviour?
Treat it as a shortlist, not a verdict. It reports what each provider's documentation says, with a link to the page. We have not run the protocol on paid accounts, so none of it is a measured result, and a documented feature can still fail the timing case.