How to keep a copy of every contact form submission
Email alone can lose enquiries. Here's how to keep a copy of every form submission with Flamingo, plugin entries, Google Sheets, a CRM or an alert service.
- Updated
Short answer
Store each submission somewhere besides the notification email: Flamingo for Contact Form 7, your form plugin's own entries, a Google Sheet, a CRM or a form alert service that keeps submissions. Contact Form 7 and WPForms Lite don't save entries to your WordPress database, so on those a lost email can mean a lost enquiry.
Key takeaways
- Contact Form 7 stores nothing itself, so a mail problem can lose enquiries for good.
- Flamingo is a free plugin from Contact Form 7's author that saves every message to the WordPress database.
- Gravity Forms and paid WPForms plans keep entries, but WPForms Lite only backs them up to WPForms' servers.
- A copy outside the website, such as a Google Sheet or CRM, survives a hacked or broken site.
- Keep submissions only as long as you need them, and say how long in your privacy notice.
On this page
- Why isn't the notification email enough?
- What are the ways to keep a copy?
- How to save Contact Form 7 submissions with Flamingo
- What about WPForms, Gravity Forms and other plugins?
- Is a shared inbox good enough?
- How long should you keep form submissions?
- Where does Formcrier fit?
- FAQ
- Sources and method
Why isn't the notification email enough?
Because the email is often the only copy, and email can go missing in several ways. It can be blocked by the receiving server, filed as spam, deleted by mistake, or sit in the inbox of someone who has since left. If the site's mail settings break, every enquiry after that point is lost, and the visitor still sees a thank-you message.
Contact Form 7 is the clearest case. Its own documentation says it doesn't store submitted messages anywhere, so a mail problem can lose messages for good. If your Contact Form 7 emails have stopped, work through the Contact Form 7 checklist first, then come back and add a copy so it can't happen silently again.
A stored copy also makes faults easier to find. If submissions appear in the stored list but not in your inbox, the form works and the problem is email. If they appear in neither, the form itself is broken.
What are the ways to keep a copy?
There are six common ways, and they differ in where the copy lives and who can reach it. Several double as a faster alert, which what a form notification service is covers in more detail.
| Method | Where the copy lives | Cost to start | Best for |
|---|---|---|---|
| Flamingo, for Contact Form 7 | Your WordPress database | Free | Contact Form 7 sites |
| The form plugin's own entries | Your WordPress database | Included in Gravity Forms and paid WPForms | Sites already on those plugins |
| A Google Sheet, through an add-on or automation | Google Sheets | Depends on the add-on or tool | Sharing with people who never log in to WordPress |
| A CRM, such as HubSpot or Pipedrive | The CRM | Depends on the CRM | Businesses that follow up every lead |
| A second email recipient or shared mailbox | Another inbox | Usually free | A quick extra route, not a full record |
| A form notification service that stores submissions | The service's database | Often a free plan | An alert and a short-term copy together |
A copy inside WordPress is the easiest to set up, but it lives and dies with the site. A hacked site, a failed migration or a database restored from last month can take the copies with it, so for anything important it's worth having a second copy somewhere else as well.
If you only do one thing today, make sure your form plugin saves entries: Flamingo for Contact Form 7, or the entries screen your plugin already has. Then add a copy outside the site if losing an enquiry would really cost you, such as a quote request for a big job.
How to save Contact Form 7 submissions with Flamingo
Install Flamingo, a free plugin from the author of Contact Form 7 that saves every message sent through your forms into the WordPress database. It takes a couple of minutes.
-
Install the plugin
In WordPress, go to Plugins, add a new plugin, search for Flamingo by Rock Lobster Inc., then install and activate it.
-
Send a test message
Fill in your contact form as a visitor would. Flamingo needs no settings to start saving.
-
Find the copy
Go to Flamingo → Inbound Messages. Each submission is listed with its subject, sender and date.
-
Leave out forms you don't need
To stop Flamingo storing one form, such as a newsletter sign-up, add do_not_store: true to that form's Additional Settings tab.
Flamingo can't recover anything sent before you activate it, because Contact Form 7 never kept those messages. For forms that ask for consent, Contact Form 7's consent_for:storage option lets the visitor's tick decide whether their message is stored.
What about WPForms, Gravity Forms and other plugins?
Gravity Forms and the paid WPForms plans keep entries already, but the free version of WPForms doesn't. Check your own plugin before assuming there's a copy.
Gravity Forms saves every entry to the database. You'll find them under Forms → Entries, and Forms → Import/Export downloads them as a CSV file.
WPForms Lite doesn't save entries to your WordPress database. Its free Lite Connect feature backs them up to WPForms' own servers for 1 year, and they're restored to your dashboard if you upgrade to a paid licence. It only covers entries sent after you switch it on.
WPForms paid plans, from Basic upwards, include entry management in the dashboard, with exports to Excel, PDF or CSV. The Google Sheets addon needs Pro or higher, at the time of writing [CHECK].
To get a copy into Google Sheets from a plugin without its own addon, an automation tool such as Zapier or Make can add a row for each submission, as long as your form can send to it. A CRM works the same way and adds follow-up reminders on top. Both need someone to set them up and fix them when they break.
A spreadsheet of enquiries is personal data like any other. Share it with named people rather than anyone with the link, and keep it in the business's own Google account, not a freelancer's or a staff member's personal one.
Is a shared inbox good enough?
A shared inbox is a useful second route, but a weak record. Adding a second address, such as a shared enquiries mailbox, means one person's holiday or full inbox doesn't block anything, and it costs nothing. In Contact Form 7, the Additional Headers box on the Mail tab can add a Cc or Bcc line for the second address, and other form plugins have their own recipient settings for the same job.
It relies on the same email that might be failing, though. If the website can't send mail, neither address gets anything. Treat it as a backup to a stored copy, not instead of one, and make sure the address belongs to the business rather than to whoever built the site.
How long should you keep form submissions?
Keep them only as long as you need them. Under UK GDPR's storage limitation principle, the ICO says you must not keep personal data for longer than you need it, and the law sets no fixed period: you decide, and should be able to justify it.
In practice, decide how long an unanswered enquiry is useful to you, write it in your privacy notice, and delete older ones. Flamingo and plugin entries stay until someone removes them, so put a reminder in the diary. Enquiries that become customers move into your normal customer records, with their own retention rules.
Remember that copies multiply. The email, the Flamingo entry, the spreadsheet row and the CRM contact all hold the same details, and if someone asks you to delete their data you'll need to find each one, so keep a note of where the copies go.
Where does Formcrier fit?
Formcrier keeps an encrypted copy of each submission alongside the alert, for the plan's history: Free 7 days, Starter 30 days, Pro 90 days and Agency 1 year. After that they're deleted automatically, so it's a safety net for missed or lost emails, not an archive. You can choose a shorter period; how Formcrier works has the details, and Formcrier for Contact Form 7 shows how it fits with your forms.
Frequently asked questions
No, unless something else saved them. Contact Form 7 doesn't store messages, so only a plugin such as Flamingo, or a service that received a copy at the time, will have them.
Partly. A database backup holds Flamingo or plugin entries, but only as of the backup's date, and restoring it to read one enquiry would undo everything since.
Not usually for answering an enquiry someone sent you, but you must tell people what you keep and for how long in your privacy notice. Ask the ICO or an adviser if you're unsure about your case.
Only the people who need them. Anyone with an administrator account on the site can usually read stored entries, so review who has one, especially after a developer or agency hands the site over.
Sources and method
Plugin behaviour was checked against each plugin's own documentation and WordPress.org pages on 1 Oct 2026. Formcrier's history periods come from its documentation.
- Contact Form 7, Save submitted messages with Flamingo, accessed 1 Oct 2026
- Contact Form 7, Adding Cc, Bcc and other mail headers, accessed 1 Oct 2026
- WordPress.org, Flamingo plugin page, accessed 1 Oct 2026
- Gravity Forms Documentation, Exporting form entries, accessed 1 Oct 2026
- WPForms, Using Lite Connect entry backups in WPForms Lite, accessed 1 Oct 2026
- WPForms, Pricing, accessed 1 Oct 2026
- WPForms, Google Sheets addon, accessed 1 Oct 2026
- ICO, Principle (e): Storage limitation, accessed 1 Oct 2026
Tim builds websites for UK service businesses and made Formcrier after clients kept missing enquiries sent by email.