PageSourceSearch

https://www.imaginelearning.com/wp-content/themes/imagine-learning/js/marketo-utm-tracker.js

js imaginelearning.com collected 2026-10-01 10:16:49 UTC 5,181 bytes, 26 lines download raw bytes

1;(function(){'use strict';
2    
3    /****************** CONFIGURATION VARIABLES ******************/
4
5    // Use Marketo's SOAP API names of corresponding UTM fields
6    var utmFields = {
7            'utm_medium'    : 'utmmedium'
8        ,   'utm_source'    : 'utmsource'
9        ,   'utm_campaign'  : 'utmcampaign'
10        ,   'utm_content'   : 'utmcontent'
11        ,   'utm_term'      : 'utmterm'
12        ,   'utm_adgroup'   : ''
13    };
14
15    // Use Marketo's SOAP API names of corresponding _original_ UTM fields
16    var utmOrigFields = {
17            'utm_medium'    : 'original_utm_medium'
18        ,   'utm_source'    : 'original_utm_source'
19    };
20
21
22    /**************** DO NOT EDIT BELOW THIS LINE ****************/
23
24    var version="200514",cookieName="dpi_utmVals",cookieOrigName="dpi_utmOrigVals",cookieExpiry=180,cookieDomain="",_=function(o){"#debug"===location.hash&&console.log(o)},getQueryVar=function(o){o=o.replace(/[*+?^$.\[\]{}()|\\\/]/g,"\\$&");var e=location.search.match(new RegExp("[?&]"+o+"=([^&]+)(&|$)"));return e&&decodeURIComponent(e[1].replace(/\+/g," "))},getCookie=function(o){var e=document.cookie.match("(^|;) ?"+o+"=([^;]*)(;|$)");return e?JSON.parse(e[2]):null},setCookie=function(o,e,i,t){var n=new Date;n.setTime(n.getTime()+864e5*i);var c="";"string"==typeof t&&t.length>0&&(c=";domain=."+t),document.cookie=o+"="+JSON.stringify(e)+";path=/;expires="+n.toGMTString()+c},deleteCookie=function(o,e){setCookie(o,"",-1,e)},getCookieDomain=function(){for(var o=location.hostname.split("."),e="",i=o.length-1;i>=0;i--){if(e=e.length>0?o[i]+"."+e:o[i],setCookie("dpi_test",e,1,e),getCookie("dpi_test"))return deleteCookie("dpi_test",e),e;if(0===i)return null}},recordNone=function(){if(_("Checking for "+cookieOrigName+" cookie..."),getCookie(cookieOrigName))_(cookieOrigName+" cookie already set; no change");else{var o={};Object.keys(utmOrigFields).forEach(function(e){o[utmOrigFields[e]]="none"}),setCookie(cookieOrigName,o,cookieExpiry,cookieDomain),_("Set "+cookieOrigName+' cookie with "none"')}},init=function(){_("Running init() function");var o={},e={},i="",t=0,n=[cookieName,cookieOrigName];if(cookieDomain=getCookieDomain(),_("Cookie domain is "+cookieDomain),_("Checking for query string..."),location.search.length){var c;for(c in _("Query string found; searching for UTM parameters and values..."),utmFields)(i=getQueryVar(c))?(t++,o[utmFields[c]]=i):o[utmFields[c]]="NULL";for(c in utmOrigFields)i=getQueryVar(c),e[utmOrigFields[c]]=i||"none";t>0?(_("Found "+t+" UTM values in query string"),setCookie(cookieName,o,cookieExpiry,cookieDomain),_("Set "+cookieName+" cookie with "+t+" UTM values"),_("Checking for "+cookieOrigName+" cookie..."),getCookie(cookieOrigName)?_(cookieOrigName+" cookie already set; no change"):(setCookie(cookieOrigName,e,cookieExpiry,cookieDomain),_("Set "+cookieOrigName+" cookie with "+Object.keys(e).length+" UTM values"))):(_("No UTM values present in query string"),recordNone())}else _("No query string found"),recordNone();if(_("Checking for MktoForms2 API..."),"object"!=typeof MktoForms2)return _("MktoForms2 API not detected; exiting"),!1;_("MktoForms2 API detected"),MktoForms2.whenReady(function(o){var e=o.getFormElem()[0];_("Marketo form detected (#mktoForm_"+o.getId()+")"),n.forEach(function(i){_("Checking for "+i+" cookie..."),getCookie(i)?(_("Found "+i+" cookie with "+Object.keys(getCookie(i)).length+" UTM values"),_("Adding UTM values from "+i+" cookie to Marketo form #mktoForm_"+o.getId()),o.addHiddenFields(getCookie(i)),e.getAttribute("digitalpi-utms-added")||e.setAttribute("digitalpi-utms-added",!0)):_(i+" cookie not found")}),o.onSuccess(function(){_("Marketo form (#mktoForm_"+o.getId()+") submitted successfully with UTM data; deleting "+cookieName+" cookie"),deleteCookie(cookieName,cookieDomain)})})},global=function(){_("_digitalpi object defined in global scope"),window._digitalpi=window._digitalpi||{},_("_digitalpi.trackUTMs() defined in global scope"),window._digitalpi.trackUTMs=function(){init()}},c=function(){var o="%cUTM Tracking for %cMarketo. %c❤%c, @digitalpi. %cVersion: "+version+". Append #debug to URL to enable console logging.",e={1:"WFhYWCAgIFhYWFhYWFhYICAgIFhYWFg=",2:"ICAgIFhYWA==",3:"WFhYWCAgICAgICBYWFhYICAgIFhYWFg=",4:"ICAgIFhYWFhY",5:"WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg=",6:"ICAgIFg=",7:"WFhYWCAgIFhYICAgWFhYICAgIFhYWFg="},i="";
24[5,5,3,7,7,3,1,1,5,5,4,2,6].forEach(function(o){i+=atob(e[o])+"\n"}),console.log(o,"font-weight:bold;color:#646669","font-weight:bold;color:#5944b0","font-size:125%;color:#3AA5B6","color:#3AA5B6","font-weight:normal;color:#C4C6C9"),"#debug"===location.hash&&console.log("%c"+i+"%cUTM Tracking for Marketo\n%cAuthor: Jon Bourne, jonbourne.com\nCompany: Digital Pi, digitalpi.com\nVersion: "+version,"color:#3AA5B6","font-weight:bold;color:#3AA5B6","color:#C4C6C9")};/complete|interactive|loaded/.test(document.readyState)?(_("Document loaded; calling init()"),c(),init(),global()):(_("Document not loaded; setting DOMContentLoaded event listener to call init()"),document.addEventListener("DOMContentLoaded",function(){_("DOMContentLoaded event fired; calling init()"),c(),init(),global()}));
25
26})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.