Can this be used across multiple channels?
Yes. The same builder works for ads, email, creator traffic, social campaigns, and broader marketing launches.
Does it replace analytics validation?
No. It is a practical campaign link utility, not an official analytics validator.
Does it run without server processing?
Yes. The full link-building flow stays in the browser.
How should I structure UTM values across a multi-channel campaign?
Keep utm_campaign identical everywhere so the campaign rolls up as one row. Vary utm_source by the specific platform or publication and utm_medium by the channel type. Use utm_content for creative variants inside each channel.
What are the standard utm_medium values?
The ones GA4's default channel grouping recognises: cpc for paid search, paid_social, organic_social, email, referral, affiliate and display. Inventing your own is the most common reason traffic ends up in Unassigned.
Do I need utm_term and utm_content?
No. Only source, medium and campaign are needed for attribution. utm_term was designed for paid keywords and utm_content for distinguishing creative variants, so use them when you actually intend to split on them.
Why do my campaigns show up twice in GA4?
Almost always case or spelling drift. GA4 stores the value verbatim, so Spring Sale, spring-sale and spring_sale are three campaigns. This builder normalises static values to lowercase hyphenated text specifically to prevent that.
Does this replace validating the links in analytics?
No. Build the link, click it, and confirm the session shows up under the source, medium and campaign you expected in a realtime report. A tagging convention that nobody has ever tested end to end is a convention that is silently broken.