Overview

Getting started

Overview

SmartDingo Form Tracker captures campaign and visitor data in the browser, auto-fills it into your existing forms, and (on paid plans) stores each submission as a lead you can review and export. This page explains what the plugin does, defines the vocabulary used throughout these docs, and points you to the right place to start.


What it does

SmartDingo Form Tracker answers a simple question: where did this form submission come from?
When a visitor lands on your site, the plugin reads the campaign tags on the URL plus a set of visitor and page signals, remembers them in the browser, and writes them into the form fields you
nominate. When the visitor submits — on a paid plan — the whole picture is saved as a lead:
their contact details and the tracking data that brought them there.

It works alongside your form plugin. It does not build forms, send email, or replace your form
plugin’s own entries — it reads tracking data and fills it into the fields you already have.

Who it’s for

  • Marketers and agencies who run paid campaigns (Google, Meta, LinkedIn, Microsoft, TikTok) and
    need to tie leads back to the campaign, ad, or keyword that produced them.
  • Site owners who want UTM and referrer data attached to every enquiry without editing form
    code or writing tracking scripts.
  • Developers who want a CSS-selector mapping layer that drops in beside Contact Form 7, Gravity
    Forms, WPForms, and other common form plugins.

If you just want hidden UTM fields populated, the free plan is enough. If you want a stored,
filterable, exportable list of leads, you need a paid plan.


How it fits together

Three stages, in order:

  1. Track (in the browser). On page load, the tracker script reads UTM parameters, ad click IDs,
    referrer, landing page, device and visit signals, and stores them in the browser
    (see visitor vs session below).
  2. Auto-fill (into your form). For each form you configure, you map a tracked value to a form
    input using a CSS selector. The tracker finds those inputs and writes the stored values in —
    usually into hidden fields.
  3. Capture (on submit) (Starter). When the form submits successfully, the plugin saves the
    contact fields plus the tracking data as a lead in its own database table, shown on the
    Leads page.

Stages 1 and 2 are available on every plan. Stage 3 requires a paid plan.

Note Lead capture is reliable for supported form plugins that submit via AJAX, and
best-effort for redirect-style confirmations and unknown forms. It is not a universal
catch-all for every form on the web — see Supported form plugins.


Core vocabulary

These terms are used throughout the docs. They are defined here once.

TermWhat it means
UTM parametersThe utm_source, utm_medium, utm_campaign, utm_term and utm_content tags added to a URL query string to label a campaign, e.g. ?utm_source=google&utm_medium=cpc. The tracker reads them straight off the URL.
Ad click IDsPlatform click identifiers such as gclid (Google), fbclid (Meta), msclkid (Microsoft) and others. Treated like UTM values: read from the URL and stored.
Landing pageThe first page URL the visitor arrived on. Stored once as a first-touch value and not overwritten on later pages.
First-touch vs last-touchFirst-touch fields record the first value seen for a visitor and never change — landing page, referrer, and the first_utm_* fields (Starter). Last-touch fields (the plain utm_* fields, conversion_page) reflect the most recent visit or the moment of submission. Capturing both lets you see where a visitor originally came from and which campaign closed the deal.
Visitor vs sessionA session is one browsing session — data in sessionStorage is cleared when the tab or browser closes. A visitor is recognised across sessions by a stored visitor_id, which requires localStorage. On the free plan storage is session-only, so a returning person looks like a new visitor; paid plans add localStorage, enabling visitor_type (new/returning) and visit_count.
CSS-selector field mappingHow you tell the plugin which form input receives which tracked value, by giving a CSS selector such as input[name="utm_source"]. One mapping = one tracked field → one selector.
Auto-fillThe act of writing stored tracking values into the mapped inputs when the form page loads. Mapped fields are typically hidden.
LeadA saved record of one form submission: the contact fields plus all attached tracking data, stored in the plugin’s own database table and shown on the Leads page. Paid plans only.
capture_methodAn internal label stored with each lead recording how it was captured: ajax (the default — used both for validated captures from supported AJAX plugins and for the best-effort fallback on unknown forms) or beacon-best-effort (fired before server-side validation on redirect forms). Reliability depends on the form plugin, not on this label alone — see Supported form plugins.

GDPR Tracking data on its own is not identifying, but combined with a submitted form it is
personal data
. Choose a consent mode deliberately before you go live — see
GDPR & consent.


Plans at a glance

The plugin uses Freemius licensing with three plans: Free, Starter, and Pro. Features
are marked inline throughout the docs — (Free) (everyone), (Starter) (any paid plan),
(Pro) (Pro only). Unmarked features are available on all plans.

CapabilityFreeStarterPro
UTM / visitor tracking (free field set)
Field auto-fill, page scanner, debug overlay
Consent modes (Off / WP Consent API / Manual)
Browser storagesessionStorage+ localStorage+ localStorage
Form configurations1525
Tracked fields122634
Lead capture + Leads page & dashboard
CSV export of leads
Settings export / import (JSON)
Lead retention / auto-delete
Dashboard preferences (show/hide widgets, chart view)
Custom chart colours

Limits: form configurations 1 / 5 / 25 · visited pages 10 / 30 / 50 · retention: no plan cap
(0 = never delete, otherwise 1–120 months).

For upgrading, moving a licence, or the full breakdown, see
Licenses & plans.


Where to start

  • Installation & setup — install, activate, enter your licence, map
    your first form, and verify tracking end-to-end. Start here.
  • Field mapping & auto-fill — how CSS
    selectors, the page scanner, and hidden fields work in detail.
  • Supported form plugins — which form
    plugins get reliable capture, and what “best-effort” means for the rest.
  • Managing leads (Starter) — filter, review,
    and act on captured leads.

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