Settings: Diagnostics
The Diagnostics tab has three cards: an opt-in toggle to send scrubbed error reports to the developer, a switch controlling whether deleting the plugin also deletes your data, and a table of the most recent errors SSA itself has raised.
Where to find it
Go to Settings → Diagnostics, at admin.php?page=sad-subscription-analytics-settings&tab=diagnostics. It has three cards, in order: Error reporting, Data removal, and Diagnostics (the error table).
Error reporting
| Field | What it does | Default |
|---|---|---|
| Send anonymized error reports to the developer | An opt-in toggle. When on, SSA sends a scrubbed copy of its own PHP errors to the developer's error tracker (Sentry) to help fix bugs faster. Errors keep landing in the Diagnostics table below either way. On screen: "Only errors originating inside this plugin are reported. Aggregate revenue data, customer details, and credentials are never included." Boolean. Sending only happens at all when a developer-configured reporting address is present in the plugin build, which it is today. | On, during the current beta build; the toggle can be switched off at any time. The same checkbox also appears once in the setup wizard's sync step during the beta. |
What each report actually contains: a random event ID, a UTC timestamp, the platform (php), a severity level, the plugin version, the error message, a tag carrying your PHP version, and where in the code it happened (file, line, context such as which sync stage or AJAX action was running). No site URL, site name or WordPress user identity is included.
Before anything is sent, SSA scrubs it: any email address in a message becomes [redacted-email], a Stripe-style secret or restricted key becomes [redacted-key], and any field literally named things like email, password, secret, token, api_key, phone, address or a customer/display name is replaced with [redacted]. The send itself is a short, fire-and-forget request with a 5-second timeout; it never blocks the site and a failure to send is never shown to you.
Data removal
| Field | What it does | Default |
|---|---|---|
| Remove all SSA data when the plugin is deleted | Controls whether deleting the plugin from the Plugins screen also removes everything SSA stored: every SSA database table, every SSA-prefixed option, transient and per-user preference, and its scheduled background jobs. On screen: "Off by default. When on, deleting the plugin permanently drops all SSA tables and settings. Manually entered payments cannot be recovered." Boolean. | Off. |
The Diagnostics table
When empty it reads No errors recorded. Nice and quiet. Otherwise a table lists up to the 100 most recently seen error groups, newest activity first, with these columns.
| Column | What it shows |
|---|---|
| Level | error, warning or notice. |
| Message | The scrubbed error text, same scrubbing rules as the opt-in report above. |
| Location | The file (relative to the plugin folder) and line where it happened, when known. |
| Count | How many times this exact error, at this exact location, has recurred. |
| Last seen | When it most recently happened. |
Errors with the same level, file, line and message share one row: a repeat only bumps the Count and Last seen rather than adding a new line. This grouping is unconditional, so it records whether or not Error reporting is switched on above; only PHP errors and exceptions raised inside SSA's own files are captured here, never another plugin or WordPress core. A Clear all errors button under the table deletes every row on this site with no confirmation prompt; it has no effect on anything already sent to the developer.
What saving does
Both toggles on this tab, Send anonymized error reports and Remove all SSA data, are saved by the sticky Save changes bar shared across the Settings page. Clear all errors is a separate, immediate action: it deletes the stored error rows the moment you press it, whether or not you have unsaved changes elsewhere on the page.