Paste a page URL, add source, medium and campaign, and copy a tagged link. Existing query parameters stay; old UTM values are replaced, not duplicated.
Must start with https:// or http://.
Where the click comes from: google, meta, newsletter.
The channel type: cpc, paid_social, email.
Optional. The keyword, for paid search.
Optional. Tells two ads or links apart.
Your tagged URL
https://example.com/pricing?utm_source=google&utm_medium=cpc&utm_campaign=fall_sale
The calculator gives you the number instantly. Leave your email and we will look at your actual accounts and send back what we would change first.
utm_source is where the click came from: google, meta, newsletter. utm_medium is the kind of channel: cpc, paid_social, email. utm_campaign names the campaign. utm_term carries the keyword on paid search, and utm_content tells apart two ads or two links in the same email.
Google Analytics 4 reads all five and uses source and medium to assign each session to a channel group, which is why a typo in medium can drop paid traffic into the wrong bucket.
Use lowercase everywhere: analytics treats Google and google as two sources. Pick one separator, underscores or hyphens, and keep it. Write the medium values your analytics channel rules expect, such as cpc for paid search and paid_social for paid social. Keep a shared sheet of the values your team uses so the same campaign is never tagged two ways.
Never tag internal links between your own pages: a UTM on an internal link starts a new session and overwrites the real source. Google Ads tracks clicks with auto-tagging, so manual UTMs there are optional and should agree with it if you add them.
Redirects that drop the query string, link shorteners, and consent banners that block analytics until a visitor accepts can all strip or hide UTMs before analytics reads them. If a campaign shows up as direct traffic, test the tagged link end to end before blaming the platform.