Handling GDPR Access and Erasure Requests

Last updated

Revenue First Analytics gives you two ways to answer a GDPR access or erasure request. WordPress’s own Tools > Export Personal Data and Tools > Erase Personal Data include the plugin’s data automatically. The Data subject requests panel in the plugin’s Settings does the same for one email address with an Export data or Delete data button, without creating a WordPress request.

Both routes require an administrator account. There is no public endpoint: a visitor cannot export or delete their own analytics data, you always do it on their behalf. The same also covers CCPA requests.

How does the plugin find a person’s data?

Everything starts from an email address, because that is the only personal identifier the plugin keeps. The lookup works in three steps:

  1. The email is lowercased, trimmed and hashed with WordPress’s wp_hash(). Orders and payments store the buyer’s billing email only as this hash, so the plugin compares hashes, never plaintext.
  2. Form submissions store the submitter’s email in plain text when the visitor had given consent (or in Full tracking), so those are matched directly.
  3. Every visitor ID found on those orders and form submissions is collected, and all sessions, pageviews and events recorded under those visitor IDs are included too.

This means a request can only find data that was linked to the email at some point. A visitor who browsed but never bought or submitted a form with that address has no data the plugin can tie to them, because nothing identifies them. In Privacy mode, or before consent, visitor IDs are daily hashes, so an order links only to the sessions of the day it was placed. See Cookies, Data Stored and Data Retention for what each record contains.

Use the WordPress privacy tools

The plugin registers a personal data exporter and a personal data eraser with WordPress, both named Revenue First Analytics. They run as part of the standard workflow, so if you already handle requests through WordPress, nothing changes.

  1. Go to Tools > Export Personal Data (or Erase Personal Data) in wp-admin.
  2. Enter the requester’s email address and send the confirmation request, or confirm it manually.
  3. Once confirmed, click Download personal data or Erase personal data on the request row. WordPress runs every registered exporter or eraser, including the plugin’s.

The exporter adds five groups to the personal data file:

GroupFields included
Analytics: purchasesDate, amount, currency, product names, channel, referrer source, customer name, customer country
Analytics: form submissionsDate, page, event data (form name, name and email)
Analytics: visitsStart time, entry page, exit page, referrer, channel, country, browser, OS, device type, pageviews
Analytics: pages viewedDate, page path, referrer, UTM source, medium and campaign, country, region, city
Analytics: eventsDate, event name, page, event data

The eraser removes the same records the Delete data button removes (see below) and reports the number of items removed to WordPress. It retains nothing, so the request can be marked as completed.

Use the Data subject requests panel in Settings

For a quicker answer, or to check what the plugin holds before you reply, use the panel at the bottom of the Privacy & GDPR card in Settings.

  1. Open Rev Analytics and click the Settings gear icon in the top bar.
  2. Scroll to Data subject requests in the Privacy & GDPR card and type the email address in the field.
  3. Click Export data to download a JSON file, or Delete data to remove everything. Delete asks you to confirm: “Permanently delete all analytics data for <email>? This cannot be undone.”

The export downloads as rfa-export--.json. It contains the email, the export time, the list of visitor IDs that were matched, and the full rows from each table under revenue, leads, sessions, pageviews and events. The panel then shows a summary such as “Exported 2 purchases, 1 leads, 5 sessions, 23 pageviews, 4 events.” or “No data found for this email.” Delete shows a matching “Deleted …” summary.

What does deleting remove?

Delete data and the WordPress eraser run the same operation. It permanently removes:

  • Every revenue row whose email hash matches, including orders that were never linked to a visit.
  • Every form submission event that stored this email.
  • For every visitor ID found on those rows: all sessions, pageviews, events and any remaining revenue rows.

Note that revenue rows are deleted, not anonymized, so the person’s orders disappear from your revenue reports for those dates. This is different from the daily retention cleanup, which keeps old revenue rows and only blanks the name and email hash. The order itself in WooCommerce or Easy Digital Downloads is not touched; the plugin only removes its own analytics rows. Goals and funnel definitions are unaffected.

What is your responsibility?

The plugin gives you the tools, but the store is the data controller. Verifying the requester’s identity, answering within the legal deadline and keeping a record of the request are up to you and your advisor. A few practical tips:

  • Check every email address the person may have used; the lookup is exact per address.
  • Export before you delete if you need a copy for your records.
  • Remember that other plugins (WooCommerce, your form plugin, your mail tool) hold their own copies of the same person’s data. The WordPress Tools screens cover every plugin that registers with them.
  • A shorter Data retention period reduces how much raw history a request can return. See Revenue First Analytics Settings Explained for the setting, and Choosing a Privacy Mode if you would rather hold no personal data at all.

Frequently Asked Questions

Can a visitor export or delete their own analytics data?
No. Both the WordPress privacy tools and the Data subject requests panel require an administrator. The plugin has no public endpoint for data subject requests, so you always act on the visitor's behalf.
Why does the export say no data was found for a known customer?
The lookup matches the exact email address, lowercased, against the hashed billing email on orders and the plain email on form submissions. Try the other addresses the person may have used. If their orders are older than your retention period, the email hash has already been removed and they can no longer be matched.
Does deleting analytics data delete the WooCommerce order?
No. The plugin only removes rows from its own analytics tables. The order, payment and customer record in WooCommerce or Easy Digital Downloads are not changed; handle those through WordPress's Erase Personal Data tool, which WooCommerce also supports.
Will deleting a customer change my revenue reports?
Yes. Their revenue rows are deleted outright, so the revenue and order counts for those dates go down. Export first if you want a record of the amounts.
Browse our plugins

Lightweight WooCommerce plugins built for speed. No bloat, no frameworks -- just clean code that works.

View all plugins
Stay in the loop

Get notified when we launch new plugins. No spam, just product updates.