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
- Sign in to [Sentry](https://sentry.io/) and open the project that should receive WordPress events.
- Go to Settings → Projects → [your project] → Client Keys (DSN).
- Copy the HTTPS DSN. It looks like
https://.@o .ingest.sentry.io/ - In SignalPress, activate Sentry, paste the DSN into the DSN field, and set a Project name.
- Optionally enter a Release such as
my-site@1.2.3. - 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
levelor sends an invalid level. Defaults toerror. Options:debug,info,warning,error,fatal. Eventcriticalmaps tofatal. - 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
- Keep the Sentry project Issues stream open.
- In SignalPress, click Send test signal.
- Confirm
signalpress_testappears 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
401or403usually means the DSN public key or project ID is wrong. - HTTP
404can mean the host does not support envelopes or the project path is wrong. - Successful ingestion returns a
2xxresponse.
See [envelope ingestion](https://develop.sentry.dev/sdk/foundations/envelopes/).
What to read next
- Integrations Overview — browse and activate services
- Your First Connection Test — send a test signal and read the log
- Advanced Event Routing — per-service event filters
- Connection Tests and Delivery Log — interpret delivery results
- Service Targeting — limit destinations from PHP or JavaScript
- Client-side analytics — Sentry browser SDK