# Troubleshoot push

Source: https://kirora.io/docs/guides/messaging/push/troubleshoot-push

Fix push that can't send, reaches fewer people than expected, doesn't appear on a device or shows no opens.

Most push problems come from one of three places: the push app's setup, the contact's devices and consent, or how the app shows notifications. Start with the symptom below.

## The campaign can't send push

- *No push app is set up yet* or *No push app is ready yet*: open **Settings › Messaging › Push apps** and follow the app's **Next step**. An iOS or Android app needs its Apple or Firebase key. See [Set up push](https://kirora.io/docs/guides/getting-started/set-up-push).
- *Choose an app that is ready to send*: the app chosen under **Send through** isn't ready. Choose another, or finish its setup.
- *Add a notification title and message*: both are required.
- *The notification is … bytes over the 3072-byte limit*: shorten the text, app data or links.

## An app stopped sending

The app's page says *Apple refused this key* or *Google refused this key*, with the reason and date. The key was revoked or lost its permissions after it was uploaded. An admin, a developer or the owner chooses **Upload a new key**; sending resumes with the next send.

## Push reached fewer people than expected

Open the campaign's **Recipients** tab and read the skipped reasons:

- *No device that can receive push*: those contacts have no active device in this project. Their app hasn't registered them, notifications are blocked, or they haven't opened the app in 60 days.
- *No consent for this channel*: they haven't given push consent. Allowing notifications on the phone doesn't give it. Record consent on the contact, at import, or from your app through the API.

The **Who receives it** count on the review step shows the same thing before you send.

## The push was sent but nothing appeared

**Sent** means Apple, Google or the browser accepted the notification, not that the device showed it. Check, in order:

1. **The device's own settings.** Notifications may be off for the app or browser in the phone's or computer's settings. On a Mac, a browser can be silenced in **System Settings › Notifications** even when the website is allowed.
2. **Focus and Do Not Disturb.** The notification may be waiting in Notification Centre.
3. **The app is open.** An Android app in the foreground shows a notification only if your app handles it.
4. **The environment.** An iOS development build needs a **Sandbox** app, and an App Store build a **Production** app.
5. **The device was offline** for longer than **Stop trying after**, so the push expired.

## Images or buttons don't show

- **iOS images** need your app's notification service extension.
- **Buttons on iOS and Android** need your app's support; browsers show them on their own.
- **The icon** shows only on the web; phones use your app's own icon.
- **Image links** must be HTTPS and load without signing in.

## Opens and clicks read zero

Opens and clicks come from your app or website reporting each tap. If they stay at zero while devices show **Sent**, your app or service worker isn't reporting taps yet. Point your developer to [reporting taps](https://kirora.io/docs/api/push#3-show-notifications-and-report-taps-your-app-or-site) in the push guide.

## Many devices are rejected or gone

- **Device gone** is normal in small numbers: people uninstall apps and clear browsers.
- **Many rejections on one platform**, often right after a change, usually mean the devices were registered for a different app or environment than the one sending, for example development devices under a production app. Check **Device outcomes** by platform, and ask your developer to check which app and environment the devices register with.

## My test didn't arrive

- Check the message under **Send test**; [Send a test](https://kirora.io/docs/guides/messaging/push/test-push#send-a-test) says what each one means.
- Then work through [The push was sent but nothing appeared](#the-push-was-sent-but-nothing-appeared).

## Next steps

- [Push statuses and metrics](https://kirora.io/docs/guides/messaging/push/push-statuses)
- [Set up push](https://kirora.io/docs/guides/getting-started/set-up-push)
- [Developer push guide](https://kirora.io/docs/api/push)