🔗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=abc

Try 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