Skip to content
Let's Talk

Google Ads Tool

UTM Builder for GA4 and Google Ads

Add your page, source, medium, and campaign. Copy the tagged link, and see which GA4 channel it's attributed to before you send it.

Our UTM builder adds tracking tags to your links, so Google Analytics 4 (GA4) can tell you which ad, email, or post sent each visit. Fill in the UTM builder below with your page, source, medium, and campaign, and copy the tagged link.

Build your tracking link

Start from a preset
Fills in the tags for that platform. You add the campaign name.
The page people land on, for example https://example.com/fans/
Required tags
Who sent the visit: google, linkedin, newsletter
The type of traffic: cpc, email, social
The promotion or campaign
Optional tags
The paid keyword. In Google Ads, {keyword} fills in on each click
Which ad or link was clicked
Needed only to import cost data into GA4

Enter a website URL to see your tracking link.

  • Fill in utm_source, utm_medium, utm_campaign. GA4 shows (not set) for any you leave out.

Runs in your browser. Nothing you type is sent anywhere.

The UTM builder also shows which GA4 channel the link will be attributed to, so you can catch a bad tag before the clicks come in.

If you put the wrong tag on a link, the link still works and gets clicks, but GA4 files them in the wrong report.

What is a UTM tag?

A UTM tag is a label on a link that tells GA4 where the click came from. For example, a tag can say which website sent the click, what kind of ad it was, and which campaign it belongs to.

Each tag has a name and a value. In utm_source=linkedin, the name is utm_source and the value is linkedin. Your visitor never sees or touches the tags. GA4 reads them when the page opens and puts the visit in the right report.

A UTM link is a normal page address with UTM tags added after a question mark. An ampersand (&) separates one tag from the next (Google Analytics Help on UTM link format).

https://example.com/fans/?utm_source=linkedin&utm_medium=cpc&utm_campaign=spring-fan-sale
Part of the linkWhat it tells GA4
https://example.com/fans/The page the visitor opens
utm_source=linkedinLinkedIn sent the visit
utm_medium=cpcIt was a paid click
utm_campaign=spring-fan-saleIt came from the spring fan sale

GA4 reads those 3 tags and files the visit under Paid Social. Nothing changes for the visitor. They see the same page with or without the tags.

Tag order and the # anchor

Put the tags in any order you like. GA4 reads utm_campaign no matter where it is in the link.

Placement matters more. Tags go after the question mark (?) and before any # anchor, for example /fans/?utm_source=linkedin#specs. If you put them after the #, GA4 reads them as part of the anchor and ignores them. The UTM builder puts the anchor last for you.

The 6 UTM tags GA4 reads

GA4 reads 6 UTM tags, and 3 of them belong on every link: source, medium, and campaign. Leave one out and GA4 shows (not set) where the value should be (Google Analytics Help on required UTM tags).

TagRequiredWhat it recordsExample
utm_sourceYesWho sent the visitgoogle, linkedin, newsletter
utm_mediumYesThe type of trafficcpc, email, social
utm_campaignYesThe campaign or promotionspring-fan-sale
utm_termNoThe paid keyword{keyword}
utm_contentNoWhich ad or link got the clickheader-button
utm_idNoThe campaign ID, for importing cost data{campaignid}

Google lists 3 more tags. We left them out of the UTM builder:

  • utm_source_platform: add it by hand if you buy ads through Search Ads 360 or Display & Video 360.
  • utm_creative_format: GA4 doesn’t report it yet.
  • utm_marketing_tactic: GA4 doesn’t report it yet.

Fill in the first 3 every time. Add the rest when you want keyword or ad-level detail.

GA4 files every tagged visit under a channel, for example Paid Search or Email. GA4 picks the channel by matching the source and medium against Google’s default channel rules. When a visit matches no rule, GA4 attributes it to Unassigned (Google Analytics Help on default channel rules).

utm_mediumutm_sourceGA4 channel
cpc, ppc, retargeting, or anything starting with “paid”google, bingPaid Search
cpc, ppc, or paidfacebook, linkedinPaid Social
cpc, ppc, or paidyoutubePaid Video
cpc, ppc, or paida site not on Google’s listsPaid Other
display or banneranyDisplay
emailyour list or email toolEmail
referrala partner siteReferral
newsletter, qr, or printa site not on Google’s listsUnassigned

The medium matters most. For example, a common misattribution is calling the medium newsletter:

Tags on the linkGA4 channel
utm_source=mailchimp&utm_medium=newsletterUnassigned
utm_source=mailchimp&utm_medium=emailEmail

No GA4 rule matches the word newsletter, so GA4 attributes every click from that email to Unassigned. Change one word and the same clicks show up under Email.

When a link would be attributed to Unassigned, the UTM builder shows the word Unassigned in red, so you can fix the medium before you send the link.

UTM tags on Google Ads campaigns

Google Ads campaigns don’t need UTM tags for GA4 when auto-tagging is on. Auto-tagging is a Google Ads setting that adds a click ID to every ad link. GA4 reads that ID to get the source, medium, and campaign, and uses it over any UTM tags on the same link (Google Analytics Help on auto-tagging). Leave auto-tagging on.

