Main Header

Capture an event.
Route it anywhere.

Capture events anywhere in your WordPress code and send them to the tools you already use. Route, filter, and debug without slowing down your site.

animated diagram placeholder

diagram placeholder

One event. Unlimited possibilities.

Capture once. Decide later.
SignalPress lets you capture events anywhere in your WordPress code, then route them to one or many destinations without changing your application.

Every event passes through a fast asynchronous queue where routing rules decide exactly where it goes. Send checkout events to Slack, errors to Better Stack, analytics to PostHog, or fan out to multiple services simultaneously.

As your workflow evolves, update your routing—not your code.

One API. Two languages.

Capture events from PHP and JavaScript using the same simple API.

PHP

Start capturing server-side events in seconds.

				
					// Send a basic event
sp_capture('checkout_completed',
    [
        'order_id' => 123,
        'total'    => 49.95,
    ]
);
				
			

Capture completed orders with a single WooCommerce hook.

				
					// WooCommerce order completed hook.
add_action( 'woocommerce_order_status_completed', function ( $order_id ) {
    $order = wc_get_order( $order_id );

    if ( ! $order ) {
        return;
    }

    sp_capture(
        'checkout_completed',
        [
            'order_id' => $order->get_id(),
            'total'    => $order->get_total(),
            'currency' => $order->get_currency(),
        ],
        [
            'source'      => 'woocommerce',
            'distinct_id' => (string) $order->get_customer_id(),
            'services' => [ 'slack', 'posthog', 'email' ]
        ]
    );
} );
				
			

Build custom payloads that match your application.

				
					// Capture custom application data
sp_capture(
    'subscription_upgraded',
    [
        'user_id'     => 42,
        'plan'        => 'pro',
        'previous'    => 'plus',
        'price'       => 149.00,
        'billing'     => 'annual',
        'coupon'      => 'SUMMER25',
        'upgraded_at' => current_time( 'mysql' ),
    ],
    [
        'source'      => 'membership',
        'distinct_id' => 'user-42',
        'services'    => [ 'datadog', 'teams', 'local' ],
    ]
);
				
			

JavaScript

Get up and running with a single function call.

				
					// Your first event
SignalPress.capture('checkout_completed', 
    {
    	'order_id': 123,
        'total': 49.95,
    }
);
				
			

Capture user interactions as they happen.

				
					// Capture a CTA button click
document.querySelector('#get-started').addEventListener('click', function () {
	SignalPress.capture(
		'cta_clicked',
		{
			level: 'info',
			button: 'get-started',
			page: window.location.pathname,
		},
		{
			source: 'marketing-site',
		}
	);
});
				
			

Send custom application data with every event.

				
					// Send a custom application payload
SignalPress.capture(
	'demo_form_submitted',
	{
		level: 'info',
		plan: 'pro',
		team_size: 12,
		features: [ 'slack', 'routing', 'queue' ],
		referrer: document.referrer || 'direct',
	},
	{
		source: 'signup-form',
		distinct_id: 'visitor-abc123',
		services: [ 'slack', 'posthog', 'email' ],
	}
);
				
			

Works with the tools you already use.

Connect SignalPress to the analytics, monitoring, messaging, and automation tools your team already uses. Capture an event once, then route it wherever your workflow needs it.

Don't see the integration you need?
We're adding new integrations regularly.