Shulman UTM Attribution for Elementor

Description

Production-grade attribution and analytics plugin for Elementor Forms and WooCommerce with advanced customer journey tracking and reporting.

Tracks first-touch and last-touch attribution across the customer journey, captures Elementor leads, enriches WooCommerce orders, records WooCommerce shopping events, and provides analytics dashboards with CSV export.

Features:
* Elementor lead attribution with complete conversion snapshots
* WooCommerce order attribution
* WooCommerce Analytics Dashboard
* Executive Dashboard with KPIs
* Orders Analytics
* Cart Events tracking
* Product Performance reports
* Funnel Analytics
* Campaign Performance reports
* First-touch and Last-touch attribution
* Session tracking with visit count
* Attribution confidence classification
* UTM cookie persistence and server-side fallback
* Advanced Leads Dashboard with filters, sorting, custom columns and CSV export
* Manually correct a lead’s contact details and UTM values, individually or in bulk across multiple leads at once
* Historical Attribution Repair — rebuild “untracked” records whose original landing page already contains attribution parameters
* Landing Page Optimization Report with canonical Source/Medium grouping, full column sorting, period-over-period comparisons, Top Insights, Top Rankings, Paid vs Organic breakdown, and a simple Report Notes field
* Read-only Reporting REST API for connecting external reporting, analytics, and business intelligence platforms
* Separate WooCommerce analytics database optimized for reporting
* Plugin-wide canonical Meta (Facebook/Instagram) normalization shown consistently across every report, dashboard, and export, with a Debug Layer to inspect the original captured value when needed
* Fully backward compatible with legacy cookies, options and meta keys

Screenshots

Installation

  1. Upload the plugin ZIP in WordPress admin or copy the plugin folder to /wp-content/plugins/.
  2. Activate the plugin.
  3. Configure settings from the plugin admin screen.

Reviews

Read all 1 review

Contributors & Developers

“Shulman UTM Attribution for Elementor” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

Note: this section is kept trimmed to recent versions to stay under WordPress.org’s 5000-character
changelog limit. The complete version history is preserved in docs/CHANGELOG-ARCHIVE.md.

1.22.1

  • Fixed: a Google click ID (gclid) could incorrectly override an already-valid, meaningful Source/Medium (e.g. “YouTube / Paid” was being forced to “Google / Paid”). A gclid now only repairs a Source/Medium pair that is missing or malformed — it never overwrites a genuine, distinct value like a newsletter or another ad platform.
  • Fixed: the Reporting API’s GET /leads and GET /order-items now report canonical Source/Medium (matching the Dashboard, CSV exports, and Elementor Webhook fields) instead of the raw captured value — closing a gap where an external system could see different Source/Medium values than the Dashboard for the same lead or order. Their Source/Medium filter parameters (also shared by GET /report-summary and GET /campaigns) now match on that same canonical value too, so filtering no longer misses a row shown under that value elsewhere. This is a breaking change for the affected fields; see docs/REPORTING_API.md for details.
  • Improved: Elementor Webhook/Email/CRM integrations now send canonical Source/Medium by default; two new optional fields, raw_utm_source and raw_utm_medium, are available for anyone who specifically needs the original captured value.

1.22.0

  • Added: a new Reporting API endpoint, GET /leads, returns individual (non-aggregated) lead rows, cursor-paginated, with no personal data — for an external system to pull the full lead dataset each sync cycle. Detecting deletions needs no separate mechanism: a previously-seen lead simply stops appearing in the pull.
  • Added: a canonical Google click-ID rule — when a lead carries a genuine Google Ads click ID, its reported Source is always “Google,” and its Medium reflects the actual traffic surface (“CPC” for Search, “Paid” for PMax/Display/YouTube/Shopping and anything else), overriding a malformed, missing, or unrelated raw value. Applied consistently everywhere Source/Medium is shown or filtered.
  • Added: GET /leads now reports both a canonical (grouped) and raw Form Name, so an external system can reliably treat multiple technical form instances that share one business-facing name as the same form.
  • Added: a new Reporting API endpoint, GET /order-items, returns WooCommerce purchase data at the individual product line-item level — quantity, revenue, product, category, live order status, and attribution — so a specific product’s sales can be measured accurately even inside a mixed shopping cart.
  • Added: GET /leads and GET /order-items now also report session count (visits before conversion) and UTM Content/Term for both first-touch and last-touch. Custom Lead Fields can now be selectively exposed to the Reporting API via a new opt-in “Include in API” checkbox, off by default for every field.
  • Fixed: deleting or editing a single lead from the Leads dashboard could leave the page blank until logging out and back in, caused by a redirect that ran too late in WordPress’s own page-load sequence. Both actions now redirect correctly.

1.21.1 and earlier

  • See docs/CHANGELOG-ARCHIVE.md for the complete history, including the plugin-wide canonical Meta Source/Medium normalization and Debug Layer (1.21.0), the Landing Page Optimization Report redesign and Leads Table Medium filter (1.20.0), the vendor-neutral Reporting API wording and repair UX overhaul (1.19.0), the Leads Table manual-correction feature and Attribution Engine consistency fixes (1.18.0), the lint-suppression correctness fix (1.17.2), the Landing Page Optimization Report’s attribution repair tool and resizable columns (1.17.0), the split phpcs:ignore comment fix (1.16.2), the Campaign filter fix (1.16.1), the report grouping and CSV-export sync hardening (1.16.0), the Landing Page Optimization Report launch (1.15.0), Attribution Engine Hardening, Plugin Check remediation, Custom Lead Fields UX, curated default-visible columns, attribution confidence scoring, direct-vs-untracked classification, fbclid/gclid handling, and referrer normalization.