Type a page URL and the campaign values, and the tool writes the tagged link: utm_source, utm_medium, utm_campaign, the optional utm_term, utm_content and utm_id, plus any extra parameters you add. It keeps what the URL already had: existing query parameters stay exactly as they were written, and a #fragment stays at the end, where it must be. If the URL already carries a UTM parameter you are setting, the old one is replaced and you are told. Every value is percent-encoded, so &, =, # or Vietnamese text in a campaign name cannot break the link.
Under the link you see which GA4 default channel the visit will land in, and a list of naming problems. The "Make a QR code" button opens the QR code generator with the link filled in, for posters and packaging. The Many links tab tags a whole list at once and exports a CSV.
Naming rules that keep reports clean
Analytics reports group visits by the exact text of each value. Facebook, facebook and fb become three sources, and the campaign's results are split across them without any warning. The checks flag:
- Capital letters. With "Convert values to lower case" on (the default), they are lowered for you.
- Spaces. They work, encoded as
%20, but someone will later type the name with a dash. Choose dashes or underscores once and stick to them. - Characters other than letters, digits and `- _ . ~`. Slashes, accents and emoji are encoded correctly but are hard to filter on.
- Missing source, medium or campaign. GA4 needs all three to attribute a visit to the campaign.
- The same value written two ways across a batch, such as
Facebook and face_book.
A good pattern: utm_source is who sent the visitor (newsletter, facebook, zalo, partner-site), utm_medium is the kind of traffic (email, social, cpc, referral), utm_campaign is a stable name with a date (autumn-sale-2026), and utm_content tells two links in the same message apart (hero-button, footer-link).
Which GA4 channel will it be?
GA4 sorts manual traffic into default channels with fixed rules, published in Google's help article "Default channel group" (checked on 14 October 2026). The medium matters most: email (or a source containing "email") goes to Email; social, social-media or sm to Organic Social; referral, app or link to Referral; display, banner or cpm to Display; affiliate to Affiliates; and any medium matching cpc, ppc, retargeting or starting with paid to a paid channel, which becomes Paid Search, Paid Social or Paid Video depending on the source. A medium that matches nothing, such as qr or poster, lands in Unassigned, which is the most common reason campaign traffic seems to disappear. GA4 has no default channel for print: for a QR code on a poster, either accept Unassigned or create a custom channel group that maps a medium such as print to its own channel.
GA4 recognises sources with long site lists that are not reproduced here, so a source the tool does not know may still be classified as social or search by GA4.
Many links at once
Paste one URL per line to give every link the same values, or paste a CSV whose first row names its columns (url, source, medium, campaign, term, content, id). A filled cell overrides the shared value for its row, so one campaign can tag a whole email's links with different content values. Copy all tagged URLs or download a CSV with the original URL, the tagged URL and every value. Nothing is sent anywhere.
For the background on each parameter and a naming convention you can adopt, read UTM naming conventions that keep analytics clean. To check how a long link encodes, use the URL encoder; to set what the shared page looks like, the Open Graph tag generator.