The campaign worked. You can see the orders. You can see a bump in traffic. What you cannot see is whether the sales came from the email button, the Instagram bio, the partner newsletter, or the QR code printed beside the register.

That gap usually begins with the links. One person used utm_source=Newsletter, another used utm_source=email-list, and someone copied an old link labeled spring_sale_final. Google Analytics 4 did not make a mistake; it faithfully reported the inconsistent labels it received.

This guide shows you how to create UTM tracking links for GA4 without turning your acquisition reports into a junk drawer. You will build the URL, choose values that stay useful, test it, and create a naming system your team can still understand six months from now.

What a UTM tracking link actually does

A UTM link is an ordinary destination URL with campaign labels added to its query string. When someone clicks it, those labels travel with the visit. GA4 can use them to describe where the session came from and which campaign or creative sent it.

Here is a simple example:

https://example.com/pricing
?utm_source=newsletter
&utm_medium=email
&utm_campaign=autumn_launch

The part before the question mark is the landing page. Each item after it is a parameter and value. The ampersands separate the pairs. You do not need to assemble that punctuation by hand; the free UTM Generator builds and encodes it for you.

The three UTM fields every campaign needs

utm_source: who sent the visit?

Source names the platform, publication, partner, or list responsible for the click. Useful values include newsletter, linkedin, instagram, partner_name, or store_counter.

Source should not describe the creative. “Blue button” is not a source. “September promo” is not a source. Keep the answer focused on where the visitor came from.

utm_medium: what kind of channel was it?

Medium groups the traffic into a broader marketing method: email, paid_social, organic_social, referral, affiliate, or qr, depending on the reporting convention your organization adopts.

Consistency matters more than cleverness. If half the team uses social and the other half uses organic_social, GA4 will show separate rows. Pick one vocabulary and document it.

utm_campaign: which coordinated effort?

Campaign ties several placements to the same initiative. An email, a partner link, and an organic social post can all use autumn_launch while their source and medium values remain different. That lets you view the entire launch together, then break it down by channel.

A useful campaign name is specific enough to recognize and stable enough to reuse. promo is vague. autumn_launch is better. If your organization runs similar campaigns every year, 2026_autumn_launch may be clearer.

The optional fields: use them when they answer a real question

  • utm_content separates links or creative variants inside the same campaign. Use values such as hero_button, footer_text, video_a, or blue_product_card.
  • utm_term can identify a paid keyword or an audience/targeting label when that usage is part of your documented setup.
  • utm_id carries a stable campaign identifier that can connect reporting with your planning or imported campaign data.

Optional does not mean decorative. Do not fill every field merely because it exists. A parameter earns its place when you expect to compare that dimension later and your team can apply it consistently.

Before you build links, create a naming convention

This is the unglamorous step that saves the most time. UTM values are case-sensitive, so LinkedIn, linkedin, and linked_in can fragment one source into three lines. The dashboard cannot know that your team meant the same thing.

A simple convention can fit on one page:

  • use lowercase;
  • use underscores between words;
  • do not use spaces;
  • keep source and medium values on an approved list;
  • give campaigns descriptive names instead of “test” or “final”;
  • never place names, email addresses, phone numbers, or other personal data in UTM values.

Hyphens can work just as well as underscores. The important choice is one system, not which separator wins an argument. If the existing account already has a consistent convention, follow it rather than inventing a second one.

How to create a UTM tracking link for GA4 step by step

1. Start with the final landing page

Use the exact page that should open after any redirect. Confirm that it loads securely, works on mobile, and contains the promised offer. Campaign tracking cannot rescue a poor or broken destination.

2. Choose the source

Ask, “Which platform, partner, publication, list, or physical placement sends this click?” For a weekly email, that might be weekly_newsletter. For a LinkedIn company post, it might be linkedin.

3. Choose the medium

Ask, “What type of channel is this?” The weekly newsletter would use email. An unpaid LinkedIn post could use the organic-social label already approved by your team.

4. Name the campaign

Use the same campaign value across every placement supporting the same initiative. This is what allows your email, social, partner, and QR traffic to roll up into one campaign view.

5. Add content or term only when useful

If the email has a header image and a text button pointing to the same page, label them separately with utm_content. If there is only one link and no comparison to make, skip the field.

6. Generate and copy the URL

Paste the fields into a builder so reserved characters are encoded correctly and an existing query string is handled safely. This avoids small manual errors such as adding a second question mark or leaving spaces in a value.

Build a clean GA4 campaign URL

Enter the destination, source, medium, and campaign. CachePlex assembles the tracking link while you keep the naming decisions consistent.

Create a UTM Link

7. Test the finished link

Open it in a private browser window. Confirm that the right page loads, the parameters remain in the address bar after any redirects, and the page does not display an error. Complete this check before the link goes into a scheduled email, printed poster, or partner brief.

UTM examples you can adapt

Email newsletter

https://example.com/pricing?utm_source=weekly_newsletter&utm_medium=email&utm_campaign=autumn_launch&utm_content=hero_button

If the same email has a footer link, keep source, medium, and campaign identical and change only utm_content to footer_text. Now the comparison answers a clean question: which placement earned the click?

Organic social post

https://example.com/pricing?utm_source=linkedin&utm_medium=organic_social&utm_campaign=autumn_launch&utm_content=founder_video

Partner newsletter

https://example.com/pricing?utm_source=partner_name&utm_medium=referral&utm_campaign=autumn_launch

Printed QR code

https://example.com/menu?utm_source=store_counter&utm_medium=qr&utm_campaign=weekend_special

For offline material, build the tracking URL first and then turn that finished URL into a code with the QR Code Generator. Do not create the QR code from the untagged page and hope to identify the placement later.

Turn a tracked campaign URL into a QR code

