Main Header

Client-side analytics

Updated on July 30, 2026

Some analytics integrations can load a vendor browser SDK for session identity, automatic page tracking, and direct browser delivery. That path is separate from sending a signal through WordPress.

Use SignalPress.capture() / sp_capture() when JavaScript should route through WordPress and send a signal to any configured service (Slack, webhooks, PostHog server-side, and so on). See JavaScript capture.

Use SignalPress.analytics() when you intentionally want the vendor's browser SDK — not a WordPress-routed signal.

Client API

When a service has loaded its browser SDK, call:

JavaScript

SignalPress.analytics(
	'cta_clicked',
	{
		location: 'homepage',
		buttonText: 'Get Started',
	},
	{
		source: 'marketing-site',
	}
);

signalpressAnalytics() is a shorthand alias.

Behavior

The analytics API:

  • Normalizes event names and validates JSON payloads (1 MB limit)
  • Sends through every loaded analytics adapter for services with browser credentials configured
  • Goes directly to the vendor browser SDK — not through WordPress
  • Does not create delivery-ledger rows or honor PHP routing/request rules
  • Does not reach server-only services such as Slack, Email, or Webhooks

Optional Web analytics (per service) adds automatic pageviews, interaction capture, or vendor-specific browser monitoring without manual calls.

Supported integrations

ServiceBrowser credentialsWeb analytics adds
PostHogProject Token + HostPageviews, page leave, autocapture
MixpanelProject Token (public)Automatic pageviews
GA4Measurement IDgtag pageviews
SentryDSNAutomatic browser error capture
DatadogRUM Application ID + RUM Client TokenRUM session/interaction/resource tracking

Enable browser analytics

  1. Activate the integration on Integrations Overview
  2. Open the service Settings tab and save the required credentials
  3. Optionally enable Web analytics for automatic page or interaction tracking
  4. Confirm the vendor SDK loads on the frontend when credentials are complete

Each integration's Help tab includes copyable SignalPress.analytics() examples.

Web analytics controls automatic vendor tracking only. It is not required for manual SignalPress.analytics() calls when browser credentials are configured.

Server vs analytics

ChannelAPIRoutingDelivery logDestinations
PHPsp_capture()YesYesAll configured services
JavaScript → serverSignalPress.capture()YesYesAll configured services
Browser analytics SDKSignalPress.analytics()NoNoAnalytics adapters only