Fix UTM in Path Issue: Convert to Query String

UTMGuard Team
5 min readtroubleshooting

Your UTM parameters are in the URL path instead of the query string. GA4 doesn't track them.

Here's the 5-minute fix to convert path-based to query-based format.

🚨 Not sure what's breaking your tracking?

Run a free 60-second audit to check all 40+ ways UTM tracking can fail.

Scan Your Campaigns Free

✓ No credit card ✓ See results instantly

The Problem (10-Second Version)

❌ PATH-BASED (broken):
site.com/page/utm_source/facebook/utm_medium/cpc

✅ QUERY-BASED (working):
site.com/page?utm_source=facebook&utm_medium=cpc

GA4 only reads query strings (after ?), not URL paths.

The 5-Minute Fix

Step 1: Identify Path-Based UTMs (1 minute)

Your URLs look like folder structures:

❌ site.com/article/utm_source/newsletter/
❌ site.com/products/source/facebook/medium/cpc/
❌ site.com/page/facebook/cpc/spring/

All WRONG - UTMs in path

Step 2: Convert Format (2 minutes)

Conversion formula:

Remove: Folder slashes (/)
Add: Question mark before first param (?)
Add: Ampersands between params (&)
Add: Equal signs for key-value (=)

Examples:

❌ site.com/page/utm_source/facebook/utm_medium/cpc/
✅ site.com/page?utm_source=facebook&utm_medium=cpc

❌ site.com/article/source/newsletter/campaign/weekly/
✅ site.com/article?utm_source=newsletter&utm_campaign=weekly

❌ site.com/products/facebook/paid/spring2024/
✅ site.com/products?utm_source=facebook&utm_medium=paid&utm_campaign=spring2024

Step 3: Update Active Campaigns (1 minute)

Replace broken URLs everywhere:

  • Social media posts
  • Email campaigns
  • Paid ads
  • Partner links

Step 4: Test (1 minute)

  1. Visit corrected URL in incognito browser
  2. Open GA4 → Real-Time
  3. Verify campaign appears

Done? Tracking restored.

😰 Is this your only tracking issue?

This is just 1 of 40+ ways UTM tracking breaks. Most marketing teams have 8-12 critical issues they don't know about.

• 94% of sites have UTM errors

• Average: $8,400/month in wasted ad spend

• Fix time: 15 minutes with our report

✓ Connects directly to GA4 (read-only, secure)

✓ Scans 90 days of data in 2 minutes

✓ Prioritizes issues by revenue impact

✓ Shows exact sessions affected

Get Your Free Audit Report

Quick Conversion Tool (JavaScript)

// Convert path-based UTM to query-based
function convertPathToQuery(pathUrl) {
  // Extract base URL and path components
  const parts = pathUrl.split('/');
 
  // Find where UTM parameters start
  const utmIndex = parts.findIndex(p => p.startsWith('utm_') || p === 'source' || p === 'medium' || p === 'campaign');
 
  if (utmIndex === -1) {
    return pathUrl; // No UTMs found
  }
 
  // Base URL (everything before UTMs)
  const base = parts.slice(0, utmIndex).join('/');
 
  // Extract UTM parameters
  const utmParts = parts.slice(utmIndex);
  const utmParams = [];
 
  for (let i = 0; i < utmParts.length; i += 2) {
    const key = utmParts[i].startsWith('utm_') ? utmParts[i] : `utm_${utmParts[i]}`;
    const value = utmParts[i + 1] || '';
    if (value) {
      utmParams.push(`${"{"}{"{"}key{"}"}{"}"}}=${"{"}{"{"}value{"}"}{"}"}}`);
    }
  }
 
  // Rebuild as query string
  return `${"{"}{"{"}base{"}"}{"}"}}?${utmParams.join('&')}`;
}
 
// Usage
const broken = 'https://site.com/page/utm_source/facebook/utm_medium/cpc/';
const fixed = convertPathToQuery(broken);
console.log(fixed);
// Output: https://site.com/page?utm_source=facebook&utm_medium=cpc

Common Path-Based Patterns

Pattern 1: Full utm_ Prefix

❌ site.com/page/utm_source/facebook/utm_medium/cpc/utm_campaign/spring/
✅ site.com/page?utm_source=facebook&utm_medium=cpc&utm_campaign=spring

Pattern 2: Abbreviated Keys

❌ site.com/page/source/facebook/medium/cpc/campaign/spring/
✅ site.com/page?utm_source=facebook&utm_medium=cpc&utm_campaign=spring

Pattern 3: No Key Labels

❌ site.com/page/facebook/cpc/spring/
✅ site.com/page?utm_source=facebook&utm_medium=cpc&utm_campaign=spring
(Assumes order: source, medium, campaign)

Pattern 4: Mixed Format

❌ site.com/page/utm_source/facebook?other=value
✅ site.com/page?utm_source=facebook&other=value
(Keep all parameters in query string)

Bulk Conversion (Spreadsheet)

If you have many URLs to fix:

Google Sheets Formula:

// Column A: Broken path-based URLs
// Column B: Fixed query-based URLs
 
=REGEXREPLACE(
  REGEXREPLACE(
    REGEXREPLACE(A1,
      "/utm_source/([^/]+)/",
      "?utm_source=$1&"),
    "/utm_medium/([^/]+)/",
    "utm_medium=$1&"),
  "/utm_campaign/([^/]+)/",
  "utm_campaign=$1")

This converts:

  • First occurrence → Adds ?
  • Subsequent occurrences → Adds &

Platform-Specific Quick Fixes

WordPress

1. Admin → Settings → Permalinks
2. Select: Post name (/%postname%/)
3. Save Changes
4. Flush cache

Webflow

1. CMS Settings → URL Structure
2. Remove UTM variables from structure
3. Republish site

Custom Site

# Add to .htaccess
RewriteRule ^(.+)/utm_source/([^/]+)/utm_medium/([^/]+)/?$ /$1?utm_source=$2&utm_medium=$3 [R=301,L]

✅ Fixed this issue? Great! Now check the other 39...

You just fixed one tracking issue. But are your Google Ads doubling sessions? Is Facebook attribution broken? Are internal links overwriting campaigns?

Connects to GA4 (read-only, OAuth secured)

Scans 90 days of traffic in 2 minutes

Prioritizes by revenue impact

Free forever for monthly audits

Run Complete UTM Audit (Free Forever)

Join 2,847 marketers fixing their tracking daily

FAQ

If you have published links, set up 301 redirects from old format to new format.

Can I automate the conversion?

Yes, use server rewrite rules (see Platform-Specific section) or the JavaScript function above.

What if I have thousands of URLs to fix?

Use bulk conversion in spreadsheets, then update campaign management platforms in bulk.

Do I need to pause my campaigns?

No. Just update the URLs. Tracking resumes immediately for new clicks.

How do I prevent this from happening again?

Disable CMS URL rewriting features and always use query string format for UTM parameters.

Conclusion

UTM parameters in URL path? Convert to query string format.

Conversion:

❌ BROKEN: site.com/page/utm_source/facebook/utm_medium/cpc/
✅ FIXED:  site.com/page?utm_source=facebook&utm_medium=cpc

Steps:

  1. Remove folder slashes
  2. Add ? before first parameter
  3. Use & between parameters
  4. Use = for key-value pairs
  5. Test in GA4 Real-Time

Fixed in 5 minutes. Perfect tracking restored.


Technical Reference: UTM in Path Validation Rule