Build the UTM link first, then generate a high-resolution QR code for a flyer, menu, package insert, or event sign.

Create the QR Code

Where to find UTM campaign traffic in GA4

After real users click the links and GA4 processes the visits, open the acquisition reporting area and use session-scoped campaign dimensions such as Session source / medium and Session campaign. Those dimensions describe how the session began.

Do not confuse session acquisition with first-user acquisition. First-user dimensions answer how someone was originally acquired. Session dimensions answer how the current visit arrived. Both can be useful, but they answer different questions.

If a new campaign does not appear immediately, first confirm that the analytics tag fires on the landing page and that consent settings allow the expected measurement. Then use a test click and real-time or debugging views to check collection before waiting for standard reports to process.

Seven UTM mistakes that quietly ruin reporting

1. Tagging internal links

UTM parameters are for inbound campaign links. Adding them to navigation, homepage banners, or buttons inside your own site can overwrite or muddle the acquisition story. Use event tracking to compare internal clicks instead.

2. Changing capitalization

Email and email are different values. Lowercase everything unless you have a strong, documented reason not to.

3. Inventing a new medium for every campaign

Medium is a channel grouping, not a slogan. Reusing a controlled set makes reports comparable. Put campaign-specific detail in utm_campaign or utm_content.

4. Putting private information in the URL

URLs can appear in browser history, analytics tools, server logs, screenshots, and copied messages. Never use a customer name, email address, phone number, or another personal identifier as a UTM value.

5. Tagging links that already use platform auto-tagging without a plan

Advertising platforms can add their own click identifiers. Manual UTMs may still have a role in a broader measurement design, but adding them casually can create conflicting or confusing labels. Decide the policy with whoever owns paid-media reporting and test before launch.

6. Letting redirects remove the query string

A vanity URL is useful only if its redirect preserves the tracking parameters. Test the public link from beginning to end. This is especially important before printing because paper cannot be patched after distribution.

7. Building links without saving the naming record

A correctly tagged URL can still become an orphan if nobody remembers who requested it or what creative_b meant. Keep a campaign ledger with the final URL and plain-language context.

How to manage UTMs when several people publish campaigns

A naming guide without an operating habit slowly becomes a forgotten document. Give one person ownership of the approved source and medium lists. Store each link in a shared campaign sheet or database with these columns:

  • destination URL;
  • source;
  • medium;
  • campaign;
  • content or term, if used;
  • channel and placement description;
  • owner;
  • launch date;
  • final generated URL.

For recurring newsletters or social programs, create approved templates. A marketer should have to decide what is unique about the new campaign, not rediscover how the entire organization spells newsletter.

What if the destination URL already has parameters?

If the landing page already contains a query string such as ?plan=pro, the UTM fields must be added with an ampersand, not a second question mark:

https://example.com/signup?plan=pro&utm_source=newsletter&utm_medium=email&utm_campaign=autumn_launch

A builder handles this detail automatically. Still test the page: some applications accept only expected parameters, and some redirect rules accidentally strip everything after the question mark.

Should you shorten UTM links?

Long URLs can look awkward in plain text, but hiding them introduces another redirect and another dependency. In buttons and linked text, the reader does not see the raw URL, so shortening is rarely necessary. For print, a short branded redirect can make a QR code simpler, provided the redirect is stable and preserves the query string.

If you do shorten a link, document both versions and test the complete path. The measurement value lives in what reaches the landing page, not what you intended to put there.

Pre-launch UTM checklist

  • The final landing page loads and matches the campaign promise.
  • Source names the actual platform, partner, list, or placement.
  • Medium comes from the approved channel list.
  • Campaign is identical across placements in the same initiative.
  • All values follow the same lowercase and separator rules.
  • Content identifies a meaningful creative or placement variant.
  • No personal or sensitive data appears in any value.
  • A private-window test survives every redirect.
  • The analytics tag fires on the destination.
  • The final URL is saved in the campaign ledger.

Frequently asked questions

Are UTM parameters required for GA4?

GA4 can identify some traffic without manual UTMs, but custom campaign parameters let you apply consistent labels to email, organic social, partners, QR codes, and other links you control. They are especially useful when the referrer alone cannot describe the campaign.

Which UTM parameters should I always use?

Use source, medium, and campaign as the core set for a manually tagged campaign. Add the other fields when they support a comparison or connect to an established measurement process.

Can I use spaces in UTM values?

A properly generated URL can encode spaces, but a consistent separator such as an underscore is easier to read, copy, and govern. Avoid a mix of spaces, underscores, and hyphens across the same account.

Do UTM parameters affect SEO?

Campaign parameters create alternate URL forms that lead to the same content. Use them for campaign distribution, keep the page’s canonical setup correct, and avoid using tagged URLs as the normal internal navigation path. The clean destination should remain the primary page address.

Why is my campaign showing as “not set”?

Common causes include a missing field, an analytics tag that did not fire, consent behavior, a redirect that removed parameters, or looking at a dimension that does not match the question. Test the exact public link and confirm collection before changing the names.

Can the same campaign name be used across email and social?

Yes—that is one of the main benefits. Keep utm_campaign the same for the coordinated initiative and let source and medium distinguish the channels.

Clean campaign data begins before the first click

The URL itself is easy. The lasting work is choosing labels that mean one thing, applying them the same way, and checking that they survive the trip to the landing page.

Start with source, medium, and campaign. Add detail only when you know why you need it. Keep personal data out. Test every redirect. Save the final link. That small discipline turns GA4 acquisition reports from a pile of near-duplicates into something a team can actually use to decide where the next campaign dollar and hour should go.

Create your next tracking link without the punctuation mistakes

Build the URL, copy it, test it, and save the same source/medium vocabulary for the rest of the campaign.

Open the Free UTM Generator