NewIntelligent Delivery sends at each person’s best hour

Messages that landwhen people are listening.

Perchpush sends push, in-app messages, an inbox, email and SMS from one place, at the hour each person actually picks up their phone. It runs on your own Firebase and Apple keys, so you stay in control.

  • 20,000 sends a month free
  • Unlimited subscribers
  • Your Firebase & APNs keys
Perchpush — New messageLive demo · try it
Channel
Maya opens her phone most around 8:00 PM.
Tuesday, 12 May8:02
Lingonow
Your streak is waiting, Maya 🔥
Two minutes tonight keeps your 12-day streak alive. Pick up where you left off.

Illustration with an example user. Your app’s real best hours come from its own data.

Works with the stack you already ship

FlutterAndroidiOSWeb pushReact NativeNode.jsREST APIFirebase FCMApple APNsYour SMTPYour SMS gatewaySigned webhooksSlack alertsCSV import
The problem

Most notifications get swiped away.

Not because they’re spam, but because they show up at the wrong moment, in the wrong words, and nobody can tell if they helped.

They arrive at the wrong hour

A 2 PM blast lands mid-meeting for one person and at 3 AM for another. Both swipe it away without reading.

Everyone gets the same words

One language, no name, a link that opens the home screen. It reads like a broadcast, so it gets treated like one.

You can’t tell what worked

“Sent: 40,000” says nothing. Did anyone come back who wouldn’t have anyway?

Perchpush fixes all three: the right hour, their own words, and proof of what changed.

What’s inside

Everything to message well.
Nothing to babysit.

Intelligent Delivery

The right person, at the right hour

Perchpush learns when each device engages and sends within that hour. Local time and quiet hours keep you polite.

Every channel

Five channels, one campaign

Push on Android, iOS and the web, live in-app messages, an inbox, email and SMS, all from one API call.

Push · Android, iOS, webDelivered
Inbox · stays until readSaved
Email · through your SMTPSent
Journeys

Automations that run themselves

Waits, goals and exits. Set it up once and every new user walks the path.

A/B tests

Tests that pick their own winner

Try two versions on a slice, then send the winner to everyone else.

Localization

Their language, their name

One message, delivered in each phone’s language with personal details filled in.

Proof, not vanity

See what a message actually changed

On-device receipts, conversion goals and hold-out groups. Stop counting sends and start counting people who came back.

Deliveredreceipt from the device
Openedtap tracked to the screen
Convertedyour goal event
Liftvs. hold-out group
AI assist

An afternoon back

Draft copy, translate it, or describe an audience in plain words.

Your keys

Runs on accounts you already own

Perchpush sends through your own providers, so there’s no lock-in. Your keys, tokens and sender reputation stay yours.

Built for teams

Everyone in, nobody stepping on toes

Six roles from owner to viewer, an audit log of every change, Slack and Discord alerts, and a public status page.

Every stage of the journey

A friendly voice for each moment in your app.

Welcome

Turn installs into habits

Someone installs your app and never opens it again. Send a gentle nudge the next morning, a tip on day three, and stop the moment they finish their first lesson.

Engage

Say it once, in their language

Write a campaign once. Each phone gets it in its own language, with the person’s name and plan, and a link that opens the right screen.

Win back

Bring quiet users home

Someone has been away for a week. Perchpush notices, waits for the hour they usually pick up their phone, and compares them with a hold-out group so you see who really came back.

  1. TriggerInstalls the appEvery new device enters
  2. Wait1 dayGive them room to explore
  3. CheckBought something?Yes → leave the journey
  4. Send“Still deciding, Sam?”Push + inbox at their best hour
How it works

From zero to your first push in an afternoon.

Connect your keys

Create an app and upload the Firebase service account and APNs key you already have. Add SMTP or SMS later if you want.

Add the SDK

A few lines in Flutter, React Native, iOS, Android or the web. Identify users and track the events you care about.

Send and learn

Send yourself a test, then a campaign or a journey. Watch delivery, opens and conversions roll in live.

For developers

Small SDKs. Clear errors. An API you’ll remember.

  • The Flutter SDK is pure Dart and plugs into the firebase_messaging you already use.
  • Every attempt is logged with the raw answer from Apple, Google or the browser.
  • Idempotency keys, signed webhooks, HMAC-verified users and per-role access.
  • A live demo on this site you can try in ten seconds, no account needed.
FlutterReact NativeSwiftKotlinWebNode.jsREST
lib/main.dart
PushPal.configure(appKey: 'pk_…');
await PushPal.attachFirebase(FirebaseMessaging.instance,
    onMessageOpenedApp: FirebaseMessaging.onMessageOpenedApp);

await PushPal.identify(user.id, signature: sig);
await PushPal.track('lesson_completed');
Trust built in

Your users, your keys, your rules.

Your keys, your tokens

Sends go through your own Firebase, APNs, SMTP and SMS accounts. If you leave, your tokens and data come with you.

Encrypted credentials

Provider keys are encrypted at rest with a rotatable keyring, and user identity can be HMAC-signed.

Six roles and an audit log

Owner through viewer. Every change to a campaign, key or teammate is recorded.

Signed webhooks

Delivery, open and click events go to your server, signed so you can trust them.

Raw provider answers

Every attempt is logged with the exact reply from Apple, Google or the browser, so a failure is a fix, not a mystery.

Polite by default

Quiet hours, frequency caps and one-tap unsubscribe keep you on people’s good side.

Pricing

Start free. Grow when you’re ready.

Unlimited subscribers on every plan. Pay monthly by card, cancel any time.

Starter

For side projects and your first launch.

$0/month
  • 20,000 sends a month
  • 2 apps · 2 seats incl. you
  • 2 journeys per app · 5 tracking links
  • Scheduling & quiet hours
  • Segments & templates
  • 20 AI assists a day
Start free
Most picked

Growth

For growing apps that message every week.

$19/month
  • 200,000 sends a month
  • 10 apps · 10 seats incl. you
  • 20 journeys per app · 100 tracking links
  • Intelligent Delivery & local time
  • A/B tests & hold-out groups
  • 400 AI assists a day
Choose Growth

Business

For teams running many apps at volume.

$79/month
  • 2,500,000 sends a month
  • 50 apps · 100 seats incl. you
  • 200 journeys per app · 1,000 tracking links
  • Intelligent Delivery & local time
  • A/B tests & hold-out groups
  • 4,000 AI assists a day
Choose Business

Need more than Business? Let’s talk.

FAQ

Good questions, straight answers.

Do I need my own Firebase project?

Yes. Push tokens belong to the Firebase project your app was built with, so Perchpush sends with that project’s key. You keep ownership, and Google’s free FCM quota.

How does Intelligent Delivery decide the time?

Every hour Perchpush looks at the last 90 days of opens and app sessions for each device and picks the hour it engages most. New devices fall back to your app’s best hour. A send spreads over 24 hours.

Which platforms are supported?

Flutter, web, React Native, native iOS (Swift) and Android (Kotlin), a Node.js server SDK and a plain REST API.

Can I move from OneSignal or another provider?

Upload the same Firebase key, import your users from CSV and ship one app update with the Perchpush SDK. Existing tokens keep working.

What counts as a send?

One message handed to Apple, Google, a browser, your mail server or your SMS gateway. Held-back and opted-out users are always free, and every plan has unlimited subscribers.

Is my data safe?

Credentials are encrypted with a rotatable keyring, user identity can be signed with HMAC, roles limit who can do what, and every action lands in an audit log.

Free to start

Your next message could be
the one they open.

Create an app, connect Firebase and send a test to your own phone in a few minutes.