Heads Up: Fix for stripmkttok.js

Highlighted

Heads Up: Fix for stripmkttok.js

It looks like there was a new piece of code deployed to all Marketo landing pages recently, /js/stripmkttok.js, and it has been automatically added to Marketo landing pages. This code is intended to remove the tracking parameter mkt_tok from end users' view via the HTML5 History API once the page is fully loaded. Unfortunately, this code doesn't work quite the way it should and often leaves extraneous characters if you are supplying your URL with other parameters (such as analytics tracking). This can be fixed by some alternate methods of approaching the problem; for example, using the following function corrects the issue:

var stripParam = function (key) {

var baseUrl = [location.protocol, "//", location.host, location.pathname].join(""),
urlQueryString = document.location.search,
newParam = key,
params = "?" + newParam;

if (urlQueryString) {
var removeRegex = new RegExp("([\?&])" + key + "=[^&;]+[&;]?");

params = urlQueryString.replace(removeRegex, "$1");
params = params.replace( /[&;]$/, "" );
}

params = params == "?" ? "" : params;

window.history.replaceState(
{}, "", baseUrl + params + window.location.hash
);
};
stripParam("mkt_tok");

If this functionality could be fixed as soon as possible, it would be appreciated—this has caused some unintended side effects.

1 REPLY 1
Highlighted

Re: Heads Up: Fix for stripmkttok.js

Insert FacePalm emoji here.

Kelly Jo Horton
Principal Engineer, Marketing Operations & Technology
ROOM
599 Broadway, FL 9 
New York, NY 10012
503.928.1928
kelly.horton@room.com
room.com #madebyroom