UTM Attribution Tracker
Utmatra - UTM Attribution and Tracking: self-hosted, privacy-friendly UTM and campaign tracking for WordPress. First and last touch attribution for WooCommerce orders and form leads, short links with QR codes, channel classification, journeys, webhooks and a Chart.js dashboard. No third-party analytics.
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/mahlamusa/utmatra-utm-attribution-and-tracking/archive/refs/heads/main.zipSelf-hosted UTM and campaign tracking for WordPress: short links, QR codes, first/last-touch attribution, WooCommerce revenue attribution, form lead capture and a live dashboard. No third-party analytics service involved.
![]()
Features
Tracking
- Cache-proof front-end beacon that records the first page of every visit and every UTM-tagged visit, even behind a full-page cache, with a server-side fallback for visitors without JavaScript.
- Channel classification at write time: direct, organic search, paid search, paid social, organic social, email, referral, AI assistant, display and affiliate.
- UTM parameters, ad click IDs (
gclid,fbclid,msclkid,ttclid,li_fat_id,twclid) and up to ten custom parameters of your own (coupon, affiliate ID, promo code). - First- and last-touch attribution cookie, gated on the WP Consent API.
- Bot filtering and click deduplication.
Links
- Pretty short links at
/go/{slug}/that count the click and forward with the UTM parameters appended. - A QR code per link, generated in the browser.
[utmatra_link]shortcode, UTM naming presets and a build-a-URL-only mode.
Reporting
- Chart.js dashboard: clicks over time, source, campaign, medium, device, channel, landing page, referrer and ad platform.
- WooCommerce revenue attribution, with first/last touch on every paid order.
- Customer journeys: every tagged visit that led to an order or form lead.
- CSV export, a weekly email summary and a read-only REST API (
utmatra/v1). - Tracking Doctor diagnostics for caching, consent, cookies, form coverage and WooCommerce attribution.
Forms and integrations
- Attribution capture for Contact Form 7, Gravity Forms, Ninja Forms, Elementor Pro Forms, WPForms, Fluent Forms, Formidable Forms, Forminator and Bricks, plus any form with a matching hidden field.
- Signed lead and order webhooks for Zapier, Make, HubSpot and GoHighLevel.
Privacy
- IP addresses stored only as salted SHA-256 hashes.
- Configurable data retention (180 days by default).
- No outbound requests unless you configure a webhook. Chart.js, the QR library and Action Scheduler are bundled.
The full documentation (FAQ, filter reference, REST API reference, external services) is in readme.txt.
Requirements
- WordPress 6.5 or later
- PHP 8.0 or later
- WooCommerce is optional and enables revenue attribution
Installation
Download the latest zip from Releases, then upload it under Plugins → Add New → Upload Plugin and activate it. The dashboard is under Utmatra in the admin sidebar.
Development
Clone the repository into wp-content/plugins/utm-attribution-tracker and install the Composer dependency (Action Scheduler):
git clone https://github.com/mahlamusa/utm-attribution-tracker.git
cd utm-attribution-tracker
composer install
There is no JavaScript or CSS build step. The files in assets/ ship as written.
Coding standards follow WordPress Core and are checked with PHP_CodeSniffer using phpcs.xml:
phpcs
phpcbf
Release scripts (they need composer and WP-CLI for the translations template):
| Command | What it does |
|---|---|
bash bin/build.sh |
Regenerates languages/utm-attribution-tracker.pot |
bash bin/release.sh |
Builds the install zip in releases/ |
bash bin/wp-org-publish.sh <version> |
Stages a WordPress.org SVN working copy, without committing |
The shipped plugin is built with git archive, so everything marked export-ignore in .gitattributes (this README, bin/, specs/, dev manifests) stays out of the zip.
Bundled libraries
- Chart.js 4.4.0, MIT
- QR Code Generator by Kazuhiko Arase, MIT
- Action Scheduler, GPL-3.0, installed with Composer
License
GPL-2.0-or-later. See LICENSE.md.