Generate correctly tagged UTM URLs with consistent naming so your GA4 reports never fragment into duplicate sources. Lowercase enforced, spaces replaced, special characters stripped.
utm_source identifies where the traffic came from. utm_medium describes the channel type. utm_campaign groups traffic by initiative. Together they let GA4 attribute sessions to the exact campaign that drove them, without relying on referrer headers that often get stripped.
GA4 is case-sensitive and whitespace-sensitive. Google and google appear as separate sources. spring sale and spring_sale appear as separate campaigns. Every inconsistency splits a real channel into phantom duplicates that make reports harder to act on and attribution harder to trust.
When a user clicks a tagged link, GA4 reads the UTM parameters from the URL and stores them as session-scoped dimensions. They appear in Traffic Acquisition reports under Source, Medium, and Campaign. If you also push them into a data layer event, you can pass them to any downstream tool without relying on GA4 alone.
Correct UTM tagging and a clean GA4 setup tell you what is actually working. If your tracking is fragmented, your attribution is off, or your GTM container is doing unexpected things, let's fix it.