Build a link
GA4 channel
Audit your links
0%
Attribution Leakage Score
Every tagged link
| Line | GA4 channel | Link | Issues |
|---|
What GA4 actually does with Vietnamese traffic
zalo counts, zalo.me does notGA4's social list has zalo and chat.zalo.me, not zalo.me. Paid traffic tagged zalo.me lands in Paid Other.
No Vietnamese marketplace is a shopping siteShopee, Lazada and Tiki are on none of GA4's lists. Paid traffic from them is Paid Other unless the campaign name contains "shop".
TikTok is social, not videotiktok with a paid medium is Paid Social. With medium "video" it is still Organic Social, because the social rule is checked first.
Cốc Cốc is not a search engine to GA4coccoc is on no list, so paid clicks tagged coccoc land in Paid Other. If Cốc Cốc matters to you, map it in a custom channel group.
QR codes and print are UnassignedGA4 has no offline channel. Accept it knowingly (allowUnassigned) or map it in a custom channel group.
New since May 2026: AI AssistantGA4 files ChatGPT, Gemini and Copilot referrals under AI Assistant. The medium it uses is ai-assistant.
Your taxonomy
Edit the rules every link is checked against
Allowed sources and mediums, the separator, a campaign naming pattern, your own domains and the mediums you accept as Unassigned. Saved in this browser only. Use the same JSON as utm-taxonomy.json in the CLI.
Put it in your pipeline
npx github:dannybosie/utm-governor check links.csv npx github:dannybosie/utm-governor channel zalo.me cpc # Paid Other
- uses: dannybosie/utm-governor@v1
with:
paths: marketing/links.csv content/
Rules follow Google's GA4 default channel group as of May 2026, with Google's source category list. Channel definitions in GA4 are not case sensitive; reports are.