From 06abe884731ba179c2ef8a88d728abfefa027144 Mon Sep 17 00:00:00 2001 From: Tom King Date: Sun, 8 Mar 2026 01:20:09 -0700 Subject: [PATCH] fix: handle DDG param list & global UtmStrip prefixes --- .github/workflows/tracking-params-check.yml | 8 ++++++-- src/utmstrip.ts | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tracking-params-check.yml b/.github/workflows/tracking-params-check.yml index 18d6e31..3e477ca 100644 --- a/.github/workflows/tracking-params-check.yml +++ b/.github/workflows/tracking-params-check.yml @@ -27,13 +27,17 @@ jobs: run: | # Extract parameter names from DuckDuckGo JSON # DDG JSON has param as an array of objects w/ a "parameter" key + # grep -v strips out common prefixes handled by UtmStrip jq -r '.settings.parameters[]' /tmp/ddg-params.json \ - | sort > /tmp/ddg-list.txt + | grep -Ev '^(action|fb|ga|hmb|hsa|mtm|pk|oly|utm)_' \ + | sort -u > /tmp/ddg-list.txt # Extract quoted strings from utmstrip.ts (single-quoted identifiers) # Matches 'param_name' patterns, strips quotes, excludes TypeScript types + # grep -v strips out common prefixes handled by UtmStrip grep -oE "'[a-zA-Z_][a-zA-Z0-9_]*'" src/utmstrip.ts \ - | tr -d "'" | sort -u > /tmp/utmstrip-list.txt + | tr -d "'" | grep -Ev '^(action|fb|ga|hmb|hsa|mtm|pk|oly|utm)_' \ + | sort -u > /tmp/utmstrip-list.txt # Find params in DDG list not covered in utmstrip.ts comm -23 /tmp/ddg-list.txt /tmp/utmstrip-list.txt > /tmp/missing.txt diff --git a/src/utmstrip.ts b/src/utmstrip.ts index b714a06..994181a 100644 --- a/src/utmstrip.ts +++ b/src/utmstrip.ts @@ -27,7 +27,7 @@ // Facebook/Instagram 'fbclid', 'hrc', 'igsh', 'igshid', 'refsrc', // Google Analytics - '_gl', 'gclsrc', 'srsltid', + '_gl', 'gclsrc', 'gs_l', 'srsltid', // HubSpot '_hsenc', '_hsmi', '__hsfp', '__hssc', '__hstc', // IBM (non-numeric only)