Description
Contact Form 7 only emails you a submission — if that email lands in spam or never arrives, the lead is gone. Plynto saves every Contact Form 7 submission in your own WordPress database and turns it into a leads dashboard you can actually use: how many leads came in today and this month, which form and which page produced them, and which ad campaign sent the visitor.
It works the moment you activate it. No setup, no account, no external service.
Why Plynto instead of a plain CF7 database plugin?
A database plugin stores entries. Plynto also answers the question every business owner asks: “Is my Google Ads or Facebook money actually bringing enquiries?”
- Contact Form 7 database — every submission, every field and every file upload saved and searchable
- UTM and ad tracking — UTM source, medium, campaign, keyword and content, plus Google (gclid), Facebook (fbclid) and Microsoft (msclkid) click IDs, saved with each lead
- Leads by channel — Google Ads, Facebook / Instagram, organic search, social, email, referral or direct, charted automatically
- Lead pipeline — move each lead from New Contacted Qualified Won or Lost, like a lightweight CRM
- Private notes — log calls, site visits and follow-ups on every lead, with author and time
- Source page tracking — see which landing page, property or project page the lead came from, even for forms inside popups and shortcodes
Dashboard
- Total, this month, today and unread lead counters
- Leads by Form donut chart with clickable legend
- Leads by Channel donut chart
- Lead Pipeline breakdown by stage
- Leads by Project / Page donut chart
- 30-day lead trend graph
- Form × Page breakdown matrix — every cell opens that filtered lead list
- Unread lead count badge in the admin menu
Lead inbox
- Search by name, email, phone or any submitted field
- Filter by form, page, pipeline stage, channel and date range
- Single lead view with every submitted field, file attachments, page URL, IP address, browser and full traffic source (first visit and the visit that led to the enquiry)
- Bulk mark as read, bulk move to stage and bulk delete
- One-click “Reply by email”
CSV export
Export Contact Form 7 entries to CSV, opening cleanly in Excel and Google Sheets. The export follows your current filters and includes stage, channel, UTM source, medium, campaign, landing page and referrer columns. Values are protected against spreadsheet formula injection.
How traffic source tracking works
A small first-party script remembers how each visitor arrived — UTM tags, click IDs, the referring website and the landing page — and attaches it to the lead when a form is submitted, even if that happens several pages or days later. It works behind page caches. Both the first visit and the visit that led to the enquiry are kept.
It uses one cookie, plynto_attr, for 90 days. It can be switched off under Leads Settings, or connected to a cookie consent plugin through the plynto_attribution_enabled filter.
Privacy and your data
- Leads, notes and traffic-source data are stored only in your own WordPress database
- The free plugin makes no outbound requests at all — nothing is sent to any external service
- Uploaded files are copied into your own uploads folder with unguessable file names, in a folder that blocks directory listing and script execution
- Deleting a lead also deletes its copied attachments and notes
- Works with WordPress’s Export Personal Data and Erase Personal Data tools (GDPR), and adds suggested text to your privacy policy guide
Who is it for?
Real estate developers and agents, agencies running Google Ads or Facebook campaigns for clients, coaching and education businesses, clinics, B2B service companies — any site where a Contact Form 7 enquiry is a sales lead.
More form plugins
This free plugin supports Contact Form 7. An optional paid add-on adds WPForms, Gravity Forms, Elementor Forms and Fluent Forms capture, instant email alerts, outgoing webhooks, scheduled summaries, and an inbound endpoint that receives leads from Google Ads lead forms, or from Facebook Lead Ads through Zapier, Make or Pabbly, into the same inbox. The free plugin is complete on its own and never limits how many leads you store.
About the name
“Plynto” is a coined word and a personal project by Mayur Patil; it is not a company or a registered brand, and the plugin claims no domain or website. This plugin is not affiliated with, endorsed by, or connected to Contact Form 7, WPForms, Gravity Forms, Elementor or Fluent Forms. Those names appear only to describe which form plugins submissions can be read from, and all trademarks belong to their respective owners.
Screenshots







