Changelog

Reference

Changelog

This page mirrors the == Changelog == section of the plugin’s readme.txt and is the authoritative version history for SmartDingo Form Tracker. Versions are listed newest first.

Note The current stable release is 1.9.2. After updating, work through Before you go live — several releases below fix silent lead-capture failures that only surface once you deploy and purge caches.


1.9.2

  • Fixed: leads were not captured from WPForms. WPForms fires its success event on the form element with no form-id argument; the tracker expected an id argument that was always undefined, so it never found the form. It now reads the form from the event.
  • Fixed: leads were not captured from Gravity Forms (AJAX). Gravity Forms replaces the form with the confirmation message before firing its success event, so the form no longer existed when the tracker looked for it. The tracker now snapshots the form on submit and reads it on confirmation.
  • Fixed: leads were not captured from WS Form. WS Form dispatches jQuery events on the document (not native events on the form); the tracker now listens correctly, uses the success-only event, and reads the form from the event arguments.
  • Fixed: leads were not captured from Formidable Forms. The form was passed as a raw DOM element and the tracker mis-read it as a form field. It now resolves the form element correctly.
  • Fixed: on pages with multiple mapped forms that share a field selector, a lead could be attributed to the wrong form configuration. Lead capture now reuses the same best-match, one-form-per-config resolution used to fill the fields.
  • Clarified the lead-retention setting wording (“0” now reads as “never automatically delete leads”) and tidied internal plan/feature definitions so the Free/Starter/Pro tiers match exactly what is enforced.
  • Improved plan clarity in the admin: the “Enable lead tracking” toggle now shows a Starter badge and is disabled (and forced off) on the free plan, and the chart-colour customiser clearly shows it is a Pro feature instead of silently doing nothing when saved.

1.9.1

  • Fixed: leads from Fluent Forms 6.x were never captured. Fluent Forms 6.x changed its success event to pass a single object ({ form, config, response }); the tracker still expected the older positional arguments, so it read an undefined form and bailed out. The listener now resolves the form element from any of the shapes Fluent Forms uses.
  • Fixed: leads were not captured on sites with full-page caching (LiteSpeed, WP Rocket, WP Super Cache, Cloudflare, host-level cache). The submission nonce and one-time token printed inline in the page were frozen by the cache and had expired by the time visitors submitted, so every lead was rejected server-side. The tracker now fetches fresh credentials from admin-ajax (which is never cached) immediately before sending each lead.
  • Lead form data is now read synchronously at submission time, before credentials are fetched, so values are not lost when a form plugin resets the form on success.
  • Leads are now sent with sendBeacon so they survive the page navigation that redirect (“thank you page”) confirmations trigger, and the beforeunload safety net now fires whenever the lead was not actually sent (previously it was suppressed as soon as capture merely started, which could silently drop leads from redirect-confirmation forms).
  • The beforeunload safety net now also respects the consent setting, so no lead is captured for a visitor who has not consented.

1.8.0

  • Reorganised admin pages: Settings, Leads, Privacy, and Tools are now separate menu items.
  • Moved Chart Colors to the Leads page for easier access.
  • Fixed chart colors not applying to device bars, form bars, and page bars.
  • New Privacy page: consent mode and lead retention settings.
  • New Tools page: debug mode and export/import settings.
  • Inline color styles on all bar charts for consistent custom color support.

1.7.0

  • Widget view toggle: switch between donut chart and horizontal bars for Channels, Devices, and Leads per Form widgets.
  • Dashboard customization: show/hide individual dashboard widgets via gear icon.
  • Customizable chart colors: set channel colors and general palette in Settings > Chart Colors.
  • Per-user dashboard preferences stored via AJAX (no page reload).
  • Screen Options integration for leads table column visibility.
  • Settings export/import now includes chart colors.
  • Color reset button to restore default palette.

1.6.0

  • Extended leads dashboard with channel breakdown donut chart (organic search, paid search, social, email, direct, referral).
  • Added device breakdown widget with horizontal bars and percentage display.
  • Added top landing pages table (top 10 pages ranked by lead count).
  • Added dashboard date range selector with presets (7 days, 30 days, 90 days, 12 months, custom).
  • All dashboard widgets now respond to selected date range.
  • Source chart adapts label intervals for longer date ranges.
  • Interactive donut chart hover: shows individual channel stats in center.
  • Responsive layout: all new widgets stack properly on mobile screens.

1.5.0

  • Added lead attribution database — every form submission is now stored with full tracking data.
  • New admin page: SmartDingo > Leads — view, filter, sort, and search all captured leads.
  • Summary statistics dashboard (total leads, leads this month, top source).
  • CSV export with current filters applied.
  • Expandable lead detail rows showing all tracking and contact data.
  • Automatic contact field extraction (email, name, phone) from submitted forms.
  • Deduplication: prevents duplicate leads from double-click submissions.
  • Data retention setting: auto-delete leads after X months (daily cleanup via WP-Cron).
  • Lead tracking toggle: enable/disable lead capture independently from field tracking.
  • Bulk delete and single delete for lead management.

1.4.0

  • Added UTM ID tracking (utm_id parameter).
  • Added Google Ads iOS tracking parameters (gbraid, wbraid).
  • Added Google Ads source parameter (gad_source).
  • Added affiliate/referral tracking (ref, affiliate_id).
  • Added first-touch UTM attribution (first_utm_source, first_utm_medium, first_utm_campaign, first_utm_term, first_utm_content).
  • Added automatic referrer categorization (direct, organic_search, paid_search, organic_social, paid_social, email, referral).
  • New settings groups: First-Touch Attribution, Affiliate / Referral.
  • Updated scanner heuristics for all new fields.
  • Updated debug overlay with all new fields.

1.3.0

  • Added consent management (Off, WP Consent API, Manual cookie check).
  • Added Complianz native API support as fallback.
  • Added pending data buffer for pre-consent tracking.
  • Added export/import settings functionality.
  • Added page form scanner with iframe-based scanning.
  • Moved to top-level admin menu.
  • Migration system for automatic upgrades.

1.0.0

  • Initial release.
  • UTM parameter tracking (split).
  • Landing page tracking.
  • Device type, timestamp, and referrer tracking.
  • Flexible CSS selector mapping.
  • localStorage/sessionStorage choice.
  • Visual debug overlay.
  • MutationObserver for dynamic forms.

Next steps

Stop guessing where your leads come from

You’ve spent the budget. You’ve run the campaigns. You deserve to know what actually worked. SmartDingo gives you complete, accurate, first-party attribution for every WordPress form submission. Start today on the forms you already use.

Works with your existing forms. Setup in minutes. No credit card required.

SmartDingo is a WordPress lead tracking plugin built for online marketers and WordPress developers who need accurate, cookieless attribution. It captures UTM parameters, traffic sources, landing pages, and full visitor journeys for every form submission, working seamlessly with Fluent Forms, Gravity Forms, Ninja Forms, WPForms, and other major WordPress form plugins. Whether you’re tracking leads from Google Ads, Meta, LinkedIn, or organic search, SmartDingo connects every lead to the marketing campaign that generated it.

Copyright 2026 SmartDingo