Main Header

Sentry for SignalPress

Updated on July 30, 2026

Use Settings to configure delivery, Routing to select events, Logs to inspect delivery history, and Help for this guide. Routing requires Tier 1; Tier 2 adds request rules. Log visibility, payload previews, and deletion can be delegated separately with Tier 2 role permissions.

Send signals to Sentry for error and event monitoring.

Sentry is a premium SignalPress service. The active license must include service_sentry or *.

Hub service ID: sentry. Index: Integrations Overview. Target from PHP: Service Targeting.

Get the project DSN

  1. Sign in to [Sentry](https://sentry.io/) and open the project that should receive WordPress events.
  2. Go to Settings → Projects → [your project] → Client Keys (DSN).
  3. Copy the HTTPS DSN. It looks like https://@o.ingest.sentry.io/.
  4. In SignalPress, activate Sentry, paste the DSN into the DSN field, and set a Project name.
  5. Optionally enter a Release such as my-site@1.2.3.
  6. Enable the service and save.

Treat the DSN as a secret in server-side contexts. Client-side analytics loads the same DSN in the browser when you enable that channel intentionally.

Self-hosted Sentry works when the DSN host (and optional path) resolve to a Relay-compatible /api/{project_id}/envelope/ endpoint.

Settings fields

Beyond the DSN and optional Release:

  • Default Level — used when an event omits level or sends an invalid level. Defaults to error. Options: debug, info, warning, error, fatal. Event critical maps to fatal.
  • Routing → Routing Minimum Level (Tier 1+) filters events before they reach Sentry. Both layers apply independently.

The connection test sends signalpress_test with level: info explicitly.

Filters

  • signalpress/sentry/payload — adjust the Sentry event payload before envelope construction.
  • signalpress/sentry/envelope — adjust the full envelope sent to Sentry.
  • [Sentry DSN documentation](https://docs.sentry.io/concepts/key-terms/dsn-explainer/)

Test the connection

  1. Keep the Sentry project Issues stream open.
  2. In SignalPress, click Send test signal.
  3. Confirm signalpress_test appears in Sentry.

Send a signal

PHP

sp_capture(
	'payment_provider_failed',
	[
		'message'  => 'The payment provider returned an unexpected response.',
		'level'    => 'error',
		'order_id' => 123,
		'response' => $provider_response,
	],
	[
		'source'   => 'checkout',
		'services' => [ 'sentry' ],
	]
);

Supported levels are debug, info, warning, error, and fatal. critical maps to fatal. An invalid or omitted level uses the service default.

Events are grouped by SignalPress event name and include project/source tags, nested payload under extra, WordPress site metadata, and the optional release.

Browser analytics

When a valid DSN is saved and the service is enabled, the Sentry browser SDK loads automatically.

JavaScript

SignalPress.analytics(
	'checkout_validation_failed',
	{ field: 'email', level: 'warning' },
	{ source: 'checkout-ui' }
);

Optional Web analytics adds automatic browser error and unhandled rejection capture. Analytics events bypass WordPress routing. Use JavaScript capture for server-routed events.

Troubleshooting

  • A disabled test button means DSN or Project has not been saved.
  • HTTP 401 or 403 usually means the DSN public key or project ID is wrong.
  • HTTP 404 can mean the host does not support envelopes or the project path is wrong.
  • Successful ingestion returns a 2xx response.

See [envelope ingestion](https://develop.sentry.dev/sdk/foundations/envelopes/).