Whether you need UTM tags on top depends on where you want the data:

Where you want the dataWhat to add
GA4’s standard reports, with Google Ads linked to GA4Nothing. Auto-tagging covers it
GA4’s Manual term dimensionutm_term={keyword}
Every quote request in your inbox or customer relationship management (CRM) systemThe full set of tags, through the Final URL suffix

To set up the Final URL suffix:

  1. Click the Google Ads preset in the UTM builder above.
  2. Type the campaign name exactly as it reads in Google Ads.
  3. Copy the box labeled Google Ads final URL suffix.
  4. In Google Ads, paste it into the Final URL suffix field for that campaign (Google Ads Help on the Final URL suffix).

Set the suffix campaign by campaign. A suffix at the account level gives every campaign the same campaign name.

The {keyword}, {creative}, and {campaignid} tags are ValueTrack parameters. Google swaps in the real keyword, ad ID, and campaign ID on each click (Google Ads Help on ValueTrack parameters). The UTM builder keeps the curly braces intact, so the suffix works as pasted.

Don’t want to deal with any of this? Take a look at our Google Ads management service, and we’ll set up the tracking and run the ads for you.

Save UTM values with every quote request

Saving UTM tags with each quote request shows which campaign produced each lead. GA4 counts visits, while your sales team works quote requests. With the tags saved, the campaign shows up in the same email or CRM record your team already reads.

We do this on writegoodcode.com. On someone’s first visit, the site saves their UTM tags, the site that sent them, and the first page they opened. When they send our contact form, those details print at the bottom of the message. A lead from a LinkedIn ad would end like this (example values):

How they found us: LinkedIn
Referrer: https://www.linkedin.com/
UTM: linkedin / cpc / spring-fan-sale
First page: /pricing/ on 2026-10-23

We keep the tags from the first visit, because that’s the campaign that found them.

The setup has 3 parts:

  1. A short script on every page reads the UTM tags from the landing page URL and saves them in the browser.
  2. Hidden fields in your quote form, or a line added to the message, carry the saved values.
  3. The form sends them with the lead, so each quote request arrives with its campaign attached.

Save the tags as soon as someone arrives. If a buyer clicks to a second page before asking for a quote, the tags are already gone from the URL.

A quote request with its campaign attached tells you which ads to keep paying for.

Naming rules that keep your reports clean

UTM tag values are case sensitive in GA4, so google and Google become 2 separate rows (Google Analytics Help on case sensitivity). The channel rules ignore capitals. Your reports don’t.

RuleUseAvoid
Lowercase everythinggoogleGoogle
Dashes instead of spacesspring-fan-salespring fan sale, which turns into %20
One name per platformfacebook, every timefacebook, fb, and Facebook
Match your ad platformThe campaign name in Google AdsA nickname only your team knows

Keep the approved names in a shared spreadsheet so everyone who tags links uses the same ones. The UTM builder points out capitals and spaces, and fixes both with one click.

Pick one spelling for each value and stick to it.

The UTM builder cleans up your link before it adds the tags.

What you enterWhat the UTM builder does
A URL without https://Adds https://
A URL that already has ?color=blueKeeps it and adds the tags after
A URL with old UTM tagsReplaces them, so the link never carries 2 sources
A URL with a #specs anchorKeeps the anchor at the end
Spaces or symbols in a tagEncodes them so the link works
{keyword} or another ValueTrack tagLeaves the curly braces alone

The channel check uses Google’s rules for manually tagged traffic and the most common search, social, video, and shopping sites. Google keeps a longer list of sites than we check, so the UTM builder tells you when your source isn’t on ours.

Everything runs in your browser. Nothing you type leaves your computer.

Where to find UTM data in GA4

UTM data shows up in GA4’s Traffic acquisition report.

  1. Open Reports.
  2. Go to Acquisition, then Traffic acquisition.
  3. Change the table’s main dimension to Session source / medium or Session campaign.

Each source and medium pair gets its own row (Google Analytics Help on the Traffic acquisition report). To see the full landing URL with its tags, use the Page location dimension. GA4 strips UTM tags out of Landing page + query string.

Questions we get

What does UTM stand for?

UTM stands for Urchin Tracking Module. Urchin was the web analytics company Google bought in 2005, and its software became Google Analytics. The name stuck, and GA4 still reads the same utm_ tags today, with 6 tags in total and 3 that belong on every link.

Do UTM parameters hurt SEO?

UTM parameters do not hurt SEO as long as each page carries 1 canonical tag that points to the clean URL. UTM tags belong on links you share in ads, emails, and posts, so search engines rarely see them. Keep them off links between your own pages, where they can take credit for conversions.

Is anything I type into this UTM builder saved or sent?

The UTM builder saves and sends nothing you type. It runs in your browser, so the link you build stays on your computer, and nothing is stored after you close the page. It then shows which GA4 channel your link is attributed to, using the 3 required tags: source, medium, and campaign.

Related Reading

Stop waiting for customers to find you.