Privacy and Data Retention #
Requires Preferred license. Applies to PetMatchPro 8.7.0 and later.
PetMatchPro’s built-in analytics are designed to give shelter operators useful insight into how visitors browse adoptable animals, while collecting the minimum information necessary. This article describes exactly what is stored, what is not, and how to answer board or compliance questions about visitor privacy.
What Is Stored #
Each event row in the analytics events table contains:
| Field | Example | Purpose |
|---|---|---|
| Event type | impression, detail_view, action_click |
What happened |
| Animal ID, name, species | A12345, Bella, Dog |
Which animal the event relates to |
| Method type | adopt, lost, found |
Which program the animal belongs to |
| Position | 3 |
Where the animal appeared in search results |
| Source | search, similar, direct |
How the visitor reached the detail page |
| Page URL | https://example.org/adoptable-dogs/?species=dog |
Where the event occurred (no query-string secrets – PetMatchPro shortcodes do not produce any) |
| Session ID | UUID like 9c8e... |
Anonymous browser-session identifier (random UUID, not tied to user accounts) |
| User-Agent | Mozilla/5.0 ... |
Browser/OS family for device-type analysis |
| IP hash | SHA-256 hex string | One-way hash of the visitor’s IP, salted with your WordPress auth key. Used for unique-visitor estimates only – the original IP is never stored and cannot be recovered from the hash |
| Timestamp | UTC datetime | When the event happened |
What Is Not Stored #
- No raw IP addresses. The IP is hashed at capture time using SHA-256 with a per-site salt. The hash cannot be reversed.
- No personally identifying information. No names, email addresses, phone numbers, or contact details from your visitors. The “animal name” stored is the animal’s name (Bella, Rex, etc.), not the visitor’s.
- No WordPress account information. Even if a logged-in WordPress user triggers an event, their account details are not associated with the analytics row. The session ID is random and recycles per browser session.
- No cross-site tracking. Analytics data lives only in your WordPress database. PetMatchPro does not send analytics to Anthropic, the plugin author, or any third party. (Google Analytics integration, if you enable it separately on the SEO Settings card, has its own data flow – that is Google’s product, not ours.)
- No cookies for analytics measurement. The session ID lives in the visitor’s browser and is sent with each event, but it is not used to follow them across sessions or sites.
Data Retention #
You control how long event data is kept. Configure it under PetMatchPro > Analytics > Tracking Settings > Data Retention:
- 30 days
- 60 days
- 90 days (default)
- 180 days
- 365 days
- Forever
Rows older than the retention window are automatically deleted by a daily cleanup task. The dashboard shows data only within the retention window, so longer windows give you more historical comparison capacity at the cost of more rows in your database.
You can also clear all analytics data immediately from Analytics > Data Management > Clear Analytics Data. This is irreversible. The button performs a fully fresh reset:
- Truncates the raw event table (
wp_pmp_analytics_events). - Truncates the daily summary table (
wp_pmp_analytics_daily) so the dashboard immediately reflects the cleared state without waiting for the next rollup. - Drops the in-progress impression queue (any events buffered but not yet flushed are discarded).
- Drops the cron-self-test marker options so the next test starts from scratch.
The database schema itself stays in place, so you can resume tracking immediately – new events start writing to clean tables.
GDPR and CCPA Considerations #
This is general information, not legal advice. Your local privacy regulations may impose specific requirements; consult your shelter’s legal counsel.
That said, the privacy posture above is designed to minimize compliance burden:
- No personal data is collected in the GDPR sense. Hashed IPs are widely accepted as non-personal under most interpretations, though some regulators have argued otherwise. If your jurisdiction is strict, choose a shorter retention window (30 days) and document the hashing process in your privacy policy.
- No consent banner is strictly required for the analytics described here, because no personal-data cookies are used and no third party is involved. If your site already shows a cookie banner for other reasons (Google Analytics, ad tracking), that banner can mention “site analytics” without needing PetMatchPro-specific opt-in flows.
- Right to erasure is satisfied by the Clear Analytics Data button. If a visitor identifies themselves and requests deletion, you can either clear all analytics for the relevant time window or use SQL to remove rows by session ID (visitors can find their session ID in their browser’s developer tools if you instruct them how).
Exporting and Reviewing Data #
You can export the full events table at any time from Analytics > Data Management > Export Analytics Data. The export is a CSV file containing every column described in What Is Stored above.
Export is useful for:
- Independent analysis in Excel, Google Sheets, or BI tools.
- Creating backups before clearing data.
- Responding to data-subject access requests (provide the rows matching the visitor’s session ID).
- Long-term archival in your shelter’s records system.
Next Steps #
- Understanding PMP Analytics – What the dashboard shows you
- WP-Cron Requirement – The pipeline that delivers data to the dashboard
- Queue Health and Tools – Operational diagnostics