The complete, detailed changelog ships as CHANGELOG.md inside the plugin.
2.2.8
New: optional “Stay Updated” email signup on the final step of the Get Started wizard — opt in to hear about new features and security updates. Fully opt-in: nothing is sent without a valid email, a ticked consent checkbox, and Finish; Skip completes setup without subscribing, and subscriptions are also kept locally as a backup.
With consent, your email and basic site information are sent so we can notify you about plugin updates — see the External Services section for details.
New developer filters: utgf_subscription_endpoint and utgf_subscription_api_key; the existing utgf_process_subscription filter still lets an external provider take over.
Fixed: on forms containing a File Upload field, the tracker could throw an error while filling fields at submit time, blocking the AJAX submission. The tracker now never writes into file, checkbox, radio, password, or button inputs, and field filling can no longer interrupt a submission.
Improved: the frontend tracker (renamed utgf-tracker.js) is versioned by file modification time, so browsers and CDNs always fetch fresh copies after updates.
No other changes to tracking, attribution, cookies, REST/JS APIs, or shortcodes — fully backward compatible.
2.2.7
Reports upgrades: full-width Leads Over Time trend chart, Device / Leads by Form / Top Landing Pages breakdowns, channel doughnut with clickable legend, combinable click-to-filter on the leads table, PNG download and copy for every chart, and a Refresh button.
URL Builder design refresh: three-column responsive layout with a sticky preview, multiselect “Add Field” picker, resizable URL preview, and improved spacing and focus styles.
Fixed a QR code race condition so it renders instantly on page load.
2.2.6
New Reports dashboard (UTM Tracker → Reports) — a 7-day lead attribution summary read live from Gravity Forms entries: totals, channel/source/medium/campaign breakdowns with interactive charts, and a searchable recent leads table. No new database tables; cached with automatic refresh.
Fixed traffic channel misclassification of direct visitors as Referral; the channel detected on arrival now stays stable across internal navigation.
Improved AI Search detection with domain-style sources (chatgpt.com, perplexity.ai, claude.ai, and more).
2.2.5
Added a QR Code generator to the URL Builder with print-quality PNG and scalable SVG downloads, generated entirely in the browser.
Added an opt-in uninstall cleanup setting (off by default) under Settings → Import / Export.
Rewrote the plugin documentation and expanded the FAQ.
2.2.4
Removed development-only tooling from the plugin package. No functional changes.
2.2.3
Templates list upgraded with DataTables — instant search, column sorting, and pagination, bundled locally.
2.2.2
Redesigned URL Builder: choose your fields, drag to reorder, add notes, and save complete campaign links as named templates.
New Templates management screen with search, pagination, duplicate, set default, and per-row actions.
Added a centralized field registry, a templates database table with a repository layer, and REST endpoints under utm-tracker/v1.
2.2.1
Added the Get Started onboarding wizard and One-Click Field Setup with duplicate detection.
Frontend and admin scripts now load with the defer strategy; assets load only on plugin pages.
Fixed Query String tracking to work independently of Landing Pages.
2.2.0
Major attribution update: first/last touch models, landing page tracking, automatic traffic channel detection including AI Search, and custom parameter tracking.
Added the REST API endpoint, UTMTracker JavaScript API, dynamic shortcodes, Cookie Manager, Debug Panel, URL Builder, and settings export/import.
Improved Gravity Forms integration with server-side population, field aliases, and AJAX/multi-page support.
2.1.0
Admin UI refresh with Lucide icons, redesigned navigation, and bug fixes.
2.0.0
Rebuilt with a namespaced OOP architecture; expanded tracking, attribution models, debug tools, and removed the jQuery dependency.
1.1.0
Added a settings page and configurable cookie duration.