# Churntide > Churntide is a churn-reduction toolkit for subscription businesses. It intercepts > cancellations with a short reason survey and a targeted save offer (discount, pause, > downgrade, free extension, or human contact), recovers failed payments with dunning > emails and an in-app banner, and sends win-back emails to cancelled subscribers. > Flat pricing from $29/month, self-serve, works with any billing provider. ## Product - Cancel flows: embed widget (`/churntide.js`, `Churntide.open()`), declarative `data-churntide` buttons, or a hosted page at `/cancel/{flowPublicId}`. - Offer targeting: by cancel reason, plan name, and MRR range; weighted A/B testing; offer-fatigue rules (once-per-customer, cooldown days). - Payment recovery: failed invoices ingested via REST or forwarded Stripe events; scheduled dunning emails with tracked update-payment links; in-app dunning banner (`Churntide.dunning()`). - Win-back: automatic emails to cancelled subscribers after a configurable delay. - Billing auto-apply: connect a restricted Stripe key (or Paddle, beta) and Churntide applies accepted offers and cancellations directly on the subscription. - Analytics: save rate, MRR saved/lost, reason breakdown, per-offer accept rates, customer timelines and CSV export. ## Developer surface - Docs: /docs - Embed script: /churntide.js - Public API: GET /api/v1/flows/{publicId}, POST /api/v1/sessions, PATCH /api/v1/sessions/{id}, GET /api/v1/dunning/{accountId} - Authenticated API (Bearer ct_live_… key): POST /api/v1/recovery, PATCH /api/v1/recovery/{id}, POST /api/v1/stripe-events - Webhooks: per-flow URL receives `session.saved|canceled|abandoned` payloads. ## Pricing - Starter $29/mo: 1 flow, 500 sessions/mo, cancel flows, payment recovery, win-back, auto-apply. - Growth $79/mo: unlimited flows, 3,000 sessions/mo, A/B testing, offer targeting, API & webhooks. - Scale $199/mo: unlimited sessions, remove branding, Slack-connect support. - Annual billing: 2 months free. 14-day free trial, no credit card.