Apprvd.app
Join the waitlist

The right message to the people who earned it.

Build audiences from the events users actually triggered, preview exactly who will receive a message, and send it through Firebase Cloud Messaging — once, on a schedule, or on a cadence.

At a glance
DeliveryFirebase Cloud Messaging v1
AudiencesEvent, inactivity, funnel drop
SchedulingNow · later · recurring
AttributionOpens per campaign
The challenge

Why it's hard today

1
Broadcasts that train users to ignore you
Sending everyone everything is the fastest way to lose notification permission.
2
Previews that don't match the send
An audience estimate from one system and a send list from another means the number you approved isn't the number that went out.
3
No idea what worked
Without per-campaign attribution, a good message and a bad one look the same a week later.
The Apprvd.app approach

How Apprvd.app handles it

One audience engine

The preview and the send use the same cohort query, so the audience you approve is the audience that receives it.

Accounts, not devices

Events from before sign-in fold into the account, so one person is one recipient across devices.

Never sent twice

Every send atomically claims its campaign first. A retry or a race is a no-op, not a duplicate notification.

Opens attributed

Each message carries its campaign id, so opens report back to the campaign that earned them.

How it works

From connection to decision

Step 1
Instrument
Add the Apprvd.app tracker to your Flutter, iOS or Android app and identify signed-in users.
Step 2
Target
Pick an audience — did X, didn't do Y in 7 days, stalled at a funnel step.
Step 3
Send
Compose, preview the exact count, and send now, later or on a cadence.
Related

Keep exploring

FAQ

Questions, answered

Take the first reading.
Connect a Firebase project and the board fills itself — dashboards, funnels, experiments and push, from data you already have. Apprvd.app opens to the waitlist first.