Getting StartedSite owners and developers

Launch PushWave on your first site

Learn how to create web push notifications with PushWave: add your site, generate VAPID keys, install the service worker, subscribe, and send a test broadcast.

In the app→PushWave → Getting Started

Quick answer: how do you create a web push notification with PushWave?

To create a web push notification with PushWave, add your HTTPS site, generate VAPID keys, install PushWave through the WordPress plugin or the manual SDK, serve the PushWave service worker from your site root, allow notifications in a browser to create a subscriber, run installation verification, and send a test from the Subscribers screen. After that, create a broadcast under Broadcasts.

A web push notification is a short message that a website sends to a visitor who opted in. It appears on the device even when the site is closed, and it needs no app install and no email address.

What you need before you start

HTTPS site
Production web push and service workers require a secure origin. Localhost is the normal development exception.
Access to the site root
The service worker file must be served from the root of your domain, so you need to upload a file there or use the WordPress plugin.
A supported browser
Current Chrome, Edge, Firefox, and Safari support web push. On iPhone and iPad, Safari supports it for sites added to the Home Screen as a web app.
PushWave Public Key
Begins with pk_ and connects your site to PushWave. The Secret Key (sk_) is private and is only needed for server-to-server broadcast management.

Setup sequence

  1. 1

    Open Sites and confirm the site name, HTTPS URL, timezone, and allowed origin.

  2. 2

    Open Getting Started and generate VAPID keys.

  3. 3

    Install the WordPress plugin and connect it with the PushWave URL and Public Key, or use the manual SDK snippet.

  4. 4

    For a manual install, serve /pushwave-sw.js from the root of the subscriber site and make it import the PushWave worker.

  5. 5

    Enable the soft prompt, visit the site in a supported browser, and allow notifications.

  6. 6

    Run installation verification. Site details, VAPID keys, the prompt, and at least one active subscriber should pass.

  7. 7

    Open Subscribers and use Send Test before creating a full broadcast.

Manual installation files

<script
  src="https://app.k2mailer.com/vendor/pushwave/sdk/pushwave-sdk.js"
  data-public-key="pk_YOUR_PUBLIC_KEY"
  data-service-worker="/pushwave-sw.js"></script>

The service worker path matters

The worker file must be served from the root of the subscriber domain. A nested path reduces or prevents the scope needed for push delivery.

WordPress plugin or manual SDK: which should you use?

WordPress plugin
Fastest for WordPress sites. You paste the PushWave URL and Public Key, run Test Connection, and the plugin handles registration. Full steps are in Install PushWave via WordPress or SDK.
Manual SDK
Best for custom sites, static sites, and web apps. You add one script tag to your pages and publish /pushwave-sw.js at the site root.

Create and send your first broadcast

Once Send Test works, open Broadcasts → New Broadcast. The wizard has three steps: Content, Audience, and Delivery. In Content, the title allows 85 characters, the message 135, and the destination URL 1,600. Short, specific copy works best because browsers truncate long text.

In Audience, send to all active subscribers or use a saved segment. In Delivery, choose Send Now, Schedule, Save as Draft, or Send Test. See Create a PushWave broadcast for every option, including UTM parameters, large images, and action buttons.

Tips for better web push opt-in rates

  • Use the soft prompt so visitors see your own explanation before the browser permission dialog appears. A browser block is hard to undo.
  • Ask after the visitor has seen value, for example after reading an article or viewing a product, not on the first page load.
  • Say what you will send, such as order updates, new posts, or price drops, so the permission request is specific.
  • Send fewer, more relevant notifications and segment by country, browser, device, or subscribed page.

Troubleshooting a first setup

No prompt appears
Confirm the soft prompt is enabled, the site is on HTTPS, the SDK script loads on that page, and the browser has not already blocked notifications for the site.
Verification fails on the worker
Open /pushwave-sw.js directly in the browser. It must load from the root and import the PushWave worker. A nested path breaks the scope.
Subscriber count stays at zero
Allow notifications in a supported browser and reload the verification screen. Private windows and blocked permissions will not create a subscriber.
Test does not arrive
Check the operating system and browser notification settings, such as Focus or Do Not Disturb, and confirm the subscriber is active.

Frequently asked questions

What is a web push notification?
It is a message a website sends to a visitor who opted in through the browser. It shows on the desktop or phone even when the site is not open, and it works without a mobile app.
Do I need a mobile app to send web push notifications with PushWave?
No. Web push runs in the browser through a service worker, so you only need your website, VAPID keys, and the PushWave SDK or WordPress plugin.
What are VAPID keys and why does PushWave generate them?
VAPID keys are a public and private key pair that identify your site to browser push services. PushWave generates them for you from Getting Started, and they are verified during installation.
Why must the service worker be at the root of my site?
A service worker can only control pages inside its own path. Serving /pushwave-sw.js from the root gives it scope over the whole site, which push delivery needs.
Does web push work on HTTP sites?
No. Production service workers and web push require HTTPS. Only localhost is allowed over HTTP for development.
Does PushWave work on iPhone?
Safari on iPhone and iPad supports web push for sites that the visitor adds to the Home Screen as a web app. Other browsers on those devices follow the same platform rules.
Should I send a test before a full broadcast?
Yes. Use Send Test on the Subscribers screen to check rendering, links, and delivery on a real device before you notify your whole audience.

Was this guide enough?

Contact support if your screen or result is different.

Contact support