In brief
Add to every link used in a campaign at least utm_source (where the visitor comes from), utm_medium (the type of channel) and utm_campaign (the campaign name). Use lowercase only, without spaces or diacritics, and values that Google Analytics 4 recognises (for example, cpc, email, social, organic). Do not use UTM on the website's internal links.
01What UTM parameters are
UTM parameters are tags added to the end of a link, after the question mark. They do not change the page that opens, but they are read by Google Analytics, which attributes the visit to the source indicated. An example:
https://company.ro/offer/?utm_source=facebook&utm_medium=paid_social&utm_campaign=autumn_offer
02The parameters and their role
| Parameter | What it indicates | Examples |
|---|---|---|
| utm_source | where the visitor comes from | google, facebook, newsletter, flyer |
| utm_medium | the type of channel | cpc, email, social, paid_social, qr, referral |
| utm_campaign | the campaign or offer | autumn_offer, menu_launch |
| utm_content | the ad or link variant | top_button, video_banner |
| utm_term | the paid keyword | plumber_iasi |
| utm_id | the campaign identifier | ctg_2026_10 |
Google recommends always using utm_source, utm_medium and utm_campaign; a missing parameter appears in reports as "(not set)".
03Naming rules
- Always lowercase. Values are case-sensitive: "Facebook" and "facebook" appear as different sources.
- No spaces and no diacritics. Use "_" or "-", but the same everywhere.
- Values that GA4 recognises in utm_medium, so that visits land in the right channel group: "cpc" or "ppc" for paid ads, "email" for e-mail, "social" for unpaid posts, "display" or "banner" for banners, "referral" for other websites, "affiliate" for affiliates, "sms" for text messages, "organic" for unpaid search.
- A shared table. Write down the values used, so that the whole team tags in the same way.
04Practical examples
| Where you place the link | utm_source | utm_medium | utm_campaign |
|---|---|---|---|
| paid Facebook ad | paid_social | autumn_offer | |
| unpaid Instagram post | social | new_collection | |
| newsletter | newsletter | october_2026 | |
| QR code on a flyer | flyer | qr | iasi_fair |
| the "Website" button in the Google profile | organic | google_profile | |
| WhatsApp message | social | loyal_clients |
For a QR code, always use a link with UTM: otherwise scans appear as direct visits and cannot be told apart. The value "qr" is not part of GA4's default channel groups, so these visits will appear under "Unassigned"; to see them separately, create a custom channel group in GA4 that includes the "qr" medium.
05Mistakes to avoid
- UTM on internal links. A UTM link on your own website replaces the real source of the visit; use UTM only on links outside the website.
- Manual UTM in Google Ads. For Google ads, turn on auto-tagging (gclid); manual parameters can contradict it.
- Different values for the same thing. "fb", "facebook" and "Facebook.com" fragment your reports.
- Personal data in the link. Never put names, e-mail addresses or phone numbers in parameters.
06Where to see the results
In Google Analytics 4, open Reports → Acquisition → Traffic acquisition and choose the dimension "Session source / medium" or "Session campaign". To compare campaigns, add conversions (quote requests, calls, orders) as values.
07Our free builder
The UTM builder builds the correct link, automatically converts values to lowercase without diacritics, keeps the latest links created in your browser and generates the QR code for printed materials directly.