WP Manifestindependent plugin directory
manifest / analytics / utmatra-utm-attribution-and-tracking

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.

★ 0stars

Install

Download source zip No release zip yet

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.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Self-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.

Dashboard overview

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

License

GPL-2.0-or-later. See LICENSE.md.