← All examples

JavaScript Privacy producthunt.com

Product Hunt: strip tracking parameters from links

Removes utm and ref parameters from outbound links to reduce tracking when you click through.

Code to copy

// Strip tracking parameters from outbound product links
(function () {
  var JUNK = /^(utm_|ref$|ref_src|source$)/i;
  function clean() {
    document.querySelectorAll('a[href*="?"], a[href*="&"]').forEach(function (a) {
      if (a.dataset.jzClean) { return; }
      var href = a.getAttribute('href') || '';
      if (!/^https?:/i.test(href)) { a.dataset.jzClean = '1'; return; }
      try {
        var u = new URL(href);
        var changed = false;
        Array.from(u.searchParams.keys()).forEach(function (k) {
          if (JUNK.test(k)) { u.searchParams.delete(k); changed = true; }
        });
        if (changed) { a.setAttribute('href', u.toString()); }
        a.dataset.jzClean = '1';
      } catch (e) { a.dataset.jzClean = '1'; }
    });
  }
  clean();
  var obs = new MutationObserver(function () {
    clearTimeout(window.__jzPrhClean);
    window.__jzPrhClean = setTimeout(clean, 500);
  });
  obs.observe(document.body, { childList: true, subtree: true });
})();

How to use this example

  1. Copy the code with the button above.
  2. Install JustZix (2 minutes) and open the extension on the target page.
  3. Add a new rule matching that page.
  4. Paste the code into the rule's JavaScript panel and save — it runs on every page visit.

Rate this example

No ratings yet — be the first.

Does this example work?

Snippets are useless without somewhere to paste them.

JustZix takes 2 minutes to install and runs your code on every matching page. No account, no payment.

Download free See use cases