Before You Start
- Your app is live, or being built, with storekit. See Native Apps.
- Your ordering website is already connected to Klaviyo. The app uses the same Klaviyo account and the same Public API key / Site ID.
- You can sign in to the Apple Developer account your app is published under, with the Account Holder or Admin role. Other roles cannot create push keys.
- You can sign in to the Google account you use for Google Play, to create a Firebase project.
- Ask storekit support for your app’s bundle ID (iPhone) and package name (Android). They are usually the same, for example
com.yourbrand.app.
Order updates (accepted, ready, on the way) already work without any of this. These steps are only for marketing pushes sent from Klaviyo.
Set Up iPhone Push
1
Check the app has the Push Notifications capability
In the Apple Developer portal, go to Certificates, Identifiers & Profiles → Identifiers and open your app’s bundle ID. Under Capabilities, Push Notifications should be ticked. storekit’s build turns it on; if it is missing, tick it, click Save and tell storekit support, because the app needs a new build to pick it up.
2
Create an APNs key
Go to Keys and click +. Give the key a name such as “Klaviyo push”, tick Apple Push Notifications service (APNs), and if asked, choose the Sandbox & Production environment. Click Continue, then Register.
3
Download the key and note its details
Click Download to save the
.p8 file. Apple lets you download it only once, so keep it somewhere safe. Note the Key ID shown on the same page, and your Team ID, shown under Membership details in your account.4
Add the key to Klaviyo
In Klaviyo, open your account’s push notification settings and add an iOS app. Enter your app’s bundle ID, the Key ID and Team ID, and upload the
.p8 file.Set Up Android Push
Android pushes go through Google’s Firebase Cloud Messaging, so your app needs its own Firebase project.1
Create a Firebase project
In the Firebase console, create a project for your app, for example “Your Brand App”. Google Analytics is not needed for push.
2
Add your Android app
In the project, add an Android app and enter your app’s package name exactly as storekit gave it to you. Download the
google-services.json file Firebase offers and send it to storekit support. Your app’s next build includes it; without it, Android push does not work.3
Create a service account key
In Firebase go to Project settings → Service accounts and click Generate new private key. This downloads a
.json file. Treat it like a password.4
Add the key to Klaviyo
In Klaviyo’s push notification settings, add an Android app with your package name and upload the service account
.json file.Ask storekit for a Klaviyo Build
Once both platforms are set up in Klaviyo, contact storekit support and say you want Klaviyo push turned on for your app. We:- Connect your app to your Klaviyo account with your Public API key / Site ID.
- Add your
google-services.jsonand make a new build of your app with Klaviyo included. - Submit the new version to the App Store and Google Play.
Klaviyo in-app forms use the same build. Once your app has it, forms can be turned on or off without another release. Ask storekit support.
Test It
1
Install the new version
Install the Klaviyo version of your app on an iPhone and an Android phone, sign in, and allow notifications when asked.
2
Find yourself in Klaviyo
Open your profile in Klaviyo by email. It should show the app’s push token and an Opened App event.
3
Send a test push
Send a push campaign or preview to a test list containing only your profile. Check it arrives on both phones, and that tapping it opens the screen you linked to. Klaviyo records the tap as Opened Push.
4
Check order updates still arrive
Place a test order and check the order notifications still arrive alongside Klaviyo’s.
What Is Not Available Yet
- Images in push notifications and badge counts on the app icon on iPhone.
- Location-based (geofenced) pushes.
Related
Klaviyo for Native Apps
What app activity appears in Klaviyo
Native App Troubleshooting
Missing profiles, app activity and push notifications