{"id":340761,"date":"2026-11-12T11:12:22","date_gmt":"2026-11-12T11:12:22","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/universal-utm-tracker\/"},"modified":"2026-11-12T11:31:21","modified_gmt":"2026-11-12T11:31:21","slug":"utmtrackr-lite","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/utmtrackr-lite\/","author":23423523,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.3","stable_tag":"1.1.3","tested":"7.1.4","requires":"5.3","requires_php":"7.4","requires_plugins":null,"header_name":"UTMTrackr Lite","header_author":"Auxano Global Services","header_description":"Privacy-aware UTM attribution for WPForms and Contact Form 7. Captures the five standard UTM parameters, keeps them in a first-party cookie and adds them to every submission. Includes a campaign Link Builder.","last_updated":"2026-11-12 11:31:21","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/utmtrackr-lite\/","header_author_uri":"https:\/\/auxanoglobalservices.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":47,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.2":{"tag":"1.1.2","author":"auxanoglobalservices14","date":"2026-11-12 11:11:50","revision":3798129},"1.1.3":{"tag":"1.1.3","author":"auxanoglobalservices14","date":"2026-11-12 11:31:21","revision":3798173}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3798129,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3798129,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3798173,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3798173,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.2","1.1.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3798173,"resolution":"1","location":"assets","locale":"","width":1280,"height":860},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3798173,"resolution":"2","location":"assets","locale":"","width":1280,"height":860},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3798173,"resolution":"3","location":"assets","locale":"","width":1280,"height":860},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3798173,"resolution":"4","location":"assets","locale":"","width":1280,"height":860},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3798173,"resolution":"5","location":"assets","locale":"","width":1280,"height":860}},"screenshots":{"1":"Dashboard with the setup checklist.","2":"Field Mapping: add UTM fields to WPForms and Contact Form 7 forms.","3":"Link Builder: build a tagged campaign link and copy it.","4":"General settings: consent mode.","5":"Diagnostics: check that tracking is working."}},"plugin_section":[],"plugin_tags":[20230,40006,24188,25969,130711],"plugin_category":[],"plugin_contributors":[253796],"plugin_business_model":[],"class_list":["post-340761","plugin","type-plugin","status-publish","hentry","plugin_tags-campaign-tracking","plugin_tags-marketing-attribution","plugin_tags-utm","plugin_tags-utm-tracking","plugin_tags-wpforms","plugin_contributors-auxanoglobalservices14","plugin_committers-auxanoglobalservices14"],"banners":{"banner":"https:\/\/ps.w.org\/utmtrackr-lite\/assets\/banner-772x250.png?rev=3798173","banner_2x":"https:\/\/ps.w.org\/utmtrackr-lite\/assets\/banner-1544x500.png?rev=3798173","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/utmtrackr-lite\/assets\/icon-128x128.png?rev=3798129","icon_2x":"https:\/\/ps.w.org\/utmtrackr-lite\/assets\/icon-256x256.png?rev=3798129","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/utmtrackr-lite\/assets\/screenshot-1.png?rev=3798173","caption":"Dashboard with the setup checklist."},{"src":"https:\/\/ps.w.org\/utmtrackr-lite\/assets\/screenshot-2.png?rev=3798173","caption":"Field Mapping: add UTM fields to WPForms and Contact Form 7 forms."},{"src":"https:\/\/ps.w.org\/utmtrackr-lite\/assets\/screenshot-3.png?rev=3798173","caption":"Link Builder: build a tagged campaign link and copy it."},{"src":"https:\/\/ps.w.org\/utmtrackr-lite\/assets\/screenshot-4.png?rev=3798173","caption":"General settings: consent mode."},{"src":"https:\/\/ps.w.org\/utmtrackr-lite\/assets\/screenshot-5.png?rev=3798173","caption":"Diagnostics: check that tracking is working."}],"raw_content":"<!--section=description-->\n<p>UTMTrackr Lite captures the five standard UTM parameters (<code>utm_source<\/code>, <code>utm_medium<\/code>, <code>utm_campaign<\/code>, <code>utm_term<\/code> and <code>utm_content<\/code>) from your visitors' URLs, keeps them in a first-party cookie for 7 days, and fills them into a WPForms or Contact Form 7 submission automatically. No manual hidden-field wiring, no third-party analytics account, nothing sent off your site.<\/p>\n\n<p><strong>Tracked parameters<\/strong><\/p>\n\n<ul>\n<li>utm_source<\/li>\n<li>utm_medium<\/li>\n<li>utm_campaign<\/li>\n<li>utm_term<\/li>\n<li>utm_content<\/li>\n<\/ul>\n\n<p><strong>Supported form plugins<\/strong><\/p>\n\n<ul>\n<li>WPForms: smart tags<\/li>\n<li>Contact Form 7: mail tags and hidden-field backfill<\/li>\n<\/ul>\n\n<p>The tracking core runs independently of any form plugin. If neither supported form plugin is installed, UTM values are still captured and preserved in the cookie, and no errors are raised. A plain HTML form, or any other form builder, can be wired up explicitly via UTMTrackr &gt; Field Mapping (a CSS selector paired with a UTM key, no code required).<\/p>\n\n<p><strong>Campaign Link Builder<\/strong><\/p>\n\n<p>UTMTrackr &gt; Link Builder builds a tagged campaign URL from a page address plus source, medium, campaign, term and content, with a one-click copy button. Everything happens in your browser; nothing is saved or sent anywhere.<\/p>\n\n<p><strong>Shortcode<\/strong><\/p>\n\n<pre><code>[utmtrackr key=\"utm_source\" default=\"direct\"] shows a tracked value in a page or post. `default` is shown when there is no value yet.\n<\/code><\/pre>\n\n<p><strong>Settings import and export<\/strong><\/p>\n\n<p>Settings &gt; Advanced exports your settings and custom field mappings as a JSON file, or imports one, to move them to another site or keep a backup.<\/p>\n\n<p>A separate paid plugin, UTMTrackr, is available at utmtrackr.com.<\/p>\n\n<h3>Architecture<\/h3>\n\n<pre><code>Settings \/ Consent Gate \/ Cookie Manager\n        |\nUniversal Tracking Core\n        |\nIntegration Manager\n        |\n+-- Contact Form 7\n+-- WPForms\n<\/code><\/pre>\n\n<p>The UTM capture logic lives in a single Universal Tracking Core. Each integration reads its values from that core, so the logic is never duplicated.<\/p>\n\n<h3>Settings<\/h3>\n\n<ul>\n<li><strong>Cookie lifetime<\/strong>: 7 days.<\/li>\n<li><strong>Consent mode<\/strong>: off (default), gated on an existing consent cookie, or gated on a manual <code>window.UTMTrackr.setConsent(true)<\/code> call from your own consent-management platform. When gated, no attribution cookie is created and no form field is filled until consent is granted.<\/li>\n<li><strong>Legacy automatic field matching<\/strong>: off by default. When off, only an integration's native mechanism, an admin-configured custom selector (Field Mapping tab), or an exact name\/id match fills a field. Turning this on adds broad substring matching for backward compatibility with very old setups.<\/li>\n<li><strong>Debug mode<\/strong>: off by default. Logs technical event codes only (no personal data, no raw values) to the Diagnostics tab.<\/li>\n<li><strong>On uninstall<\/strong>: keep configuration (default) or delete all plugin settings\/mappings on uninstall.<\/li>\n<\/ul>\n\n<p>When a visitor comes back through a different campaign, the most recent campaign gets the credit (last touch).<\/p>\n\n<h3>How each integration captures values<\/h3>\n\n<ul>\n<li><strong>WPForms<\/strong>: Add a field and set its Default Value to the smart tag <code>{utm_source}<\/code> (registered by this plugin), or let UTMTrackr &gt; Field Mapping add the fields for you (on WPForms Lite, which has no Hidden field, it adds a text field that a small stylesheet hides). WPForms resolves the value from the tracking core.<\/li>\n<li><strong>Contact Form 7<\/strong>: Use the hidden field tag <code>[hidden utm_source]<\/code>, or the mail tag <code>[utm_source]<\/code> in the email template. Values are merged into the posted data server-side, so the default AJAX submission works.<\/li>\n<li><strong>Any other form<\/strong>: in UTMTrackr &gt; Field Mapping &gt; Custom Field Mapping, pair an exact CSS selector with a UTM key.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>In WordPress, go to Plugins &gt; Add New, search for UTMTrackr Lite, then install and activate it. Or upload the plugin ZIP on the same screen.<\/li>\n<li>Follow the short Setup Guide, or open UTMTrackr &gt; Field Mapping.<\/li>\n<li>For WPForms or Contact Form 7, add the UTM fields to your form from Field Mapping. For any other form, pair a CSS selector with a UTM key.<\/li>\n<li>Visit your form with a tagged link, for example <code>\/contact\/?utm_source=newsletter&amp;utm_medium=email<\/code>, and send a test submission. The UTM values arrive with the entry or email.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20without%20wpforms%20or%20contact%20form%207%3F\"><h3>Does it work without WPForms or Contact Form 7?<\/h3><\/dt>\n<dd><p>Yes. The tracking core is fully independent, so UTM values are still captured and stored in a cookie. Use Field Mapping to wire up any other form.<\/p><\/dd>\n<dt id=\"where%20is%20the%20utm%20data%20stored%3F\"><h3>Where is the UTM data stored?<\/h3><\/dt>\n<dd><p>Only in first-party browser cookies (<code>utmtrackr_lt_&lt;parameter&gt;<\/code> for each of the five UTM parameters, e.g. <code>utmtrackr_lt_utm_source<\/code>, kept for 7 days) while the visitor is on your site, and in whatever fields you map it into on submission (stored by WPForms\/Contact Form 7 themselves). The plugin keeps no separate log of its own and never sends data off your site. See the in-plugin Privacy tab (UTMTrackr &gt; Settings &gt; Privacy) for full details.<\/p><\/dd>\n<dt id=\"can%20i%20make%20tracking%20depend%20on%20cookie%20consent%3F\"><h3>Can I make tracking depend on cookie consent?<\/h3><\/dt>\n<dd><p>Yes. Set Consent mode on the General tab. See the Privacy tab for the integration point.<\/p><\/dd>\n<dt id=\"does%20it%20contact%20any%20outside%20server%3F\"><h3>Does it contact any outside server?<\/h3><\/dt>\n<dd><p>No. The plugin makes no requests to utmtrackr.com or anywhere else: updates come from WordPress.org, and it sends no usage statistics.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Changed: Link Builder: the editor and the generated link now share the width evenly.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Changed: code clean-up. Campaigns are now remembered for a fixed 7 days.<\/li>\n<li>Changed: other plugins' admin notices are no longer hidden on UTMTrackr screens.<\/li>\n<li>Changed: every script and style is now loaded from its own file; there is no inline script or style any more.<\/li>\n<li>Security: every value read from a request, cookie or uploaded file is now sanitized as it is read and validated before use (settings form, settings import file, field setup, cookies).<\/li>\n<li>Security: the settings import accepts only a real uploaded .json file of at most 1 MB.<\/li>\n<li>Fixed: an imported settings file or settings form with a list where a text value belongs no longer prints a PHP warning or saves the word \"Array\".<\/li>\n<li>Fixed: on the Advanced tab, the Active\/Disabled badge now changes as soon as you flip the toggle, not only after saving.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fixed: deleting UTMTrackr Lite with \"Data Cleanup on Uninstall\" on no longer removes data while the UTMTrackr plugin is still installed. The cleanup now waits until the last of the two is removed.<\/li>\n<li>Fixed: the plugin description on the Plugins screen now matches what this plugin does.<\/li>\n<li>Changed: the version and Help links now go to WordPress.org.<\/li>\n<li>Fixed: Consent mode \"Cookie\" now starts tracking once your consent tool's cookie is present, as described. Before, it never tracked unless your consent tool also called <code>setConsent(true)<\/code>.<\/li>\n<li>Fixed: the Diagnostics \"Reset my browser attribution\" button now clears your attribution cookies. Before, it did nothing.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Changed: the plugin is now called UTMTrackr Lite (folder and text domain <code>utmtrackr-lite<\/code>).<\/li>\n<li>Added: <code>utm_term<\/code> and <code>utm_content<\/code> are now tracked too, so all five standard UTM parameters are captured.<\/li>\n<li>Added: Link Builder: build a tagged campaign link from a page address plus the five UTM values, and copy it in one click.<\/li>\n<li>Added: the <code>[utmtrackr]<\/code> shortcode, with an optional <code>default<\/code> text, for example <code>[utmtrackr key=\"utm_source\" default=\"direct\"]<\/code>.<\/li>\n<li>Added: settings import and export (Settings &gt; Advanced).<\/li>\n<li>Changed: the cookie lifetime is now 3, 7 or 14 days (7 by default).<\/li>\n<li>Changed: settings pages show only what this plugin does.<\/li>\n<li>Changed: the plugin download now contains only this plugin's own code.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Added: a Dashboard, now the first screen, with a setup checklist and shortcuts.<\/li>\n<li>Changed: a new top bar with the UTMTrackr logo, the main pages in one row, and the rest under Settings.<\/li>\n<li>Changed: clearer wording across the settings screens, and other plugins' notices are hidden on UTMTrackr screens.<\/li>\n<li>Changed: requires WordPress 5.3 or later.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed: WPForms submissions now fill any empty tracked UTM field at submission time, matching the Contact Form 7 integration, so a value that could not be filled when the form was displayed is still saved with the entry.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Changed: admin JavaScript is now loaded via <code>wp_enqueue_script()<\/code> instead of inline <code>&lt;script&gt;<\/code> tags; a dynamic admin-menu style now uses <code>wp_add_inline_style()<\/code> instead of an inline <code>&lt;style&gt;<\/code> tag.<\/li>\n<li>Fixed: a hardened check against a malformed value reaching the integration-loading filter.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: UTM tracking core (Source\/Medium\/Campaign) plus WPForms and Contact Form 7 integrations, Field Mapping for any other form, and a Diagnostics\/Privacy settings page.<\/li>\n<\/ul>","raw_excerpt":"Privacy-aware UTM attribution for WPForms and Contact Form 7. Captures all five UTM parameters and adds them to every submission.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/340761","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=340761"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/auxanoglobalservices14"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=340761"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=340761"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=340761"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=340761"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=340761"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=340761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}