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
* Read-only Reporting REST API for connecting external reporting, analytics, and business intelligence platforms
* Separate WooCommerce analytics database optimized for reporting
* 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.19.0

  • Added: the Reporting API settings section and its generated credentials are now described as a vendor-neutral integration point for any authorized external reporting, analytics, or BI system, rather than implying one specific platform. The three Historical Attribution Repair tools (Sessions, Leads, Orders) now show a live eligible-record count, an always-visible button, and a detailed scanned/repaired/already-valid/failed summary after each run.
  • Fixed: the Executive Dashboard’s Cancellation Rate no longer double-counts cancelled orders in its denominator. Source/medium normalization (meta_ads, google-shopping, and existing Meta aliases) is now applied consistently across the Dashboard, Campaign/Product Performance, Orders table, CSV exports, and the Reporting REST API. The Leads Table’s single-lead Edit modal now reliably saves — a nonce collision with the bulk “Edit UTM” action, and a leads-table cache that wasn’t invalidated on write, could previously make a correction silently fail to appear.
  • Improved: Product Performance no longer shows a misleading zero for per-product Checkout counts, which aren’t measurable at that granularity; a zero-volume Conversion Rate now shows “Insufficient data” instead of 0%; manually correcting a lead’s Source now also updates its last-touch source, so Top Source reporting reflects the correction.

1.18.0

  • Added: admins can now correct human errors directly in the Leads Table — edit a lead’s name, email, phone, custom fields, and UTM values via a compact modal, or bulk-correct UTM values across multiple selected leads at once. Corrections write directly to the canonical record (no override layer) and reuse the same normalization the Attribution Engine already applies to newly-captured data.
  • Fixed: several Attribution Engine consistency gaps — WooCommerce’s native order CSV export now carries the same canonical fields as the plugin’s own export; a landing-session fallback signal that was being silently dropped is now used; WooCommerce Analytics event write failures are now logged instead of disappearing silently; report filters now normalize free-text source/medium input to match stored data; six additional paid-platform click IDs (TikTok, LinkedIn, Bing, etc.) are now recognized for attribution inference; the attribution repair tool is now available for Leads and WooCommerce Orders, not just Landing Page Sessions.
  • Hardening: malformed cookie values are now safely rejected instead of risking corrupted data; Elementor’s custom-URL-parameter hidden fields now get the same plausibility validation as resolver-fed fields.

1.17.2 and earlier

  • See docs/CHANGELOG-ARCHIVE.md for the complete history, including 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.