HomeGuides › Keeping every entry

Personal data requests for contact form entries in WordPress

WordPress has built-in tools under Tools → Export Personal Data and Tools → Erase Personal Data. They only find what plugins register with them. A contact form plugin that stores entries should register both an exporter and an eraser, keyed on the email address, so one request covers the form too.

How the WordPress tools work

You enter the person's email address and send them a confirmation link. Once they confirm, you can download a file of their data or erase it. Each plugin that stores personal data adds its own part to that file — if it has registered an exporter — and deletes its own records when you erase, if it has registered an eraser.

Why many form plugins fall short

Plugins that store entries as posts or in their own tables don't automatically appear in these tools. If the form plugin hasn't registered, the export comes back without the enquiries, and the erase leaves them behind — which is the opposite of what the request asked for.

What Mailbag does

Mailbag Contact Form registers both. Entries are indexed by the email address in them, so an export lists every entry that address sent, with the form and date, and an erase deletes them. Each deletion is also announced to add-ons, so Mailbag Pro drops the entry from its retry queue.

Two more things help you keep requests small: visitors' IP addresses aren't stored by default, and a retention period deletes old entries on its own. Mailbag also offers suggested text for your privacy policy page, in WordPress' privacy policy guide.

Handling a request, step by step

  1. Go to Tools → Export Personal Data (or Erase), enter the address and send the request.
  2. When the person confirms, download the export or run the erase.
  3. Remember data outside WordPress: notification emails in your inbox, and any service the entries were sent on to — a newsletter or CRM keeps its own copy and has its own deletion tools.

Mailbag Contact Form is a free contact form that saves every entry before it sends anything, and shows you what happened to each email.

See what it does