{"id":370336,"date":"2026-09-22T07:11:47","date_gmt":"2026-09-22T07:11:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/leads-dashboard-for-forms\/"},"modified":"2026-09-23T12:18:34","modified_gmt":"2026-09-23T12:18:34","slug":"plynto-form-leads-dashboard","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/plynto-form-leads-dashboard\/","author":23567712,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.4.0","stable_tag":"0.4.0","tested":"7.1.2","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Plynto Form Leads Dashboard","header_author":"Mayur Patil","header_description":"A visual leads dashboard for your form plugins \u2014 donut charts, trend graphs, source tracking, and a clean lead inbox. Free tier: Contact Form 7.","assets_banners_color":"54524c","last_updated":"2026-09-23 12:18:34","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":69,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.3.0":{"tag":"0.3.0","author":"leadlens","date":"2026-09-22 07:11:29","revision":3706748},"0.3.1":{"tag":"0.3.1","author":"leadlens","date":"2026-09-22 10:12:40","revision":3707033},"0.4.0":{"tag":"0.4.0","author":"leadlens","date":"2026-09-23 12:18:34","revision":3709300}},"upgrade_notice":{"0.4.0":"<p>Adds ad-campaign tracking, a lead pipeline and notes. The database is upgraded automatically; no leads are changed or removed.<\/p>","0.3.0":"<p>Renaming release. Because the plugin has not been published before, no data migration is needed.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3706748,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3706748,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3706748,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3706748,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.3.0","0.3.1","0.4.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3706748,"resolution":"1","location":"assets","locale":"","width":1600,"height":895},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3706748,"resolution":"2","location":"assets","locale":"","width":1600,"height":563},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3706748,"resolution":"3","location":"assets","locale":"","width":1600,"height":452},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3706748,"resolution":"4","location":"assets","locale":"","width":1600,"height":515},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3706748,"resolution":"5","location":"assets","locale":"","width":1600,"height":889}},"screenshots":{"1":"Leads dashboard \u2014 counters, donut charts and 30-day trend.","2":"Form x Page breakdown matrix.","3":"The lead inbox with filters and bulk actions.","4":"Single lead view with all fields and attachments.","5":"Settings screen."}},"plugin_section":[],"plugin_tags":[1152,187790,14097,335,25969],"plugin_category":[36],"plugin_contributors":[281967],"plugin_business_model":[],"class_list":["post-370336","plugin","type-plugin","status-publish","hentry","plugin_tags-contact-form-7","plugin_tags-form-entries","plugin_tags-lead-management","plugin_tags-leads","plugin_tags-utm-tracking","plugin_category-analytics","plugin_contributors-leadlens","plugin_committers-leadlens"],"banners":{"banner":"https:\/\/ps.w.org\/plynto-form-leads-dashboard\/assets\/banner-772x250.png?rev=3706748","banner_2x":"https:\/\/ps.w.org\/plynto-form-leads-dashboard\/assets\/banner-1544x500.png?rev=3706748","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/plynto-form-leads-dashboard\/assets\/icon-128x128.png?rev=3706748","icon_2x":"https:\/\/ps.w.org\/plynto-form-leads-dashboard\/assets\/icon-256x256.png?rev=3706748","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/plynto-form-leads-dashboard\/assets\/screenshot-1.png?rev=3706748","caption":"Leads dashboard \u2014 counters, donut charts and 30-day trend."},{"src":"https:\/\/ps.w.org\/plynto-form-leads-dashboard\/assets\/screenshot-2.png?rev=3706748","caption":"Form x Page breakdown matrix."},{"src":"https:\/\/ps.w.org\/plynto-form-leads-dashboard\/assets\/screenshot-3.png?rev=3706748","caption":"The lead inbox with filters and bulk actions."},{"src":"https:\/\/ps.w.org\/plynto-form-leads-dashboard\/assets\/screenshot-4.png?rev=3706748","caption":"Single lead view with all fields and attachments."},{"src":"https:\/\/ps.w.org\/plynto-form-leads-dashboard\/assets\/screenshot-5.png?rev=3706748","caption":"Settings screen."}],"raw_content":"<!--section=description-->\n<p>Most form plugins email you a submission and forget about it. Plynto stores every submission in your own database and turns it into something you can actually read: how many leads came in today, this month, and in total; which form produced them; and which page or project they came from.<\/p>\n\n<p>Everything renders as lightweight server-side SVG \u2014 no charting library, no external requests, no data leaving your site.<\/p>\n\n<p><strong>What you get<\/strong><\/p>\n\n<ul>\n<li>Dashboard with total \/ this month \/ today \/ unread counters<\/li>\n<li>Leads-by-channel donut chart \u2014 Google Ads, Facebook \/ Instagram, organic search, referral, direct and more<\/li>\n<li>Lead pipeline: move every lead through New \u2192 Contacted \u2192 Qualified \u2192 Won \/ Lost<\/li>\n<li>Private notes on each lead \u2014 calls, site visits, follow-ups \u2014 with author and time<\/li>\n<li>Leads-by-form donut chart with clickable legend<\/li>\n<li>30-day trend graph<\/li>\n<li>Leads-by-page (source) donut chart<\/li>\n<li>Form x Page breakdown matrix \u2014 every cell links to that filtered view<\/li>\n<li>Lead inbox with search, form, page, stage and channel filters, date range, and pagination<\/li>\n<li>Single lead view with all submitted fields, file attachments, page URL, IP, browser and traffic source<\/li>\n<li>Bulk mark-as-read, bulk move-to-stage and bulk delete<\/li>\n<li>CSV export that respects your current filters, including stage, channel and UTM columns<\/li>\n<li>Unread badge in the admin menu<\/li>\n<\/ul>\n\n<p><strong>Source tracking<\/strong><\/p>\n\n<p>Leads are tagged with the page they were submitted from \u2014 including forms inside popups, modals and shortcodes, where the referring page is normally lost. That makes it possible to see which landing page or project is actually producing enquiries.<\/p>\n\n<p><strong>Ad and campaign tracking<\/strong><\/p>\n\n<p>A small first-party script remembers how each visitor arrived \u2014 UTM tags (source, medium, campaign, keyword, content), Google, Facebook and Microsoft click IDs, the referring website and the landing page \u2014 and attaches it to the lead when a form is submitted, even if that happens pages later. Each lead is then assigned a channel, so you can see at a glance whether Google Ads or Facebook is actually producing enquiries. Both the first visit and the visit that led to the enquiry are kept.<\/p>\n\n<p>This uses one cookie, <code>plynto_attr<\/code>, for 90 days. It can be switched off under Leads \u2192 Settings, or controlled by a consent plugin through the <code>plynto_attribution_enabled<\/code> filter.<\/p>\n\n<p><strong>Form plugin support<\/strong><\/p>\n\n<p>This free version supports Contact Form 7. The 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.<\/p>\n\n<p><strong>Your data stays yours<\/strong><\/p>\n\n<p>Leads, notes and traffic-source data are stored in tables in your own WordPress database. Nothing is sent to any external service. Uploaded files are copied into your own uploads folder before Contact Form 7 deletes its temporary copies.<\/p>\n\n<p><strong>A note on the name<\/strong><\/p>\n\n<p>\"Plynto\" is a coined word invented by the author for this plugin. It is not a company, an organisation or a registered brand, and the plugin does not declare or claim any domain or website. This is a personal project by Mayur Patil.<\/p>\n\n<p>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.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>, or install it from Plugins \u2192 Add New.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to Leads \u2192 Settings and confirm Contact Form 7 is ticked.<\/li>\n<li>Submissions received from that point on appear under Leads.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20import%20my%20old%20submissions%3F\"><h3>Does it import my old submissions?<\/h3><\/dt>\n<dd><p>No. Leads are captured from the moment the plugin is active. Existing submissions stored by another plugin are not read.<\/p><\/dd>\n<dt id=\"does%20deactivating%20the%20plugin%20delete%20my%20leads%3F\"><h3>Does deactivating the plugin delete my leads?<\/h3><\/dt>\n<dd><p>No. Deactivating changes nothing. Even deleting the plugin keeps your data unless you tick \"Delete all stored leads\" in Leads \u2192 Settings first.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20forms%20inside%20popups%20or%20shortcodes%3F\"><h3>Does it work with forms inside popups or shortcodes?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"where%20are%20uploaded%20files%20stored%3F\"><h3>Where are uploaded files stored?<\/h3><\/dt>\n<dd><p>In <code>wp-content\/uploads\/plynto-leads\/YYYY\/MM\/<\/code>. Contact Form 7 deletes its own temporary uploads after sending, so the plugin copies them first.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20anything%20to%20an%20external%20server%3F\"><h3>Does the plugin send anything to an external server?<\/h3><\/dt>\n<dd><p>No. The free version makes no outbound requests at all.<\/p><\/dd>\n<dt id=\"how%20is%20a%20lead%27s%20channel%20decided%3F\"><h3>How is a lead's channel decided?<\/h3><\/dt>\n<dd><p>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\".<\/p><\/dd>\n<dt id=\"does%20source%20tracking%20set%20a%20cookie%3F\"><h3>Does source tracking set a cookie?<\/h3><\/dt>\n<dd><p>Yes, one first-party cookie called <code>plynto_attr<\/code>, kept for 90 days, holding only campaign parameters, the referring site and the landing page \u2014 no name, email or other form data. Suggested wording for your privacy policy is added to Settings \u2192 Privacy \u2192 Policy Guide. If your visitors must opt in to marketing cookies, switch tracking off in Leads \u2192 Settings or connect it to your consent plugin with the <code>plynto_attribution_enabled<\/code> filter.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20%22unread%22%20and%20the%20%22new%22%20stage%3F\"><h3>What is the difference between \"Unread\" and the \"New\" stage?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.4.0<\/h4>\n\n<ul>\n<li>New: traffic source tracking \u2014 UTM tags, Google \/ Facebook \/ Microsoft click IDs, referrer and landing page are saved with every lead, and each lead gets a channel.<\/li>\n<li>New: \"Leads by Channel\" donut chart and channel filter.<\/li>\n<li>New: lead pipeline stages (New, Contacted, Qualified, Won, Lost) with a dashboard breakdown, stage filter and bulk \"move to stage\".<\/li>\n<li>New: private notes on every lead.<\/li>\n<li>New: stage, channel and UTM columns in the CSV export.<\/li>\n<li>New: stage, channel, campaign data and notes included in personal data exports; notes removed with erasure requests.<\/li>\n<li>New: suggested privacy policy text.<\/li>\n<li>Changed: the unread marker in the lead list now reads \"Unread\" so it is not confused with the \"New\" stage.<\/li>\n<li>Improved: the lead list query now uses fixed, fully prepared SQL for every filter.<\/li>\n<li>Fixed: the Date column in the lead list could shrink to a single character wide.<\/li>\n<li>Database: adds <code>stage<\/code>, <code>channel<\/code> and <code>attribution<\/code> columns and a notes table. Existing leads are kept and start at the New stage.<\/li>\n<\/ul>\n\n<h4>0.3.1<\/h4>\n\n<ul>\n<li>Fixed: \"headers already sent\" warning when deleting leads.<\/li>\n<li>Fixed: the correct submenu item is now highlighted on the lead list and single lead screens.<\/li>\n<\/ul>\n\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Renamed to Plynto Form Leads Dashboard. All functions, classes, constants, globals, options, transients, hooks and the custom database table now use the <code>plynto_<\/code> \/ <code>PLYNTO_<\/code> prefix.<\/li>\n<li>Plugin URI and Author URI remain absent: the plugin claims no domain, website or organisation.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Reworked prefixes and added a plan-aware feature gate so add-on features can be checked with one function.<\/li>\n<li>Added the <code>plynto_lead_saved<\/code> action and settings extension hooks for add-ons.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release: Contact Form 7 capture, dashboard, charts, lead inbox, single lead view, CSV export, settings screen.<\/li>\n<\/ul>","raw_excerpt":"Save every form submission, see which ad or page it came from, and follow each lead from New to Won \u2014 with charts, notes and a clean inbox.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/370336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=370336"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/leadlens"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=370336"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=370336"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=370336"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=370336"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=370336"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=370336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}