Hosted Cancel Flow

Send customers to a Churnkey-hosted cancellation page instead of embedding the JavaScript SDK in your application.
View Markdown

What is the Hosted Cancel Flow?

The Hosted Cancel Flow is a cancellation page that Churnkey hosts for you. Instead of loading our JavaScript library and opening a modal inside your application, you redirect the customer to a Churnkey URL — for example billing.churnkey.co/cancel/..., a Churnkey subdomain like acme.churnkey.co, or your own custom domain — and we handle the entire cancel experience. When the customer finishes (or backs out), we send them back to a return URL you control.

You configure everything from the dashboard at app.churnkey.co under Cancel Flow → Hosted. There is nothing to deploy, no script tag to maintain, and no modal to wire up.

The fastest way to go live with Churnkey. The moment you sign up and publish a Cancel Flow, your hosted page is already live at billing.churnkey.co/cancel/<your-app-id>. Share that link with a customer — in an email, a support reply, a help article — and you are running Churnkey end-to-end. No engineering work required.

A no-code path to live

Most retention tools assume you have engineering bandwidth to integrate them. The Hosted Cancel Flow is built for the opposite situation — when you want Churnkey running today, not next sprint.

  • Zero code to ship. Your hosted URL exists the moment your account does. Drop it anywhere a link can go.
  • No frontend integration. Nothing to embed, no JavaScript snippet to maintain, no version to keep up with.
  • No backend integration required. Customers verify themselves via email — your billing provider is the only thing Churnkey needs to be connected to.
  • Branding from the dashboard. Theme, logo, and font live in your settings, not in your codebase.

When you are ready to graduate to a more integrated experience — for example, pre-authenticating logged-in customers — you can layer in Cancel Links without changing anything about the page itself.

Hosted or embedded — which should you use?

Both options run the same cancel flow logic, the same offers, and the same analytics. They differ only in where the experience lives and how the customer authenticates.

The Hosted Cancel Flow is the right choice when you want a zero-code or minimal-code integration, when the cancellation surface cannot easily run JavaScript (such as an email link, a billing receipt, or a third-party account-management portal you do not control), or when you would rather have Churnkey handle authentication for you.

The Embedded Cancel Flow — the original window.churnkey.init('show') integration documented in the Quick Start Guide — is the right choice when you want the cancel flow to open as a modal inside your own application, with full control over when it launches and what surrounds it.

A simple way to decide: if your customers cancel from inside a logged-in account page you own, embedded usually feels more native. If they cancel from anywhere else — an email, a help article, a support reply, a portal — hosted is almost always easier.

How customers reach the hosted page

There are two ways a customer ends up on your hosted cancel page, and you can use either one or both at the same time.

Cancel Links are the recommended path for logged-in customers. Your backend calls the Churnkey API to mint a signed URL tied to one specific customer (single-use by default, with a reusable option available), and you redirect that customer straight to it. The link is pre-authenticated, so the customer lands directly inside their cancel flow with zero extra steps. Read more in Cancel Links.

Email verification is the path for everyone else. Anyone who knows your hosted URL can visit it, type in the email address on their subscription, receive a verification code, and continue. No backend integration is required, which makes this the fastest way to launch the hosted flow and the right fit for email footers, public help pages, or any link you cannot personalize per customer. Read more in Email Verification.

You do not have to choose. Most teams generate Cancel Links for customers signed in to their app and leave email verification on as a fallback for everyone else.

What's in this section

Setup — Turn the hosted flow on, set your return URL, and configure link expirations and feature toggles. Start at Setup.

Domains — Decide whether customers land on the default billing.churnkey.co URL, on a Churnkey subdomain like acme.churnkey.co, or on your own custom domain. See Domains.

Appearance — Choose a page template, theme, logo, and font so the hosted page looks like part of your brand. See Appearance.

Cancel Links — Generate signed URLs from your backend for logged-in customers so they skip verification entirely. See Cancel Links.

Email Verification — Let any visitor verify by email and reach their cancel flow without any backend work on your side. See Email Verification.

Customer Data Endpoint — Expose an endpoint that returns extra customer attributes so offers, pause options, and messaging can be personalized in real time. See Customer Data Endpoint.

Before you start, you will need:

  • An active Churnkey account
  • A connected billing provider (Stripe, Chargebee, Braintree, Paddle, or Maxio)
  • At least one published Cancel Flow

If any of these are missing, set them up first — the hosted page renders the same cancel flows you have already published, so it has nothing to display without them.

When you are ready, head to Setup to enable the hosted flow on your account.