Start free

The notification that brings customers back.

Push for iOS, Android and the web, with images, buttons and a link to the right screen in your app. To a segment or to one person, from US$0.20 per 1,000.

APNs, FCM and Web PushNo per-device fee

Sign up through the site and get a US$5 test credit.

Weekend pickupsRich push · active couriers
iOS 5,620Android 5,180Web 1,680
Sent to providers
12,480
Accepted by the provider
12,312
Dead tokens, deactivated
168 · not billed
US$4.3112,312 accepted × rich push at US$0.35 per 1,000
Fictional data.
Sample notifications.

All three providers, one dashboard.

Add your app's credentials and send from the dashboard or the API, on the same wallet as your other channels.

iOSApple Push Notification servicePush to your iPhone app, with images and buttons.
APNs keyRotation in 45 days
You get a reminder 45 days before the rotation date.
AndroidFirebase Cloud MessagingPush to your Android app through Google, with the same send.
FCM service accountValid
Connection tested from the dashboard.
WebWeb PushNotifications from your website, in Chrome, Firefox, Safari and Opera.
Web Push keysValid
Generated by CCX, nothing to upload.
Sample credential status.

Simple or rich.

Pick the kind of push for the moment. Rich push is any push with an image or a button.

Your AppnowYour order shippedArriving today by 6 pm.
Your AppnowYour order shippedArriving today by 6 pm. Follow the driver live.Track orderChange timeOpens yourstore://orders/9921
Price per 1,000
Simple pushUS$0.20
Rich pushUS$0.35
From-prices, per notification accepted by the provider.

From your system to the device.

Your app registers each device's token with our API. Then a single POST sends to a segment or to specific devices, with the estimated cost in the response.

  1. Your app registers each device's token with our API.
  2. One POST sends to a segment or to specific devices, with the estimated cost in the response.
  3. Apple, Google or the browser deliver it to the device.
  4. A device that's gone is deactivated and isn't billed.
Read the docs
Sample push send through the API
curl https://api.messages.ccxcompany.co/v2/push/messages \  -H "Authorization: Bearer $CCX_API_KEY" \  -H "Idempotency-Key: order-9921-shipped" \  -H "Content-Type: application/json" \  -d '{"title": "Your order shipped",       "body": "Arriving today by 6 pm.",       "platforms": ["ios", "android"],       "segment": "all_opt_in",       "deepLink": "yourstore://orders/9921"}' → 201 · queued, estimated cost in the response
The dashboard shows the estimated cost before you send, too.

The phone buzzes. The customer comes back.

Order on its way, forgotten cart, payment approved: the alert lands on the lock screen, with no messaging app or carrier fee in between.

Order on its way
Your StorenowYour order 9921 is on its wayArriving today by 6 pm.
Forgotten cart
Your Store2 h agoYou left 2 items in your cartThey're still waiting for you.
Payment approved
Your Store5 min agoPayment approvedYour order is being prepared.
  • Apple and Google don't charge for delivery.
  • You pay per notification the provider accepts.
  • Uninstalled devices drop off and aren't billed.

Everything around the send.

Segments, schedules, dead tokens and test devices, handled in the same dashboard as your other channels.

iOS, Android and the webAPNs, FCM and Web Push in one place, with a reminder 45 days before a credential's rotation date.
Rich pushAn image and up to two buttons, plus a link your app opens on tap.
Quiet hoursSends wait out a quiet window at night, from 10 pm to 8 am Brasília time by default.
A segment or one personSend to every device with permission, to a saved contact segment or to specific devices.
Scheduled or right nowPick a send time or go now, from the dashboard or the API. A scheduled send can be cancelled.
Uninstalled devices drop offWhen Apple, Google or the browser report a dead token, the device is deactivated and not billed.
Testing that stays separateTest keys use a separate environment: test devices never get into a live send.
Same walletPush draws from the same wallet as WhatsApp, email and your other channels.

From US$0.20 per 1,000.

No per-device fee, and devices that don't receive aren't billed.

Simple push · per 1,000from US$0.20
Rich push · per 1,000from US$0.35
Dead-token cleanupIncluded
Plansfrom US$39/mo
International price list in USD, per notification accepted by the provider. Rich push is any push with an image or a button.

Questions we get from new teams

Still unsure? Talk to the team that runs the platform.

Do I need a native app?

For iOS and Android, yes: push goes out through Apple (APNs) and Google (FCM) to your app, and on iOS the image needs a notification extension in your app. On the web, Web Push works with your site.

How do I send to one person?

Pick their devices from the device records, by name, email, phone or your system's identifier, or send the device ids through the API.

Can I schedule a send?

Yes. Pick a time in the dashboard or send it with the API, and cancel it before it goes out if plans change. By default, sends also wait out a quiet window at night.

What do I pay for?

Each notification the provider accepts. Uninstalled devices and invalid tokens aren't billed.

Does push count toward my plan tier?

No. Push volume doesn't count toward your monthly plan's message tier.

Your app, on time on the lock screen.

Sign up through the site and get a US$5 test credit.