Media and publishing/Subscriber retention

Save a subscriber while they are still reading.

Signals tells your CRM and your site when a subscriber has gone quiet, is on the cancel page or has a failed payment, so the save reaches them while they are still a subscriber.

Lower subscriber churn

Keep more subscribers by making the save offer before the subscription ends.

Churn moves when the save reaches a subscriber while there is still something to save. Signals gives your CRM and your site how often each subscriber reads, what they read, whether they are on the cancel page right now and whether their last payment went through. Each one decides which subscriber gets the offer, the note or the card prompt, and when.

Make the save offer while they are still deciding

A subscriber who read most days has opened two articles this month, and tonight they are on the cancel page. Canceling is becoming one click in more markets, so a save email after the cancellation arrives after the decision. The offer has to sit on this page, beside the cancel button, while they are still deciding.

What Signals knows
visits_30d
Separate visits in the last 30 days
cancel_page_views_1h
Times the cancel page was opened in the last hour
What your CRM and site do

Shows a pause or a discounted renewal on the cancel page itself when a subscriber's visits have dropped this month, and tells your CRM which offer they saw so the follow-up matches.

article.tsx · 14 lines
// In the code that renders the cancel page
const subscriber = await signals.getServiceAttributes({
  name: "retention_save",
  attribute_key: "user_id",
  identifier: userId,
});
// { visits_30d: 3, cancel_page_views_1h: 1 }

if (subscriber.cancel_page_views_1h > 0 && subscriber.visits_30d <= 4) {
  paywall.show({
    offer: "pause_or_discount",
    headline: "Pause for a month instead",
  });
}

Try it on your own site.

Add the SDK, define one thing you want to know about a visitor, and watch it update while you click around. The free tier runs on the real engine: no card, no sales call.