Remove tracking parameters from URLs — strip UTM tags, fbclid, gclid, and more.
dotnet add package Philiprehberger.UrlCleanerRemove tracking parameters from URLs — strip UTM tags, fbclid, gclid, and more.
dotnet add package Philiprehberger.UrlCleaner
using Philiprehberger.UrlCleaner;
// Clean a URL string
var clean = UrlCleaner.RemoveTracking(
"https://example.com/page?utm_source=newsletter&utm_medium=email&id=42");
// => "https://example.com/page?id=42"
// All default tracking params removed
UrlCleaner.RemoveTracking("https://example.com/?fbclid=abc&gclid=xyz&q=hello");
// => "https://example.com/?q=hello"
// With a Uri overload
var uri = new Uri("https://example.com/?ref=twitter&page=1");
UrlCleaner.RemoveTracking(uri);
// => "https://example.com/?page=1"
// Add extra params to strip
UrlCleaner.RemoveTracking(
"https://example.com/?custom_track=1&q=hi",
additionalParams: ["custom_track"]);
// => "https://example.com/?q=hi"
// Fragment is preserved
UrlCleaner.RemoveTracking("https://example.com/?utm_source=x#section");
// => "https://example.com/#section"
using Philiprehberger.UrlCleaner;
var url = "https://example.com/page?ref=twitter&session=abc123&id=42";
var clean = UrlCleaner.RemoveTracking(url, new[] { "session" });
// "https://example.com/page?id=42"
using Philiprehberger.UrlCleaner;
var uri = new Uri("https://example.com/page?utm_source=google&utm_medium=cpc&q=test");
var clean = UrlCleaner.RemoveTracking(uri);
// "https://example.com/page?q=test"
UrlCleaner| Method | Description |
|---|---|
RemoveTracking(string url, IEnumerable<string>? additionalParams = null) | Strip tracking params from a URL string; returns the input unchanged if it is not a valid absolute URL |
RemoveTracking(Uri uri, IEnumerable<string>? additionalParams = null) | Strip tracking params from a Uri |
Default tracking parameters removed:
utm_source, utm_medium, utm_campaign, utm_term, utm_content, fbclid, gclid, msclkid, mc_eid, ref, _ga, _gl
dotnet build src/Philiprehberger.UrlCleaner.csproj --configuration Release
If you find this project useful: