PushAI turns your WordPress site into a re-engagement channel. Visitors subscribe with a single click, and you reach them directly in their browser — even when your site is closed — using the native Web Push standard. There is no third-party SDK, no per-subscriber pricing, and no external delivery service: notifications are sent straight from your own server using your own VAPID credentials, which PushAI generates automatically.
Everything lives on your site. Subscribers are stored in your own database, delivery runs through a background queue so large sends never block your site, and every push link is automatically tagged with UTM parameters so the traffic shows up correctly in Google Analytics and your other reporting tools. The free plugin already covers the full lifecycle — subscribe button, automatic new-post notifications, a manual composer, per-user targeting, delivery history, and GDPR export/erasure.
PushAI is device-aware. When a logged-in visitor subscribes, PushAI keeps one active subscription per device type — one for mobile and one for desktop — so the same person can opt in independently on their phone and on their computer and receive each notification on whichever devices they enabled. Stale and duplicate subscriptions are pruned automatically.
PushAI Pro builds on this foundation with the three features self-hosted push plugins almost never offer out of the box: AI-summarized post digests (powered by OpenAI, Google Gemini, xAI Grok, DeepSeek, or any OpenRouter model — with a template fallback so digests always work), deep WooCommerce automation (order and stock alerts, order-status updates, abandoned-cart reminders, cross-sell follow-ups, and trending-product pushes), and a built-in Progressive Web App (PWA) that adds an installable web-app manifest and service worker so visitors can install your site to their home screen.
Actively developed. PushAI is under continuous, active development. New automations, AI providers, and WooCommerce flows ship regularly, and every release is documented in the changelog below. Feature requests and feedback directly shape the roadmap — this is a living plugin, not a frozen one.
PushAI keeps your push notifications self-hosted, so the parts that usually cost you money and control stay on your side:
utm_source, utm_medium, and a source-aware utm_campaign so clicks are attributed in your analytics. Filterable, and can be disabled.Both plans include unlimited subscribers and unlimited notifications, the self-hosted setup, and the developer API. Pro adds automation, AI digests, WooCommerce, the built-in PWA, and analytics on top of the free feature set. The full breakdown is below; you only pay for the automation and AI features.
PushAI is developed and maintained by PushAI.
Place a subscribe button anywhere with:
[pushai_button]
Optional attributes:
label — default button text.on — text shown after notifications are enabled.blocked — text shown when the visitor has blocked notifications.align — left, center, or right.class — extra CSS classes.Example:
[pushai_button label="Enable browser notifications" align="center"]
In PHP templates:
<?php echo do_shortcode( '[pushai_button]' ); ?>
The shortcode is also shown on the PushAI Settings screen with a copy button.
Queue a notification from a theme or plugin:
pushai_trigger_notification( array(
'title' => 'Title',
'body' => 'Message',
'url' => home_url( '/' ),
'image' => '',
) );
The same notification can be triggered with a WordPress action:
do_action( 'pushai_send_notification', array(
'title' => 'Title',
'body' => 'Message',
'url' => home_url( '/' ),
) );
By default a notification is delivered to every active subscription. To send it to specific WordPress users instead, pass target_user_id (a single user) or target_user_ids (an array of users). Only subscriptions tied to those user accounts receive the message.
Send to one user:
pushai_trigger_notification( array(
'title' => 'Your order shipped',
'body' => 'Track it from your account.',
'url' => home_url( '/my-account/' ),
'target_user_id' => 123,
) );
Send to several users:
pushai_trigger_notification( array(
'title' => 'Members-only update',
'body' => 'A new perk is available.',
'target_user_ids' => array( 12, 45, 78 ),
) );
Notes on targeting:
WP_Error instead of being broadcast to everyone.title (required) — notification heading.body (required) — notification message.url — link opened when the notification is clicked. Defaults to the site home URL. UTM parameters are appended automatically.image — image URL shown in the notification.target_user_id — a single WordPress user ID to deliver to.target_user_ids — an array of WordPress user IDs to deliver to.source_type — a short label describing what triggered the notification (for example post, manual, or developer). Metadata only: it is stored with the record, shown in the admin history, used by the source index, and used to build the utm_campaign value — it does not affect who receives the message. Defaults to developer.source_id — the ID of the object that triggered the notification, paired with source_type (for example the post ID for a post source). Also metadata only and not a recipient — use target_user_id/target_user_ids to choose recipients. Defaults to 0.Available hooks:
pushai_should_create_post_notification — filter whether a published post creates a notification.pushai_should_send_to_subscription — filter, per subscription, whether it should receive a given notification.pushai_notification_payload — filter the payload sent to the browser.pushai_utm_parameters — filter (or disable) the UTM parameters appended to push links.pushai_notification_queued — fires after a notification is queued.pushai_notification_failed — fires when a notification fails to send.pushai_notification_delivery_completed — fires after a delivery batch finishes, with success/failed/expired counts.pushai_loaded — fires once PushAI has initialized its services.PushAI bundles the following open-source libraries in its vendor/ directory. All are MIT-licensed and GPL-compatible.
PushAI communicates with two categories of external services. No personal data is sent without user action.
When a visitor subscribes and a notification is delivered, the encrypted push payload is sent directly from your server to the browser’s native push service:
This is the Web Push standard (RFC 8030). Only the encrypted notification payload (title, body, URL, optional image) is transmitted; the subscriber’s email address or identity is never sent. You control the VAPID keys used to sign each push.
Sites with a PushAI Pro license send license key verification requests to the PushAI license server at wpushai.com. This happens:
The request includes your site URL (so the license can be validated against the registered domain) and the license key. No personal data beyond these two values is transmitted. PushAI Privacy Policy