
Send screen: filter your subscribers by campaign, location, role or device, select the recipients, and compose a rich notification.
Send web push notifications to your visitors’ browsers and devices using Firebase Cloud Messaging (FCM HTTP v1). Visitors opt in from the frontend with a single toggle button; from there you can notify them manually, automatically in response to any WordPress or plugin event, or through scheduled and recurring campaigns with click and conversion analytics. There is no limit on how many subscribers you collect.
You pick one in Settings Connection and can switch at any time. The managed service is preselected on a new install, but it stays entirely inactive until you ask for a license: nothing leaves your site before you click.
subscribed / unsubscribed CSS classes.icfp:external-subscribe JavaScript event..json file (file picker or drag & drop) from the Push Templates screen; duplicate and near-duplicate templates are detected on import.Scheduled and recurring campaigns run through WP-Cron, a server crontab, or an external service such as cron-job.org calling the plugin’s cron endpoint.
No coding required for the core experience — shortcodes, visual template editors and point-and-click settings get you running. For teams who want to go further:
ICodePlugins\FirebasePush\API) for sending, managing subscribers and reading metrics.icfp/v1 (usable with WordPress Application Passwords) to send notifications, run campaigns, read metrics and manage subscribers.icfp_subscriber_recorded, icfp_save_subscriber, icfp_delete_subscriber, icfp_rest_capability, icfp_webpush_urgency, and more..pot is included in /languages; translations are provided via translate.wordpress.org).[icodeplugins_firebase_subscribe_btn] — the subscribe/unsubscribe toggle button. Optional attributes: label, class, parent (CSS selector to move the button into), modal (target a specific modal template by ID or slug).[icodeplugins_firebase_subscribe_feedback] — the feedback region. Optional attributes: class, parent, display = inline (default), toast, or both.[icodeplugins_firebase_subscribe_assets] — loads the subscription assets on a page that renders its own custom subscribe UI.[icodeplugins_notification_preferences] — the subscriber preference center.Subscriptions are created in the browser using the Firebase JavaScript SDK and a Web Push VAPID key; the resulting FCM device token is stored in your site database, together with whichever optional fields you chose to collect.
Delivery then follows whichever connection method you chose. In managed mode the site forwards the message to the NotifReach service, which delivers it to FCM on your behalf using its own Google account — so you never create one. In self-hosted mode the site authenticates to Google with your own OAuth2 client and calls the FCM HTTP v1 API directly, and no other service is involved at any point.
Web push cannot work without a push service: the browser vendors require one, and this plugin uses Google Firebase Cloud Messaging (FCM) — through the Firebase project you own and configure, or, if you choose the managed connection method, through the one operated by ICodePlugins. Two further services (OpenStreetMap) are used only by the optional Subscribers Map.
This plugin connects to the following third-party services.
1. Firebase Cloud Messaging — HTTP v1 API (Google)
Hosts: https://fcm.googleapis.com
What it is / why: the push service that actually delivers notifications to your subscribers’ browsers. It is required for the plugin to send anything at all.
Data sent, and when: every time a notification is sent (manually, by a campaign, or by a hook-triggered template), the plugin sends the message content (title, body, icon/badge/image URLs, click URL, action buttons) together with the recipient’s FCM device token. No other subscriber data (email, phone, name, coordinates) is ever sent.
Terms of service: https://firebase.google.com/terms/ — Privacy policy: https://policies.google.com/privacy
2. Google OAuth 2.0 / Google APIs (Google)
Hosts: https://accounts.google.com, https://oauth2.googleapis.com, https://www.googleapis.com
What it is / why: authenticates your site to your own Firebase project, so it can call the FCM API above.
Data sent, and when: when the administrator clicks “Connect Google Account” (browser redirect to Google), then whenever an access token must be issued or refreshed before a send, and once more if the administrator clicks “Disconnect” (token revocation). Only your own OAuth client ID/secret and the authorization/refresh tokens are exchanged. No subscriber data is involved.
Terms of service: https://policies.google.com/terms — Privacy policy: https://policies.google.com/privacy
3. Firebase JavaScript SDK (Google)
Hosts: https://firebaseinstallations.googleapis.com, https://fcmregistrations.googleapis.com (contacted by the SDK; the SDK files themselves are bundled with the plugin and served from your own domain).
What it is / why: runs in the visitor’s browser and in the service worker to register the browser with FCM and obtain the device token that identifies it.
Data sent, and when: only when a visitor chooses to subscribe (and afterwards, if the browser rotates the token). The browser sends your Firebase project identifiers, your Web Push VAPID public key and the browser’s push subscription details to Google. Nothing is sent for visitors who never subscribe.
Terms of service: https://firebase.google.com/terms/ — Privacy policy: https://policies.google.com/privacy
4. Nominatim — reverse geocoding (OpenStreetMap Foundation)
Host: https://nominatim.openstreetmap.org
What it is / why: turns the coordinates a subscriber agreed to share into a readable address (country, region, postcode) for the optional Subscribers Map.
Data sent, and when: only if a visitor explicitly grants the browser’s location permission when subscribing. The plugin then sends those coordinates (latitude/longitude) and an identifying User-Agent, once per subscriber. If permission is denied — or the browser prompt is dismissed — nothing is collected and nothing is sent. No personal detail (email, phone, name, device token) is sent.
Terms of service: https://osmfoundation.org/wiki/Terms_of_Use — Nominatim usage policy: https://operations.osmfoundation.org/policies/nominatim/ — Privacy policy: https://osmfoundation.org/wiki/Privacy_Policy
5. OpenStreetMap map tiles (OpenStreetMap Foundation)
Host: https://tile.openstreetmap.org
What it is / why: supplies the background map images of the Subscribers Map screen. (The map library, Leaflet, is bundled with the plugin — it is not loaded from a CDN.)
Data sent, and when: only when an administrator opens the Subscribers Map admin screen, and only what any image request carries — the administrator’s IP address and browser user-agent. No visitor or subscriber data is sent. No tile is requested on the front end.
Tile usage policy: https://operations.osmfoundation.org/policies/tiles/ — Privacy policy: https://osmfoundation.org/wiki/Privacy_Policy
6. NotifReach notification service (ICodePlugins) — managed connection method only
Host: https://wpwpnpluginserver.icodeplugins.com
What it is / why: the optional managed sending service operated by ICodePlugins, which delivers your notifications to FCM on your behalf so you do not have to create a Google Cloud project or a Firebase project. It is used only if you select the managed connection method in Settings Connection.
Data sent, and when:
* when the administrator clicks “Get my free license” — this site’s address, the email address the administrator typed in that form, and a random secret generated by this site to prove later requests come from it;
* when the administrator clicks “Connect to service” — this site’s address and the license key;
* every time a notification is sent while the managed method is active — the message content (title, body, icon/badge/image URLs, click URL, action buttons) and the recipient’s FCM device token. No other subscriber data (email, phone, name, coordinates) is ever sent;
* on a periodic service health check — only the access token the service issued to this site.
No request is made to this service unless the administrator selects the managed method and clicks one of those buttons. In self-hosted mode the plugin never contacts it, and disconnecting stops it entirely.
Terms of service: https://icodeplugins.com/en/terms/ — Privacy policy: https://icodeplugins.com/en/privacy-policy/
Please make sure your site’s privacy policy reflects the use of Firebase/Google (and OpenStreetMap, if you enable the Subscribers Map).
Included in the Pro version: