Shulman UTM Attribution for Elementor

설명

Shulman UTM Attribution for Elementor brings real marketing attribution directly into your WordPress site.

Instead of relying only on external tools like Google Analytics, this plugin connects your traffic sources to actual leads and WooCommerce orders — so you can understand what truly drives results.

Know not just what happened — but what caused it.

Why This Matters

Most analytics tools show you traffic.

This plugin shows you what actually generated the lead or sale.

  • Which campaign brought the customer?
  • Which source deserves the credit?
  • What really works in your marketing?

No more guessing. No more “direct traffic” confusion.

Attribution Model

Built around a Last Non-Direct Click model (like Google Analytics):

  • Direct visits never overwrite real marketing sources
  • Internal navigation does not break attribution
  • Previous campaigns keep their credit

Optional: enable First Click + Last Click tracking for deeper funnel analysis.

Core Features

Built to give you reliable, real-world attribution — not just raw data:

  • Last Non-Direct Click attribution – direct visits and internal page navigation never overwrite a previously stored source, matching Google Analytics default behavior
  • 7-day attribution window – UTM data persists for 7 days in localStorage and as a cookie
  • Auto-fills Elementor hidden fields – works with standard utm_source, utm_medium, utm_campaign, utm_content, utm_term field IDs
  • First Click + Last Click mode – optional per-form dual attribution using fc_ / lc_ prefixed field IDs
  • 50+ referrer sources detected – search engines, social networks, messaging apps (WhatsApp, Telegram, Viber), email providers (Gmail, Outlook, Yahoo Mail), video platforms, Israeli news sites, and more
  • Click-ID detectiongclid (Google Ads), fbclid (Meta), msclkid (Bing), ttclid (TikTok), li_fat_id (LinkedIn), twclid (Twitter), epik (Pinterest), dclid (Google Display)
  • Priority chain – UTM params Click-ID Referrer Direct (never overwrites)
  • localStorage fallback – if localStorage is blocked, falls back to cookie; marks lead as “untracked” when both are unavailable

UTM Attribution Dashboard (Elementor Pro)

When Elementor Pro is installed, every form submission is captured with full UTM attribution data and displayed in a dedicated reporting dashboard:

  • New admin page UTM Attribution Attribution Dashboard — view lead attribution data at a glance
  • See source, medium, campaign, and attribution coverage for every captured lead
  • Color-coded Source column (paid = orange, organic = green, social = blue, email = purple)
  • Summary cards: Total leads · Attributed leads · Top source · Attribution rate %
  • Filter by form and by UTM source to analyze top-performing traffic segments
  • Full-text search across name, email, source, campaign
  • Export attribution records to CSV for offline analysis (UTF-8 with BOM for Excel compatibility)
  • Bulk delete old records

This screen is designed for attribution and marketing analysis. Elementor’s native submissions table remains the primary source for full form-entry details.

WooCommerce Integration

Turn every order into actionable marketing insight:

  • See exactly which source generated each order
  • Filter orders by traffic source
  • Export attribution data for analysis
  • Works with HPOS and legacy storage

No external tools required.

Enable via UTM Attribution Settings Enable WooCommerce tracking:

  • Saves UTM source/medium/campaign/content/term/id to every order as order meta
  • Adds a color-coded UTM Source column to the WooCommerce Orders table
  • Adds a UTM Tracking meta box to each order detail page
  • Filter orders by UTM source using the dropdown in the Orders filter bar
  • UTM columns included in WooCommerce CSV export
  • Compatible with both HPOS and Legacy order storage

Elementor Form Setup

Last Click only (default — no configuration needed):

Add hidden fields with these IDs to your Elementor form:
utm_source · utm_medium · utm_campaign · utm_content · utm_term · utm_id

First Click + Last Click (configure Form ID in Settings):

Add hidden fields with these IDs:
First click: fc_source · fc_medium · fc_campaign · fc_content · fc_term
Last click: lc_source · lc_medium · lc_campaign · lc_content · lc_term

Privacy & GDPR

  • All data is stored locally in the visitor’s browser (localStorage + cookie)
  • No data is sent to external servers
  • Cookie name: shulmanattrib_utm_data, expiry: 7 days, contains only marketing source data (no PII)
  • Leads are stored in your own WordPress database for attribution reporting
  • Add the cookie to your cookie consent notice
  • No external APIs, no third-party tracking, no data sharing

설치

  1. Upload the plugin folder to /wp-content/plugins/
  2. Activate the plugin through the Plugins menu in WordPress
  3. Go to UTM Attribution Settings to configure options
  4. Add hidden UTM fields to your Elementor forms (see Elementor Form Setup above)
  5. Optionally enable WooCommerce integration

Upgrading from 1.3.x:
The wp_ute_leads table is created automatically on first load after activation — no manual steps required.

FAQ

Does this work without Elementor Pro?

Yes. The frontend JS and WooCommerce integration work with Elementor free. The Attribution Dashboard requires Elementor Pro (for the elementor_pro/forms/new_record hook).

Does this conflict with WooCommerce’s built-in attribution (v8.5+)?

No. WooCommerce’s native attribution operates independently. This plugin adds its own meta fields (_ute_utm_*) and does not modify WooCommerce’s attribution data.

What is “Last Non-Direct Click”?

It means that if a visitor first arrives via Google Ads (gclid), then returns directly three days later to convert, the conversion is attributed to Google Ads — not to “direct”. This matches Google Analytics 4 default behavior. Direct traffic only gets credit when no prior source exists.

Can I track both the first and last click?

Yes. Add the Form ID to the First+Last Click list in Settings, then add fc_* and lc_* hidden fields to that form. All other forms use last-click only.

Is fbclid treated as paid traffic?

No. fbclid is appended to all Meta link clicks — both paid ads and organic posts — so it cannot reliably indicate paid traffic. The plugin records fbclid visits as facebook / social. For reliable paid attribution, use explicit UTM tags (utm_medium=paid_social) on your campaigns.

What happens if localStorage is blocked?

The plugin falls back to the cookie. If the cookie is also unavailable (e.g. Safari ITP in certain configurations), the lead is saved with utm_source from the server-side referrer fallback, or marked as “untracked” if no referrer is available.

How do I add the cookie to my cookie consent banner?

Add a cookie named shulmanattrib_utm_data, category: Marketing/Analytics, duration: 7 days, description: “Stores the visitor’s UTM traffic source for marketing attribution.”

후기

이 플러그인에 대한 평가가 없습니다.

기여자 & 개발자

“Shulman UTM Attribution for Elementor”(은)는 오픈 소스 소프트웨어입니다. 다음의 사람들이 이 플러그인에 기여하였습니다.

기여자

자국어로 “Shulman UTM Attribution for Elementor”(을)를 번역하세요.

개발에 관심이 있으십니까?

코드 탐색하기는, SVN 저장소를 확인하시거나, 개발 기록RSS로 구독하세요.

변경이력

1.7.12

  • FIX: replaced inline admin JavaScript and CSS with properly enqueued assets
  • FIX: switched public plugin-specific identifiers to the shulmanattrib prefix where applicable
  • FIX: renamed admin/export identifiers for cleaner WordPress.org review compliance
  • FIX: updated cookie documentation and packaging for the renamed plugin

1.4.0

  • NEW: UTM Leads admin page — captures every Elementor Pro form submission with full UTM attribution
  • NEW: wp_ute_leads database table — stores form_id, form_name, lead name, email, all UTM fields, timestamp
  • NEW: Summary dashboard cards — Total leads / Tracked / Top source / Attribution rate
  • NEW: Filter by form and by UTM source; full-text search; Export CSV; bulk delete
  • NEW: UTM Attribution top-level admin menu with Settings and UTM Leads submenus
  • NEW: load_plugin_textdomain() — plugin is now translation-ready
  • NEW: uninstall.php — clean removal of all options and the ute_leads table on plugin delete
  • FIX: fbclid mapped to medium ‘social’ instead of ‘paid’ (fbclid appears on organic Meta clicks too)
  • FIX: twclid (Twitter) and epik (Pinterest) also mapped to medium ‘social’
  • NEW: dclid (Google Display & Video) added to click-ID map with medium ‘display’

1.3.1

  • FIX: Last Non-Direct Click model applied consistently to localStorage, lc_ prefix, and WooCommerce cookie
  • FIX: saveUtmData() now clears all existing UTM keys before writing new ones (stale fields fixed)
  • FIX: mail.yahoo.com correctly identified as email/yahoo-mail (was: organic/yahoo)
  • FIX: x.com false positive — lax.com, ajax.com etc. no longer misidentified as Twitter/X
  • FIX: t.co false positive — bit.com, mat.com etc. no longer misidentified as Twitter/X
  • FIX: t.me false positive — statement.me, art.me etc. no longer misidentified as Telegram
  • FIX: Google Maps (maps.google.com) now correctly detected before generic Google check
  • FIX: PHP legacy meta_query array initialised defensively before appending filter
  • IMPROVED: via value renamed ‘internal’ for internal navigation (was ‘direct’)

1.3.0

  • NEW: UTM Source filter dropdown in WooCommerce Orders table
  • NEW: CSV Export includes UTM Source, Medium, Campaign, Content, Term columns
  • IMPROVED: Filter works with both HPOS and Legacy order storage

1.2.1

  • NEW: Click-ID detection — fbclid, gclid, msclkid, ttclid, li_fat_id, twclid, epik, dclid
  • FIX: Replaced AJAX/sendBeacon with cookie-based storage (eliminates race condition on order creation)
  • FIX: Default “direct / none” written to order meta when no source data exists
  • IMPROVED: “untracked” shown when localStorage is blocked

1.2.0

  • NEW: WooCommerce integration — UTM source tracking for orders
  • NEW: “UTM Source” column in WooCommerce Orders table
  • NEW: “UTM Tracking (7-day)” meta box on single order page
  • NEW: Enable/Disable WooCommerce feature via Settings UI

1.1.1

  • FIX: Internal navigation (same domain) no longer overwrites stored UTM source

1.1.0

  • NEW: Extended referrer detection (50+ sources)
  • NEW: Israeli news sites (Ynet, Walla, Mako, Haaretz, etc.)
  • NEW: Messaging apps (WhatsApp, Telegram, Messenger, Viber, Line)
  • NEW: Email providers (Gmail, Outlook, Yahoo Mail, ProtonMail)

1.0.1

  • FIX: Support for Elementor’s form-field- prefix on input names/IDs

1.0.0

  • Initial release