Getting started

Ship your first cancel flow.

Pick a starter template, tune the offer, publish v1. Three minutes if you trust the defaults; ten minutes if you want to read each step. Cancel flows are FTC click-to-cancel compliant by default — the cancel button is always one tap away.

1. Pick a starter template

  1. From the workspace nav, open Cancel flows → New flow.
  2. Pick the closest template to your business — there's about a dozen, spanning common SaaS niches: SaaS Standard, Pause Instead, Annual Upsell, Dev Tool / API Service, Agency / Pro Service, Newsletter / Content, Fitness / Wellness, B2B with Account Teams, Hobby / Consumer App, Education / Course Platform, Productivity / Personal, or Blank (survey + confirm only).
  3. Click Use template. The flow opens in the canvas builder with the template's nodes wired up — survey, optional save stories, offer, confirm.

2. Tune the offer

Click the Offernode. The right rail shows the variant picker — discount, pause, downgrade, gift (free months), schedule call, trial extension, or annual upsell. Pick the right one for your cohort, fill in the percent / duration / target price, and write your headline + body copy. Add fallback offers if you want a chain — declining the primary discount can route to a pause offer, then to a “schedule call” offer, then to confirm.

3. Simulate it

Click Simulate in the builder header. The simulator walks you through the flow as a customer would, without any Stripe call or session row. Toggle between Draft (your in-progress edits) and Live (what your customers see right now) to compare.

4. Publish

Click Publish. We snapshot the current draft as version 1 with 100% traffic. Future drafts publish as v2, v3, etc. Two ways to A/B test: split traffic across whole published versions on the Versions & traffic page, or — to test just the offer (say 25% vs 40% off, or pause vs discount) — add 2–4 variants right on the Offer node. Each visitor gets a stable arm for their session, and the Versions page shows a per-arm save-rate readout so you can see which is leading.

5. Wire up the customer-facing surface

Publishing makes the flow live; now point something at it. Three ways, and you can use more than one:

  • Embedded modal — load the SDK and call Backstop.cancel(…)on your existing “Cancel subscription” button to open the flow as a modal on your own site. See Embed Backstop. This is the recommended path, and the one that closes the Stripe-portal bypass — route cancellations through Backstop.
  • Hosted redirect (no SDK) — same backend signer, but instead of a modal your button gets a Backstop-hosted /cancel/<token>URL and redirects there. Good for CSP-locked sites or anywhere you'd rather not load a script. It's the “Hosted webpage” toggle in the same snippet panel.
  • Automatic follow-up link — if a customer starts your cancel flow but drops off mid-way, Backstop can email them an offer reminder with a /cancel/<token> link back to the same flow. Nothing to wire up — it follows whatever you publish here. (Note: failed-payment dunning emails link to card-update, not cancel — those are the recovery side of the product.)