Health and fitness/Post-workout paywall

A paywall that waits for the workout to end.

Signals tells your paywall the moment a workout ends and what this user has done in the trial, so the offer shows when there is something to keep.

Higher trial-to-subscription conversion

Convert more trials by making the offer after a workout, not on first open.

Trial conversion moves when the offer lands after the user has done something they would pay to keep. Signals gives your paywall the minutes since the last workout ended, how many workouts this trial has had and which premium feature this user keeps coming back to, so it chooses when to show the offer, which plan to lead with and what to name in it.

Show the offer on the screen after the workout ends

A trial user has just finished their first workout and is reading the summary. The offer was shown when they first opened the app, before they had done anything in it, and it has not come back since. The moment they have something worth keeping is this one, and the offer belongs on the next screen they see.

What Signals knows
minutes_since_workout
Minutes since their last workout ended
workouts_trial
Workouts completed since their first open
What your paywall does

Shows the offer on the screen after the summary when a workout ended in the last fifteen minutes, and holds it on every other open so the first screen of the day is not a price.

summary.tsx · 14 lines
// In the code that renders the screen after the workout summary
const user = await signals.getServiceAttributes({
  name: "fit_paywall_finished",
  attribute_key: "user_id",
  identifier: userId,
});
// { minutes_since_workout: 2.4, workouts_trial: 1 }

if (user.minutes_since_workout <= 15 && user.workouts_trial >= 1) {
  paywall.show({
    plan: "monthly",
    headline: "Keep this one in your history",
  });
}

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.