Import the Subscriptions to Web Push Notifications

The following steps describe how to migrate to Pushpad from another web push notification service.

The migration works for all standard browsers and push services. However, not everything is standard out there — see Issues below.

Import Your Sender and Install Pushpad

First, obtain your VAPID key pair from your previous push service. The key pair is tied to your subscriptions, and you cannot use your existing subscriptions without it.

Next, go to the Pushpad dashboard and create a new sender. When creating the sender, click Advanced options and enter your VAPID private key and VAPID public key. These must be in PEM format — if your keys are plain base64, convert them before importing.

Once the sender is created, follow the normal instructions to install Pushpad on your website.

Import Subscriptions

In most cases, you don’t need to manually import subscriptions. Simply call pushpad('subscribe') from your pages using the JavaScript SDK, and your existing subscribers will be imported to Pushpad automatically when they visit your website.

Users who have already granted permission for push notifications will not see another prompt; their subscription will transfer seamlessly. This method is simple and avoids importing outdated or invalid subscriptions.

If you still wish to manually import subscribers, use the REST API to create the subscriptions.

Issues

I Don’t Have a VAPID Key Pair

Some older or proprietary push services (e.g., those using FCM API keys or shared keys) don’t provide a VAPID key pair.

In this case, you can still set up Pushpad from scratch. New subscriptions will work normally, but existing subscribers will need to resubscribe. You can encourage them with an on-site announcement or email campaign.

I Already Have the VAPID Keys, But in a Different Format

If your keys are in base64 format (common with open source libraries or other push services), convert them to PEM format before importing them into Pushpad.

I Imported the Subscriptions, But Notifications Are Not Delivered

When importing subscribers via the REST API, notifications might take time to start working. This delay happens because user browsers need to update the Service Worker — typically within 24 hours.

However, some browsers only update the Service Worker when the user visits your site again.

Subscriptions Are Associated with a Domain I Don’t Own

You can only import subscriptions associated with your own domain. If subscriptions are tied to something like my-website.my-push-service.com, you cannot transfer them. You will need to start fresh with Pushpad.

A Subscription Does Not Work

If a specific subscription fails, review all of the above troubleshooting steps. If issues persist, reset the browser permission and resubscribe the user.