> ## Documentation Index
> Fetch the complete documentation index at: https://storekit.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Push Notifications

> How push notifications work in your storekit app: automatic order updates, sending push campaigns from the dashboard, templates, links, and reading Sent, Delivered and Opened.

Your storekit app sends two kinds of push notification. Order updates go out on their own as an order moves along. Campaigns are messages you write and send to everyone who has your app, from **Marketing** → **Campaigns** in the dashboard.

## Who Can Receive Notifications

A customer receives notifications once they have your app installed and have allowed notifications. By default the app asks for permission just after the customer signs in. A customer who said no can turn notifications on later from the app's notification settings, which open the phone's settings.

To stop all notifications, a customer turns notifications off for your app in their phone's settings. Campaigns then skip that phone.

## Order Updates

These go out automatically for orders placed in the app, to the customer who placed them.

| Notification | When it is sent |
| - | - |
| Order confirmed | The store accepts the order |
| Order ready | A pickup order is ready to collect, or will be ready in a few minutes |
| Out for delivery | A delivery order leaves the store |
| Delivered | A delivery order arrives |
| Running late | A delivery will arrive later than expected, with the new time |
| Order update | The store can't fulfil the order |

Tapping an order update opens the app. Some stores also send a "How was your order?" notification after the order, which opens the review page.

The wording of **Out for Delivery**, **Order Delivered** and **Delivery Running Late** can be changed under **Customisation** → **Notification templates** (storekit+). The other order updates use fixed wording.

## Send a Push Campaign

Campaigns go to every phone that has your app and allows notifications. There is no way to pick a segment or a list of customers: each campaign goes to the whole app audience.

> [!NOTE]
>
> **Campaigns** appears under **Marketing** once your app is live with storekit. If you have no published app, or no phone has notifications turned on yet, the editor shows **No app can receive pushes yet**.

<video autoPlay muted loop playsInline controls src="https://mintcdn.com/storekit/N5CLDFPQJIRDDQ4V/videos/push-campaign.mp4?fit=max&auto=format&n=N5CLDFPQJIRDDQ4V&q=85&s=a768c9e6aafd9d83ba76dcd92595750c" />

**1. Start a campaign**

Go to **Marketing** → **Campaigns** and click **New push campaign**. Give it a **Campaign name** your customers never see, such as "Autumn menu launch". If your account has more than one app, choose it under **App**.

**2. Write the message**

Under **Message**, keep **New message** to write one now, or pick a saved template. Fill in **Title** (up to 100 characters) and **Message** (up to 500 characters). Long text is cut short on the lock screen, so keep titles to about 50 characters and messages to about 150.

Click **Insert** to add **First name** or **App name**. **First name fallback** is used for customers without a first name, for example "Hey there".

**3. Choose where a tap goes**

Under **Link**, pick one option. The list is fixed:

* **No link (opens the app)**
* An app screen: **Home**, **Order**, **Rewards**, **Reorder**, **Order history** or **Settings**
* **Web page…** — enter a full address starting with `https://`

**4. Check the preview and send a test**

The **Preview** shows the notification on **iOS** and **Android**, both **With first name** and with **No first name**. Below it is the number of devices that will receive the campaign.

Click **Save** to keep the campaign as a draft. Under **Send a test**, enter the email address of a customer account that has your app with notifications on (your own, usually) and click **Send test**. The test goes only to that account's phones.

**5. Send or schedule**

Next to **Review & send**, choose **Send now** or **Schedule**; for **Schedule**, pick a date and time. Click **Review & send**, check the number of devices, and confirm with **Send** or **Schedule**.

**Send now** goes out in about a minute. Until then, and any time before a scheduled send, **Unschedule** stops it.

> [!TIP]
>
> The campaign appears in the **Campaigns** list as **Scheduled**, then **Sending**, then **Sent**.

A campaign's status is one of **Draft**, **Scheduled**, **Sending**, **Sent**, **Cancelled** or **Failed**. Only a **Draft** or **Cancelled** campaign can be deleted.

## Reuse a Message with Templates

A template is a saved message you can use in any campaign. Writing a message straight into a campaign also saves it as a template named after the campaign.

Go to **Marketing** → **Campaigns** → **Templates** and click **New template**. Fill in **Template name**, the message and the link, then click **Save draft** to keep working on it or **Publish** to make it usable. **Discard changes** throws away unpublished edits, and **Archive** retires the template.

Campaigns send the published version of a template. A scheduled campaign keeps the message it had when it was scheduled, so later edits to the template do not change it. To change the message, **Unschedule** the campaign first.

## Read the Results

Open a campaign from the **Campaigns** list to see how it went:

| Number | What it counts |
| - | - |
| Audience | Devices the campaign was going to, when it started sending |
| Sent | Notifications accepted for sending |
| Delivered | Notifications Apple or Google confirmed they received for the phone |
| Opened | Notifications a customer tapped, with the share of Delivered, for example `281 (2.1%)` |
| Skipped | Devices left out at send time: the customer opted out of marketing notifications, notifications were turned off, or the customer account was removed |
| Failed | Notifications that could not be sent, usually because the app is no longer on that phone |

**Opened** counts each notification once, however many times it is tapped. It counts only taps made in an up-to-date version of the app, so customers who haven't updated are not included. Taps can take a few minutes to show. If the number shows `—`, opens couldn't be loaded; reload the page later. **Opened** is shown for push campaigns only.

## Other Ways to Send Pushes

If you already run your marketing in Klaviyo, you can send push campaigns to your app from there instead. See [Setting Up Klaviyo Push Notifications](https://storekit.com/docs/guides/integrations/marketing/klaviyo/push-setup.md). Klaviyo campaigns and their results stay in Klaviyo; they don't appear under **Campaigns**.

> [card] [App Links](https://storekit.com/docs/app-studio/deep-links.md)
>
> The screens a notification tap can open, and links you can send anywhere.

> [card] [Native Apps](https://storekit.com/docs/app-studio/introduction.md)
>
> What your app contains and what changes without a new release.


## Related topics

- [Klaviyo for Native Apps](https://storekit.com/docs/guides/integrations/marketing/klaviyo/native-apps.md)
- [Native Apps](https://storekit.com/docs/app-studio/introduction.md)
- [Setting Up Klaviyo Push Notifications](https://storekit.com/docs/guides/integrations/marketing/klaviyo/push-setup.md)
- [Troubleshooting Klaviyo](https://storekit.com/docs/guides/integrations/marketing/klaviyo/troubleshooting.md)
- [Airship](https://storekit.com/docs/guides/integrations/marketing/airship.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.