Skip to content

Instantly share code, notes, and snippets.

@paulirish
Last active September 17, 2024 11:03
Show Gist options
  • Save paulirish/626834 to your computer and use it in GitHub Desktop.
Save paulirish/626834 to your computer and use it in GitHub Desktop.
userscript: Drop the UTM params from a URL when the page loads
// ==UserScript==
// @name UTM param stripper
// @author Paul Irish
// @namespace http://github.com/paulirish
// @version 1.2
// @description Drop the UTM params from a URL when the page loads.
// @extra Cuz you know they're all ugly n shit.
// @include http*://*
// ==/UserScript==
// Update:
// In chrome, it's better to just install the UTM stripper chrome extension:
// https://chrome.google.com/webstore/detail/google-analytics-paramete/jbgedkkfkohoehhkknnmlodlobbhafge
// It is great and open source: github.com/mihaip/utm-stripper
// You can also install this greasemonkey script if you really want.
// download this script. go to about:extensions. Turn on developer mode and drag and drop
// this file onto the window. it'll install it. hopefully.
// lastly, if your site / marketing funnel uses these tracking tokens. you can clean up your users URLs
// look at the comments below on correct installation to integrate with __gaq.push
if (/utm_/.test(location.search) && window.history.replaceState){
// thx @cowboy for the revised hash param magic.
var oldUrl = location.href;
var newUrl = oldUrl.replace(/\?([^#]*)/, function(_, search) {
search = search.split('&').map(function(v) {
return !/^utm_/.test(v) && v;
}).filter(Boolean).join('&'); // omg filter(Boolean) so dope.
return search ? '?' + search : '';
});
if ( newUrl != oldUrl ) {
window.history.replaceState({},'', newUrl);
}
}
@vivek1986
Copy link

vivek1986 commented Mar 2, 2022

As we all know how Google abuses privacy by Search url tracking, let's put an end to that once n for all:

// ==UserScript==
// @name         Cleanup Google Search URLs
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description Put an end to Google Search Tracking
// @author       VS
// @match        http*://*.google.com/search*
// @include      /^https?\:\/\/.*.google\..*\/.*$/
// @icon         https://www.google.com/s2/favicons?sz=64&domain=google.com
// @grant        none
// ==/UserScript==
(function(){
    'use strict';
    let url = window.location.origin;
    let currUrl = window.location.href;
    let cleanUrl = currUrl.split('&')[0].split('#')[0];
    // let cleanUrl = currUrl.replace(/\(pp_w\d+_h\d+\)/gi, '');
    window.history.replaceState({},'', cleanUrl);
    // window.history.pushState({page:cleanUrl}, cleanUrl, cleanUrl);
})();

@Korb
Copy link

Korb commented Feb 24, 2023

The script does not work with links pasted by the Augmented Steam browser extension. Links like https://steamdb.info/app/.../?utm_source=Steam&utm_medium=Steam&utm_campaign=SteamDB%20Extension and https://pcgamingwiki.com/api/appid.php?appid=...&utm_source=Steam&utm_medium=Steam&utm_campaign=SteamDB%20Extension remain unchanged. Mozilla Firefox 111.0b5 (64-bit), Tampermonkey 4.18.1 (January 17, 2023).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment