🏷️ Attribution
What are UTM parameters and how do you use them?
UTM parameters are labels added to the end of a URL to identify where a visit came from, the type of channel, and the campaign behind it. They do not track anything on their own: an analytics system such as Google Analytics 4 must receive and organize those labels.
5 min readUpdated
On this page
A tagged URL can look like this: “example.com/product?utm_source=linkedin&utm_medium=paid_social&utm_campaign=launch&utm_content=video”. The ? starts the query string, each & separates a parameter, and the value after = is what appears in your reports.
The three essential UTMs and what each one answers
| Parameter | What it identifies | Example | Recommended use |
|---|---|---|---|
| utm_source | Where the link was published | Always | |
| utm_medium | The type of channel | paid_social | Always |
| utm_campaign | The initiative connecting the links | product_launch | Always |
| utm_content | The ad, CTA, or creative variation | demo_video | When comparing placements or creative |
| utm_term | The paid keyword | link_shortener | For paid-search keyword tagging |
Those are the five classic UTM parameters. GA4 also documents utm_id, utm_source_platform, utm_creative_format, and utm_marketing_tactic; the last two are not currently reported in Analytics properties. For complete manual campaign tagging, Google recommends using source, medium, and campaign together, then adding the other fields only when they answer a useful reporting question.
Source versus medium: where versus how
Source names the specific place: linkedin, newsletter, instagram, or a partner's name. Medium describes the channel type: social, paid_social, email, affiliate, or referral. Campaign groups one initiative across every source and medium you use to promote it.
| Use case | utm_source | utm_medium | utm_campaign |
|---|---|---|---|
| Organic LinkedIn post | social | august_guide | |
| Paid LinkedIn ad | paid_social | product_launch | |
| Email newsletter | newsletter | august_news | |
| Affiliate partner | partner_name | affiliate | partner_program |
| QR code on a shop window | window_qr | offline | store_opening |
Custom names may be classified as Unassigned
GA4 uses source-and-medium rules to build its Default Channel Group. You can use a custom value such as offline or qr, but it may appear as Unassigned. Document your taxonomy and inspect Session source / medium as well as the channel group.
How to create and test a UTM link
- 1
Start with the reporting question
Decide whether you need to compare channels, campaigns, or creative. That question determines the useful fields and prevents tagging for its own sake.
- 2
Use the exact destination page
Link to the relevant product, guide, or form rather than the home page. If the URL already contains ?, append the first UTM with &; otherwise start with ?.
- 3
Set source, medium, and campaign
For example: ?utm_source=linkedin&utm_medium=social&utm_campaign=august_guide. Add content or term only when you plan to compare those values.
- 4
Test the destination and redirects
Open the finished URL in a private window and make sure the parameters survive every redirect. A working page is not enough if the campaign labels were removed on the way.
- 5
Shorten the completed URL
Paste the full tagged URL into taap.at. The short link gives you a clean public address, records the open, and redirects to the tagged destination.
Where to find UTM data in Google Analytics 4
- 1
Open Traffic acquisition
In GA4, go to Reports, Acquisition, then Traffic acquisition. This report focuses on how sessions started.
- 2
Choose a session-scoped dimension
Use Session source / medium or Session campaign to inspect the manual labels without confusing them with the channel that first acquired the user.
- 3
Run a test before launch
Visit the link yourself and confirm that the values arrive with the planned spelling. Standard reports can take time to populate, so testing should cover both the destination and collection.
Naming rules that keep reports usable
- Use lowercase: linkedin and LinkedIn can appear as separate values in reporting.
- Pick one separator, such as an underscore, and keep it consistent. This is a governance rule, not a GA4 technical requirement.
- Maintain an approved source, medium, and campaign list so teams do not create near-duplicate labels.
- Never put names, email addresses, phone numbers, or other personal data in UTM values; they remain visible in the URL.
- Reserve campaign tags for inbound traffic. Track internal banners, menus, and CTAs with events instead of UTMs.
- Keep Google Ads auto-tagging when it is available; do not replace the gclid with manual UTMs without reviewing attribution settings.
UTMs, short links, and conversions measure different things
A UTM describes acquisition context, a short link records the open before redirecting, and GA4 measures sessions and configured events on your site. None of them proves a sale on its own. Revenue attribution also needs a purchase event, CRM record, or another reliable commercial outcome.
Frequently asked questions
What does UTM stand for?
UTM stands for Urchin Tracking Module. Today, the term refers to campaign parameters that analytics tools such as GA4 read from a URL.
Do UTM parameters affect SEO?
They do not improve rankings and can create multiple versions of one destination URL. Keep internal links and sitemaps free of UTMs, and use a consistent canonical URL on the destination page.
Can I add UTMs directly to a wa.me link?
WhatsApp does not document UTM attribution for wa.me, and that destination does not run your website's GA4 tag. Measure the outbound click as an event or use a first-party short link before redirecting. A campaign code in the pre-filled message adds context but is not analytics attribution.
Why do I see (not set) or Unassigned in GA4?
A field may be missing, a value may use inconsistent spelling, or the source-and-medium pair may not match the Default Channel Group rules. Check the final URL and inspect Session source / medium as well as the channel group.
Do I need a UTM generator?
No. A builder can prevent syntax errors, but useful reporting depends more on a shared naming convention and a tested destination URL.
Make it yours and track every click
Create a free account so your links do not expire and you can measure country, device, and source.