🔗URL & UTM
Remove Tracking Parameters
Strip UTM and other tracking parameters from URLs for cleaner sharing
Explanation
Remove common tracking parameters (utm_*, fbclid, gclid, etc.) for privacy or cleaner URLs.
Examples
Remove UTM parameters
Input
https://example.com?utm_source=fb&utm_campaign=test&id=123
Output
https://example.com?id=123
Remove Facebook tracking
Input
https://example.com?fbclid=ABC123&product=widget
Output
https://example.com?product=widget
Code Examples
JavaScript
// List of common tracking parameters
const TRACKING_PARAMS = [
// UTM parameters
'utm_source', 'utm_medium', 'utm_campaign',
'utm_term', 'utm_content',
// Platform-specific
'fbclid', 'gclid', 'msclkid', 'ttclid',
// Email tracking
'_hsenc', '_hsmi',
// Social
'ref', 'igshid',
// Analytics
'mc_cid', 'mc_eid'
];
function removeTrackingParams(url) {
const urlObj = new URL(url);
TRACKING_PARAMS.forEach(param => {
urlObj.searchParams.delete(param);
});
return urlObj.toString();
}
// Custom list
function removeParams(url, paramsToRemove) {
const urlObj = new URL(url);
paramsToRemove.forEach(param => {
urlObj.searchParams.delete(param);
});
return urlObj.toString();
}
// Usage
const trackedUrl = 'https://example.com?utm_source=fb&fbclid=123&id=abc';
const cleanUrl = removeTrackingParams(trackedUrl);
// Result: https://example.com?id=abcTry it Now
💡 Tips
- Keep a maintained list of tracking parameters
- Consider regex patterns for dynamic parameters
- Some params may be needed for functionality
- Use for canonical URLs and social sharing
- Browser extensions exist for automatic removal
⚠️ Common Pitfalls
- Some non-tracking params may look like tracking
- Removing gclid breaks Google Ads conversion tracking
- May break some marketing attribution
- Parameters might be in URL hash instead of query