Solutions/Industry

Keep more users coming back, and more of them subscribed.

Signals tells your app, paywall and messaging tool what each user is doing right now, so they respond while the user is still in the app.

How Signals helps

What health and fitness apps can do with it.

RetentionHigher D1 and D7 retentionA new user who set a goal but skipped the first session opens the app to the first screen again. Signals tells your app which step this user reached, so it opens on the next one.How onboarding steps work →RetentionHigher workout completionA user who quit halfway through three sessions in a row shows up in next week's report. Signals gives your plan builder what this user started, finished and abandoned this week, so the next session fits.How plan inputs work →RetentionMore streaks kept goingReminders go out at a set hour, even to people who trained at lunch. Signals tells your messaging tool when an evening regular has not started by their usual time, so the reminder goes to them.How reminder timing works →SubscriptionsHigher trial-to-subscription conversionThe subscription offer tends to appear on first open, before the user has done anything they would pay to keep. Signals tells your paywall the moment a workout ends, so the offer shows then.How the post-workout paywall works →SubscriptionsLower subscriber churnA daily user opened the app once this week, and the drop surfaces at renewal. Signals flags it to your CRM or messaging tool that week, so the check-in lands while they are still a member.How the lapse flag works →SubscriptionsMore upgrades to premiumThe premium upsell runs on the campaign calendar, not the user's. Signals tells your app that this user has opened the premium plan screen three times this week, so the offer arrives while they are deciding.How the upgrade offer works →
For your engineers

One SDK, one read call.

We host it, or it runs in your own AWS or GCP account. Signals collects events with its own SDKs, updates what it knows within a second of each event, and answers a read in 6ms at the median and 10ms at p95, in-region.

Read the docs →
const user = await signals.getServiceAttributes({
  name: "coaching",
  attribute_key: "user_id",
  identifier: userId,
});
// { workouts_completed_this_week: 1, onboarding_step: "goal_set", plan_screen_views: 3, days_since_last_workout: 5 }
Your iOS, Android or web appasks what this user has done when it renders a screen
Your recommender or plan buildergets this week's workouts with each request
Braze, or any tool that takes a webhookgets a message the moment a rule fires
Snowflake, BigQuery or Databricksruns the same definitions over past sessions
Questions

Questions app teams ask first.

Does this replace our CRM, push tool or paywall provider?

No. Signals computes what each user is doing in the app and serves it to the tools you run. Braze, your paywall and your recommender keep deciding what to show and send. Signals tells them when, and about whom.

Does it work in native apps, or only on the web?

Signals collects from iOS and Android apps as well as the web, and one definition covers all three. A rule over live behavior, such as showing the paywall after a completed workout, changes in the console without an app release or a store review.

Does Signals need health data?

Signals computes only from the app events you choose to send, such as screens viewed, workouts started and finished, and plan views, so you decide what it sees and what stays out. It runs in your own AWS or GCP account, or in a deployment we host, with the same architecture either way.

Is this a data platform project?

Add the SDK to the app and collection starts. Your product team defines what it wants to know about a user in the console, your engineers read it with one call, and most of the wiring can be handed to a coding agent, which is what the docs, MCP server and agent skill are written for.

What if next-day data is fine for us?

Then a warehouse tool is cheaper, and you should use it. Signals earns its place when the moment matters, such as the paywall after a completed workout or the flag the week a member goes quiet. If your flows run well on yesterday's numbers, you do not need it.

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.