untrackme?si=8fK2q

Every link you copy is carrying something.

Campaign tags, click IDs, playlist positions, share fingerprints. Paste a link to see what is attached to it, then take it off.

Already cleared links.

The link, taken apart

An example. Paste a link above to run your own.

https://www.youtube.com/watch

What comes off

A parameter is removed when it exists to identify the person clicking, the campaign that sent them, or the surface they clicked from. Parameters the page actually needs, like a product ID or a search query, stay.

Campaign tags

utm_source, utm_medium, utm_campaign, mtm_*, pk_*, itm_*

Written by marketing tools so a visit can be tied back to one specific email, ad, or post.

Click IDs

fbclid, gclid, msclkid, ttclid, twclid, igshid, li_fat_id

Unique per click. These are how an ad network matches a page view to the individual it showed the ad to.

Share fingerprints

si, ref_src, __twitter_impression, _branch_*

Added at the moment you press Share. They record who sent the link, so the receiver's click reports back to the sender's account.

Playlist and player state

list, index, start_radio, pp, ab_channel, feature

Carries your viewing session into someone else's. Sending a video with these still attached hands over your playlist and where you were in it.

Affiliate and session codes

irclickid, cjevent, ranMID, ascsubtag, mc_eid, mkt_tok

Commission tracking and per-recipient email IDs. An mc_eid in a forwarded newsletter link identifies the original subscriber.

YouTube, specifically

YouTube links are the worst offenders, so they get a stricter rule than everything else. On a /watch URL only v survives. Every other parameter is dropped, including the start timestamp, because the allowlist is deliberately narrow rather than a list of known-bad names that YouTube can add to faster than anyone can keep up.

youtu.be links keep nothing at all: the video ID lives in the path, so the query string is pure tracking.

For your own tools

The cleaning logic sits behind one POST endpoint that any script, shortcut, or browser extension can call. It is open to every origin, needs no key, and stores nothing about the caller.

curl -X POST https://untrackme.narek.actcollege.am/clean \
  -H 'Content-Type: application/json' \
  -d '{"url":"https://youtu.be/dQw4w9WgXcQ?si=xY12ab","shorten":true}'
{
  "ok": true,
  "original": "https://youtu.be/dQw4w9WgXcQ?si=xY12ab",
  "cleaned": "https://youtu.be/dQw4w9WgXcQ",
  "removed": [
    { "key": "si", "value": "xY12ab", "reason": "Share fingerprint" }
  ],
  "kept": [],
  "changed": true,
  "total": 1284,
  "code": "a7Bc2Q",
  "short": "https://untrackme.narek.actcollege.am/r/a7Bc2Q"
}

Set shorten to false or leave it out and the code and short fields are omitted. kept lists the parameters that survived, in their original order. GET /api/stats returns the public counter. GET /r/<code> answers with a 302 to the cleaned URL.