{"id":291281,"date":"2026-03-26T19:12:01","date_gmt":"2026-03-26T19:12:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/utm-tracker-for-elementor\/"},"modified":"2026-07-09T11:07:47","modified_gmt":"2026-07-09T11:07:47","slug":"shulman-utm-attribution-for-elementor","status":"publish","type":"plugin","link":"https:\/\/pan.wordpress.org\/plugins\/shulman-utm-attribution-for-elementor\/","author":21137828,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.16.2","stable_tag":"1.16.2","tested":"7.0.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Shulman UTM Attribution for Elementor","header_author":"Ranel Shulman","header_description":"Simple and reliable UTM tracking for Elementor Forms and WooCommerce with First Click and Last Click attribution support.","assets_banners_color":"","last_updated":"2026-07-09 11:07:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":5,"author_block_rating":0,"active_installs":10,"downloads":830,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.10.10":{"tag":"1.10.10","author":"ranelshulman","date":"2026-05-05 21:43:23"},"1.10.11":{"tag":"1.10.11","author":"ranelshulman","date":"2026-05-07 21:38:08"},"1.10.12":{"tag":"1.10.12","author":"ranelshulman","date":"2026-05-12 08:09:40"},"1.10.13":{"tag":"1.10.13","author":"ranelshulman","date":"2026-05-18 11:16:44"},"1.10.14":{"tag":"1.10.14","author":"ranelshulman","date":"2026-05-18 12:24:26"},"1.10.15":{"tag":"1.10.15","author":"ranelshulman","date":"2026-06-04 07:06:02"},"1.10.16":{"tag":"1.10.16","author":"ranelshulman","date":"2026-06-04 08:07:43"},"1.10.17":{"tag":"1.10.17","author":"ranelshulman","date":"2026-06-04 08:17:07"},"1.10.18":{"tag":"1.10.18","author":"ranelshulman","date":"2026-06-04 08:35:13"},"1.10.19":{"tag":"1.10.19","author":"ranelshulman","date":"2026-06-04 09:15:41"},"1.10.20":{"tag":"1.10.20","author":"ranelshulman","date":"2026-06-04 09:29:06"},"1.10.6":{"tag":"1.10.6","author":"ranelshulman","date":"2026-04-20 19:51:29"},"1.10.7":{"tag":"1.10.7","author":"ranelshulman","date":"2026-04-26 15:31:42"},"1.10.8":{"tag":"1.10.8","author":"ranelshulman","date":"2026-04-30 19:01:58"},"1.10.9":{"tag":"1.10.9","author":"ranelshulman","date":"2026-05-03 08:11:05"},"1.16.2":{"tag":"1.16.2","author":"ranelshulman","date":"2026-07-09 11:07:47"},"1.7.12":{"tag":"1.7.12","author":"ranelshulman","date":"2026-03-26 19:21:15"},"1.8.0":{"tag":"1.8.0","author":"ranelshulman","date":"2026-04-14 12:38:36"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3505913,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.10.10","1.10.11","1.10.12","1.10.13","1.10.14","1.10.15","1.10.16","1.10.17","1.10.18","1.10.19","1.10.20","1.10.6","1.10.7","1.10.8","1.10.9","1.16.2","1.7.12","1.8.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[9067,76538,335,24188,286],"plugin_category":[36,45],"plugin_contributors":[258723],"plugin_business_model":[],"class_list":["post-291281","plugin","type-plugin","status-publish","hentry","plugin_tags-attribution","plugin_tags-elementor","plugin_tags-leads","plugin_tags-utm","plugin_tags-woocommerce","plugin_category-analytics","plugin_category-ecommerce","plugin_contributors-ranelshulman","plugin_committers-ranelshulman"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/shulman-utm-attribution-for-elementor\/assets\/icon-256x256.png?rev=3505913","icon_2x":"https:\/\/ps.w.org\/shulman-utm-attribution-for-elementor\/assets\/icon-256x256.png?rev=3505913","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Production-grade attribution and analytics plugin for Elementor Forms and WooCommerce with advanced customer journey tracking and reporting.<\/p>\n\n<p>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.<\/p>\n\n<p>Features:\n* Elementor lead attribution with complete conversion snapshots\n* WooCommerce order attribution\n* WooCommerce Analytics Dashboard\n* Executive Dashboard with KPIs\n* Orders Analytics\n* Cart Events tracking\n* Product Performance reports\n* Funnel Analytics\n* Campaign Performance reports\n* First-touch and Last-touch attribution\n* Session tracking with visit count\n* Attribution confidence classification\n* UTM cookie persistence and server-side fallback\n* Advanced Leads Dashboard with filters, sorting, custom columns and CSV export\n* Separate WooCommerce analytics database optimized for reporting\n* Fully backward compatible with legacy cookies, options and meta keys<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin ZIP in WordPress admin or copy the plugin folder to \/wp-content\/plugins\/.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Configure settings from the plugin admin screen.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<p>Note: this section is kept trimmed to recent versions to stay under WordPress.org's 5000-character\nchangelog limit. The complete version history is preserved in docs\/CHANGELOG-ARCHIVE.md.<\/p>\n\n<h4>1.16.2<\/h4>\n\n<ul>\n<li>Fixed: Plugin Check flagged three direct-query lines in the Landing Page Sessions table (retention cleanup and both session upserts) as unescaped\/uncached\/unprepared, despite each already carrying a <code>phpcs:ignore<\/code> comment listing exactly those codes. The comment was split across two lines \u2014 a standalone one above the query, plus a separate one-code comment at the end of the query line itself \u2014 and the second overrides the first rather than merging with it. No functional change: these queries were already safe (table\/column names are hardcoded, values go through <code>$wpdb-&gt;prepare()<\/code>); this only consolidates each pair into a single same-line directive so the suppression actually takes effect.<\/li>\n<\/ul>\n\n<h4>1.16.1<\/h4>\n\n<ul>\n<li>Fixed: the WooCommerce Orders \u2014 Attribution Campaign filter was collected and echoed back into the filter input, but never actually applied to the query \u2014 selecting a campaign had no effect on the table, the order count, or CSV export. It's now applied consistently across all three, alongside the existing Status\/Source\/Search filters.<\/li>\n<\/ul>\n\n<h4>1.16.0<\/h4>\n\n<ul>\n<li>Added: Landing Page Optimization Report grouping \u2014 switch between Landing Page only, Landing Page + Traffic Source (previous default behaviour), and Landing Page + Campaign, to see whether performance issues trace to the page, the traffic source, or the campaign. New \"Session data retention\" default is now 365 days (was 180), for year-over-year and seasonal-campaign comparisons out of the box; 90\/180\/Forever remain available.<\/li>\n<li>Fixed: WooCommerce Orders \u2014 Attribution date filter always displayed \"Today\" regardless of the actual selection, even though filtering itself worked correctly.<\/li>\n<li>Fixed: several CSV exports (Landing Page Optimization, Cart Events, Campaign Performance, WooCommerce Orders) could silently ignore filters that were visibly active on screen, since these export forms submit via POST while the underlying filter-reading code only checked GET parameters. Exports now always match what's currently shown in the table\/report.<\/li>\n<\/ul>\n\n<h4>1.14.1 and earlier<\/h4>\n\n<ul>\n<li>See docs\/CHANGELOG-ARCHIVE.md for the complete history, including 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.<\/li>\n<\/ul>","raw_excerpt":"Track UTM attribution for Elementor forms and WooCommerce with lead capture, phone storage, and first-touch \/ last-touch reporting.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/291281","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=291281"}],"author":[{"embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ranelshulman"}],"wp:attachment":[{"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=291281"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=291281"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=291281"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=291281"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=291281"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pan.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=291281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}