{"id":356683,"date":"2026-08-27T07:03:17","date_gmt":"2026-08-27T07:03:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dreamfox-form-analytics\/"},"modified":"2026-08-27T07:02:45","modified_gmt":"2026-08-27T07:02:45","slug":"dreamfox-form-analytics","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/dreamfox-form-analytics\/","author":12721565,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"trunk","tested":"7.0.4","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"Dreamfox Form Analytics","header_author":"Dreamfox","header_description":"Privacy-friendly form analytics for WordPress: see how visitors use your forms and where they drop off \u2014 views, starts, submissions, per-field drop-off, validation errors and trends. Supports Contact Form 7 and Elementor Forms.","assets_banners_color":"","last_updated":"2026-08-27 07:02:45","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/dreamfoxmedia.com\/","header_author_uri":"https:\/\/dreamfoxmedia.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"dreamfox","date":"2026-08-27 07:02:45","revision":3668229}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Dashboard: funnel cards, trend and problem fields at a glance.","2":"Forms overview with per-form completion and abandonment rates.","3":"Form detail: funnel, per-field drop-off and notable-field insights.","4":"Settings: tracking, privacy and exclusion options."}},"plugin_section":[],"plugin_tags":[1152,984,161151,41471,29408],"plugin_category":[55],"plugin_contributors":[82375],"plugin_business_model":[],"class_list":["post-356683","plugin","type-plugin","status-publish","hentry","plugin_tags-contact-form-7","plugin_tags-conversion","plugin_tags-elementor-forms","plugin_tags-form-analytics","plugin_tags-funnel","plugin_category-seo-and-marketing","plugin_contributors-dreamfox","plugin_committers-dreamfox"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/dreamfox-form-analytics.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Dreamfox Form Analytics<\/strong> shows you how visitors actually use your WordPress forms \u2014 and, more importantly, where they give up. Every form gets a clear funnel from <em>viewed<\/em> \u2192 <em>started<\/em> \u2192 <em>submitted<\/em>, with per-field drop-off, validation-error counts, time spent per field and day\/week\/month trends.<\/p>\n\n<p>The plugin is <strong>privacy-friendly by design<\/strong>: it never stores what visitors type, who they are, or where they come from. No cookies, no IP addresses, no user agents, no form field contents \u2014 only anonymous interaction metadata under a random identifier that lives for a single page view.<\/p>\n\n<h4>What you see per form<\/h4>\n\n<ul>\n<li>Views, starts, successful submissions<\/li>\n<li>Start rate, completion rate, conversion and abandonment rate<\/li>\n<li>Drop-off per field: which field is the last one visitors touch before leaving<\/li>\n<li>Validation errors per field<\/li>\n<li>Average time per form and per field<\/li>\n<li>Desktop \/ tablet \/ mobile breakdown (optional)<\/li>\n<li>Trends per day, week or month<\/li>\n<\/ul>\n\n<h4>Notable fields, computed locally<\/h4>\n\n<p>The dashboard flags problem fields with plain-language conclusions such as <em>\"Field 'phone-number' causes 24% of all form abandonment.\"<\/em> These insights come from fixed, deterministic rules computed on your own server \u2014 no external AI service, no data leaves your site.<\/p>\n\n<h4>Supported form plugins<\/h4>\n\n<ul>\n<li><strong>Contact Form 7<\/strong><\/li>\n<li><strong>Elementor Forms<\/strong> (Elementor Pro)<\/li>\n<\/ul>\n\n<p>Active form plugins are detected automatically; nothing breaks when one is missing. The integration layer is prepared for more form plugins (WPForms, Gravity Forms, Fluent Forms, Formidable Forms, Ninja Forms) in future releases.<\/p>\n\n<h4>Privacy by design<\/h4>\n\n<ul>\n<li><strong>Never stored:<\/strong> names, email addresses, phone numbers, IP addresses, form field values, cookies, raw user agents.<\/li>\n<li><strong>Anonymous sessions:<\/strong> a random identifier per form per page view, generated in the browser, never linked to a person.<\/li>\n<li><strong>Retention you control:<\/strong> 7, 30, 90, 180 or 365 days \u2014 older data is deleted automatically every day.<\/li>\n<li><strong>Do Not Track \/ Global Privacy Control:<\/strong> respected in the browser <em>and<\/em> enforced again on the server (enabled by default).<\/li>\n<li><strong>Exclusions:<\/strong> keep administrators (default) and optionally all logged-in users out of the statistics.<\/li>\n<li><strong>Clean uninstall:<\/strong> data is kept by default so you can reinstall; opt in to delete everything on uninstall.<\/li>\n<li><strong>WordPress privacy tools:<\/strong> suggested privacy-policy text and a personal-data eraser are registered.<\/li>\n<\/ul>\n\n<h4>Built for performance<\/h4>\n\n<ul>\n<li>One small dependency-free tracking script (~4 KB gzipped), loaded only when tracking is active and a supported form plugin is present.<\/li>\n<li>Events are batched and sent via <code>sendBeacon<\/code>\/<code>fetch keepalive<\/code> \u2014 no request storm, nothing blocking the page.<\/li>\n<li>Own database tables with proper indexes; dashboard statistics are cached.<\/li>\n<li>The public tracking endpoint is hardened: rate limiting, event allowlist, batch and payload size caps, strict validation.<\/li>\n<\/ul>\n\n<p>Built by <a href=\"https:\/\/dreamfoxmedia.com\">Dreamfox<\/a>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to <code>\/wp-content\/plugins\/dreamfox-form-analytics<\/code>, or install through the WordPress plugins screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen.<\/li>\n<li>Visit a page containing a Contact Form 7 or Elementor form \u2014 tracking starts immediately.<\/li>\n<li>Open <strong>Dreamfox Analytics<\/strong> in the admin menu to watch the funnel fill up.<\/li>\n<li>Review <strong>Dreamfox Analytics \u2192 Settings<\/strong> for retention, Do Not Track and exclusion options.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20store%20what%20visitors%20type%20into%20my%20forms%3F\"><h3>Does this plugin store what visitors type into my forms?<\/h3><\/dt>\n<dd><p>No, never. The tracker only records <em>that<\/em> a field was focused, completed or produced a validation error \u2014 identified by the field's technical name \u2014 plus timing. Field contents never leave the browser, and the server-side validator actively strips anything that looks like content before storing events.<\/p><\/dd>\n<dt id=\"is%20it%20gdpr-friendly%3F%20do%20i%20need%20a%20cookie%20banner%20for%20it%3F\"><h3>Is it GDPR-friendly? Do I need a cookie banner for it?<\/h3><\/dt>\n<dd><p>The plugin uses no cookies and no persistent identifiers, stores no personal data, and respects Do Not Track \/ Global Privacy Control out of the box. Suggested privacy-policy text is provided under Settings \u2192 Privacy in WordPress. Whether a consent banner is required for your site remains your decision \u2014 but this plugin was built to make anonymous analytics possible.<\/p><\/dd>\n<dt id=\"which%20form%20plugins%20are%20supported%3F\"><h3>Which form plugins are supported?<\/h3><\/dt>\n<dd><p>Contact Form 7 and Elementor Forms (Elementor Pro) in this version. The plugin detects them automatically and causes no errors when they are absent. More integrations are planned.<\/p><\/dd>\n<dt id=\"how%20is%20%22abandoned%22%20defined%3F\"><h3>How is \"abandoned\" defined?<\/h3><\/dt>\n<dd><p>A visitor started interacting with the form (focused or filled a field) but left the page without a successful submission. The last field they touched gets the drop-off attribution \u2014 that's how the per-field drop-off table is built.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20form_submit%20and%20a%20successful%20submission%3F\"><h3>What is the difference between form_submit and a successful submission?<\/h3><\/dt>\n<dd><p>A submit attempt that fails validation is not a successful submission. Completion and conversion rates count confirmed successes only (e.g. Contact Form 7's \"mail sent\" event).<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>The tracker is a single small vanilla-JS file, loaded only when needed. Events are batched (at most one request per ~5 seconds per page) and sent with <code>sendBeacon<\/code> on page exit so nothing blocks navigation.<\/p><\/dd>\n<dt id=\"can%20i%20delete%20all%20data%20when%20removing%20the%20plugin%3F\"><h3>Can I delete all data when removing the plugin?<\/h3><\/dt>\n<dd><p>Yes. Enable <em>\"Delete all analytics data when the plugin is uninstalled\"<\/em> under Settings \u2192 Privacy, then delete the plugin. Without that opt-in, deactivating or deleting keeps your data for a later reinstall.<\/p><\/dd>\n<dt id=\"who%20can%20see%20the%20analytics%3F\"><h3>Who can see the analytics?<\/h3><\/dt>\n<dd><p>Users with the <code>dffa_view_analytics<\/code> capability (administrators by default). Settings require <code>dffa_manage_settings<\/code>. Both capabilities can be granted to other roles with any role editor.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed a bug where per-field drop-off attribution and the \"orphaned event\" cleanup step could fail on hosts running the WordPress SQLite Database Integration drop-in instead of MySQL\/MariaDB, due to MySQL-only SQL syntax.<\/li>\n<li>Hardened all database queries against a WordPress.org Plugin Check security finding (table names are now passed through <code>%i<\/code> identifier placeholders instead of being interpolated into the SQL string) \u2014 no functional change, all values were already hardcoded constants.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Funnel tracking (views, starts, field progression, validation errors, abandonment, submissions) for Contact Form 7 and Elementor Forms.<\/li>\n<li>Privacy-first tracker: cookieless, anonymous, DNT\/GPC-aware, no field values ever stored.<\/li>\n<li>Admin dashboard with trend charts, forms overview, form detail with per-field statistics and deterministic \"notable fields\" insights.<\/li>\n<li>Configurable retention (7\u2013365 days) with daily cleanup, WordPress privacy-tools integration, hardened REST tracking endpoint.<\/li>\n<\/ul>","raw_excerpt":"Privacy-friendly form analytics: see where visitors abandon your forms \u2014 views, starts, submissions, per-field drop-off and validation errors.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/356683","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=356683"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dreamfox"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=356683"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=356683"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=356683"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=356683"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=356683"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=356683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}