Description
This plugin shows you the abandoned forms — the ones that were never sent. It watches field activity on the forms you already have, and the moment a visitor who was genuinely typing leaves the page or goes idle without submitting, it records what they had entered so far.
- Catches real abandonment, not noise — a visitor has to actually type something recognizable as input before a leave or a long idle period counts as an abandoned attempt; accidental page loads and bot traffic don’t pollute the data.
- Only leads you can follow up on — optionally record an attempt only when the visitor left a complete email address or a phone number, so a visitor who typed just their name doesn’t clutter the list.
- Per-form breakdown — a dedicated “Abandoned Forms” screen under Contact Form 7’s own menu lists every tracked form with its totals (last 7 days, last 30 days, all time), drilling down into the actual field values captured for that form.
- Encrypted at rest — captured field values are stored AES-256-GCM encrypted in their own database table, not in plain text.
- Privacy-aware — integrates with WordPress’s built-in Personal Data Export/Erase tools, so a GDPR request against a matching email address covers abandoned-form data too. A configurable retention period (default 60 days) deletes old events automatically every day.
- Your data stays on your site — the free version makes no outgoing requests of its own; everything is stored locally and shown only to users with the right capability.
A note on scope
This plugin requires Contact Form 7 to be active — it has nothing to track without it.
Pro version
RowanWeb Abandoned Forms for Contact Form 7 Pro is a separate, paid version. Everything described above works fully in this free plugin; Pro adds tools for actually following up on abandoned attempts:
- Trend chart — a 30-day line chart of abandoned events, for all forms combined or any one form, right on the same screen as the data.
- CSV export — download a form’s abandoned events, including every captured field, as a spreadsheet-ready CSV file.
- Webhook notifications — get notified the moment someone abandons a tracked form, via Mattermost/Slack, Telegram, Discord, or a generic JSON webhook of your own. Delivery is asynchronous, so a visitor’s browser never waits on it.
External services
This plugin connects to the following third-party service. Nothing else is sent anywhere by the free version.
Freemius (optional opt-in, licensing and updates of the Pro version)
The plugin includes the Freemius SDK, which handles the separate Pro version’s licensing and updates. In this free version, Freemius only shows an optional opt-in screen after activation.
- When: only if you choose to opt in (or activate a Pro license).
- What is sent: your site URL, WordPress and PHP versions, plugin version, site language, and the admin’s name and email address, plus plugin activation/deactivation/uninstall events. If you skip the opt-in, nothing is sent.
- Freemius Terms of Service, Privacy Policy and details on what is collected.
Support
Questions, bug reports or feature requests: the plugin’s support forum on WordPress.org, or https://rowan-web.ru/en/
Screenshots


Installation
- Make sure Contact Form 7 is installed and active.
- Upload the
rowanweb-abandoned-forms-for-contact-form-7folder to/wp-content/plugins/, or install the ZIP via Plugins Add New Upload. - Activate the plugin.
- Open Contact Abandoned Forms to see captured data as it comes in; adjust the retention period under its Settings tab if needed.
FAQ
-
Does this work without Contact Form 7?
-
No — the plugin hooks directly into Contact Form 7’s own forms and does nothing without it active (declared as a dependency, so WordPress will flag it if CF7 isn’t active).
-
What counts as “abandoned”?
-
A visitor who has typed something recognizable as real input into a form’s fields, then either leaves the page, closes the tab, or goes idle for a while without submitting. Loading a form and leaving immediately, without typing anything, isn’t recorded.
-
Is the data safe?
-
Captured field values are encrypted (AES-256-GCM) in their own database table, decrypted only when an authorized admin views them. A contact is pseudonymized internally through a hashed, site-specific identifier rather than stored as a plain lookup key.
-
Does this send any of my data anywhere?
-
No. The free version makes no outgoing connections of its own — everything is stored in your own database and shown only inside your own admin area. The only exception is listed under “External services” below, and it’s off until you opt in.
-
How long is the data kept?
-
60 days by default, deleted automatically every day; configurable from 1 day up to 10 years on the Settings tab. Lower it if you only need the data for a quick follow-up; raise it if you want a longer history.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“RowanWeb Abandoned Forms for Contact Form 7” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “RowanWeb Abandoned Forms for Contact Form 7” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
0.1.1
- New per-form option: only record attempts where the visitor left an email address or phone number. Detected by value in any typed field, so phone numbers in plain text fields count too.
0.1.0
- Initial release: abandoned-submission tracking for Contact Form 7, encrypted storage, per-form admin screen with bulk delete, configurable retention, GDPR personal-data export/erase integration, and a Pro tier (trend chart, CSV export, Mattermost/Slack/Telegram/Discord/generic webhook notifications).
