Health and fitness/Upgrade offers

An upgrade offer that arrives while the user is deciding.

Signals tells your app which plan screens, locked workouts and sessions each user has opened this week, so the premium offer reaches the user weighing it up and stays quiet for the one who said no.

More upgrades to premium

Get more upgrades to premium by making the offer while the user is deciding.

Upgrades move when the offer runs on the user's calendar rather than the campaign's. Signals gives your app how many times each user has opened the plan screen, which locked workout they keep hitting, how many days they have trained this month and whether they have dismissed the prompt. The app chooses who sees the offer, which tier it names and when it stays quiet.

Make the offer while they are comparing plans

A user has opened the premium plan screen three times this week and closed it each time without upgrading. The upsell campaign runs on its own calendar, so its next push lands days after this week's comparing has stopped, or before it started. The decision is being made now, on the screen they keep coming back to. The offer belongs there, and it should name the plan they have compared most.

What Signals knows
plan_screen_views_7d
Times the premium plan screen was opened in the last seven days
top_plan_viewed_7d
The plan they opened most on that screen in the last seven days
What your app does

Shows the offer on the plan screen once a basic user has opened it three times in a week, and puts the plan they keep comparing at the top. Your billing system says they are still on the basic plan. Signals supplies what they have been looking at.

plan-screen.tsx · 15 lines
// In the code that renders the premium plan screen
const user = await signals.getServiceAttributes({
  name: "fit_upgrades_deciding",
  attribute_key: "user_id",
  identifier: userId,
});
// { plan_screen_views_7d: 3, top_plan_viewed_7d: "premium_annual" }

if (account.plan === "basic" && user.plan_screen_views_7d >= 3) {
  offer.show({
    plan: user.top_plan_viewed_7d,
    placement: "plan_screen",
    headline: "The plan you keep coming back to",
  });
}

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.