Installation
- Go to Plugins Add New, search for “Plynto” and click Install, or upload the plugin folder to
/wp-content/plugins/. - Activate the plugin.
- Make sure Contact Form 7 is active. Go to Leads Settings and confirm Contact Form 7 is ticked (it is by default).
- Submit one of your forms — the lead appears under Leads straight away.
FAQ
-
Does it save Contact Form 7 submissions to the database?
-
Yes. Every submission is saved to your WordPress database, including all fields and uploaded files, even if the notification email fails.
-
Does it import my old submissions?
-
No. Leads are captured from the moment the plugin is active. Existing submissions stored by another plugin are not read.
-
Can I see which Google Ads or Facebook campaign a lead came from?
-
Yes. If the visitor arrived through a link with UTM tags or a Google, Facebook or Microsoft click ID, the campaign details are saved with the lead and the lead is assigned a channel such as Google Ads or Facebook / Instagram.
-
How is a lead’s channel decided?
-
From the visit that led to the enquiry: a Google click ID or a paid Google UTM means Google Ads; a Facebook click ID, a Facebook / Instagram UTM or referrer means Facebook / Instagram; a search engine referrer means organic search; any other website means referral; and no campaign or referrer means direct. Leads captured before version 0.4.0, or with tracking switched off, show as “Not tracked”.
-
Does it work with forms inside popups or shortcodes?
-
Yes. A hidden field records the page the form was rendered on, so the source page is still correct when the referring URL is not.
-
Can I export Contact Form 7 entries to CSV or Excel?
-
Yes. The Export CSV button on the lead list exports exactly the leads matching your current filters, with a UTF-8 file that opens correctly in Excel and Google Sheets.
-
Where are uploaded files stored?
-
In
wp-content/uploads/plynto-leads/YYYY/MM/, with a random prefix on each file name. Contact Form 7 deletes its own temporary uploads after sending, so the plugin copies them first. Deleting a lead deletes its copied files too. -
Does deactivating the plugin delete my leads?
-
No. Deactivating changes nothing. Even deleting the plugin keeps your data unless you tick “Delete all stored leads and uploaded files” in Leads Settings first.
-
Does the plugin send anything to an external server?
-
No. The free version makes no outbound requests at all.
-
Yes, one first-party cookie called
plynto_attr, kept for 90 days, holding only campaign parameters, the referring site and the landing page — no name, email or other form data. Suggested wording for your privacy policy is added to Settings Privacy Policy Guide. If your visitors must opt in to marketing cookies, switch tracking off in Leads Settings or connect it to your consent plugin with theplynto_attribution_enabledfilter. -
What is the difference between “Unread” and the “New” stage?
-
Unread only means nobody has opened the lead yet. The stage is your sales progress: a lead stays at New until you mark it Contacted, Qualified, Won or Lost.
-
Can editors or other roles see the leads?
-
By default only administrators can. Developers can change this with the
plynto_capabilityfilter. Leads Settings stays administrator-only.
Reviews
Contributors & Developers
“Plynto – Leads Database, Dashboard & UTM Tracking for Contact Form 7” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Plynto – Leads Database, Dashboard & UTM Tracking 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.4.2
- Fix: the hidden field Plynto uses to record which page a form was submitted from no longer appears as a column in other Contact Form 7 entry plugins. It now uses Contact Form 7’s reserved
_wpcf7prefix, which those plugins skip.
0.4.1
- Security: Leads Settings now always requires an administrator, even when lead access has been given to another role.
- Security: copied Contact Form 7 attachments get an unguessable file name, every upload sub-folder gets its own index file, and file types a browser could run as a page or script (HTML, SVG, JavaScript, PHP and similar) are never stored.
- Privacy: deleting a lead — one at a time, in bulk, or through a personal data erasure request — now also deletes its copied attachments.
- Fixed: invalid dates in the lead list date filter are ignored instead of filtering everything out.
- New:
plynto_settings_capabilityandplynto_blocked_upload_extensionsfilters.
0.4.0
- New: traffic source tracking — UTM tags, Google / Facebook / Microsoft click IDs, referrer and landing page are saved with every lead, and each lead gets a channel.
- New: “Leads by Channel” donut chart and channel filter.
- New: lead pipeline stages (New, Contacted, Qualified, Won, Lost) with a dashboard breakdown, stage filter and bulk “move to stage”.
- New: private notes on every lead.
- New: stage, channel and UTM columns in the CSV export.
- New: stage, channel, campaign data and notes included in personal data exports; notes removed with erasure requests.
- New: suggested privacy policy text.
- Changed: the unread marker in the lead list now reads “Unread” so it is not confused with the “New” stage.
- Improved: the lead list query now uses fixed, fully prepared SQL for every filter.
- Fixed: the Date column in the lead list could shrink to a single character wide.
- Database: adds
stage,channelandattributioncolumns and a notes table. Existing leads are kept and start at the New stage.
0.3.1
- Fixed: “headers already sent” warning when deleting leads.
- Fixed: the correct submenu item is now highlighted on the lead list and single lead screens.
0.3.0
- Renamed to Plynto Form Leads Dashboard. All functions, classes, constants, globals, options, transients, hooks and the custom database table now use the
plynto_/PLYNTO_prefix.
0.2.0
- Added a plan-aware feature gate and the
plynto_lead_savedaction and settings extension hooks for add-ons.
0.1.0
- Initial release: Contact Form 7 capture, dashboard, charts, lead inbox, single lead view, CSV export, settings screen.
