On May 25, 2018, the EU Parliament is going to start enforcing the General Data Protection Regulation, commonly referred to as GDPR. It requires businesses to protect the personal data and privacy of EU citizens for transactions that occur within EU member states, along with regulating the exportation of personal data outside the EU.
This personal data can include basic information such as a person’s name, email address and location along with their IP address, cookie data and more.
One of the recommended ways to handle GDPR compliance is to not store any personal data to the database.
Due to Gravity Forms’ handling of user-submitted data and how its Add-Ons interact with it, preventing a form entry from being saved to the database could cause multiple issues:
- Any files that were uploaded with the entry are immediately lost.
- User Registration Add-On requires an entry to remain in the database while there is a pending user registration against it.
- If you send the form entry data to a third party upon submission (MailChimp, Help Scout, Agile CRM, etc) and that third party’s API is down, you’ll have no way to re-capture that lead once the service is back up and the form entry is not in the database.
- Add-Ons that do asynchronous processing (Dropbox, Webhooks) will be unable to run as the entry they are processing will not exist.
However, with Entry Automation, we can automatically remove old Gravity Forms entries once we no longer need them.
Scheduling Automatic Entry Deletion
- After installing and activating the Entry Automation for Gravity Forms plugin, go to the Gravity Forms Forms list in the WordPress admin. Hover over the form you want to setup automatic entry deletion for and click “Entry Automation” in the Settings drop down.
- You’ll now see the list of Entry Automation tasks setup for your form. Click the “Add New” button to add a new Entry Automation task.
- Enter in a name for this Entry Automation task and select the “Delete Entries” action.
- Select when you want the task to run for the first time by clicking on the underlined date and choosing a date and time.
- Enter in how often you want this task to run after the first run time in the *Run Task Every* field. If you have the task start running on Monday and want it to run every Monday afterward, set the Run Task Every value to 7 days.
- Next, we need to set the date range for what entries will be automatically deleted. If you leave the From and To date ranges empty, it will delete all of the entries found for the form.
The date ranges allow for setting times relative to when the task is being run using basic English phrases. If you want to delete all entries that were submitted since the last time the task was run, 7 days ago, you would enter 7 days into the To date range. This would delete all entries submitted up until 7 days ago.
When entering a time into the From or To date range field, you will see a preview of what time will be used relative to the next time the task runs.
- You can also use Gravity Forms’ conditional logic feature to be more precise about which entries to automatically delete.
- Click the Update Settings button and you’re done! Now all of your old form entry data will be automatically removed from your site.
Exporting Entries Prior To Deletion
In this article, we’re only going to cover how to automatically delete old Gravity Forms entries. However, prior to deletion, it might be helpful to export a copy of the entries in case you need to reference them in the future. You can learn more about how to automatically export Gravity Forms form entries in this article.