Learning how to use UTM parameters comes down to appending query tags to the end of your link so analytics platforms know where your traffic came from. A basic tagged link starts with a question mark followed by key-value pairs separated by ampersands, such as https://example.com/page?utm_source=newsletter&utm_medium=email&utm_campaign=spring_sale. Adding these tags gives you clean attribution data across email campaigns, ad sets, and social posts without changing the page content your visitors see.

Which tagging method should you choose?

Every method produces the exact same end product: a valid destination URL with query strings attached. How you build them depends on the volume of links you manage and whether you need team collaboration or quick one-off links.

Method Best For Trade-offs
Browser-based builder Single links, daily marketing tasks, fast copying Builds one URL at a time; no shared team archive
Spreadsheet formula Bulk tagging, ad campaigns, team conventions Requires initial setup; formulas can break if cells are edited
Plain text editor Quick manual edits, one-time link checks Prone to typos, bad encoding, and inconsistent naming

If you need to assemble a single tracking link quickly without your inputs leaving your device, the free Links to Wild UTM Builder builds tagged campaign URLs with consistent source, medium, and campaign values that you can copy in one click. If you are launching dozens of paid ad variants at once, a spreadsheet formula handles high volume better.

Method 1: Generate links with a browser-based UTM builder

A web builder enforces clean syntax so you do not accidentally create broken query strings with misplaced question marks or unencoded spaces.

  1. Open the builder. Go to an in-browser tool like the UTM Builder. Everything runs locally in your browser, meaning destinations and campaign names never get logged or sent to an external server.
  2. Enter your destination URL. Paste the clean page URL (for example, https://example.com/pricing). Ensure the base URL works before adding parameters.
  3. Specify the source (utm_source). Name the platform or referrer sending the visitor, such as newsletter, linkedin, or google. Keep it lowercase.
  4. Specify the medium (utm_medium). Identify the marketing channel. Common standards include email, cpc, social, and referral. Standardising this value keeps your reporting buckets clean.
  5. Add the campaign name (utm_campaign). Name the promotion or objective, like spring_promo or q1_reactivation.
  6. Add optional tags if needed. Use utm_term for paid search keywords and utm_content to differentiate links pointing to the same page within the same asset, such as a header button versus a footer link.
  7. Copy the final URL. Grab the generated link in one click and test it in an incognito window before distributing it.

Method 2: Construct parameters manually in a text editor

You can write query parameters by hand in any plain text editor if you know the syntax rules. This is useful when you just need to update an existing campaign tag on the fly.

  1. Start with the target URL. Write out your clean base URL: https://example.com/blog/guide.
  2. Add a question mark. The question mark (?) initiates the query string. You only ever use one question mark in a URL.
  3. Attach your required parameters. Write utm_source= followed by your source, an ampersand (&), and utm_medium= with your medium. For example: utm_source=twitter&utm_medium=social.
  4. Add your campaign name. Append &utm_campaign=product_launch. Use underscores or hyphens instead of spaces. If you must use spaces, encode them as %20, though hyphens are cleaner and prevent copy-paste errors.
  5. Join everything together. Your final string will look like this: https://example.com/blog/guide?utm_source=twitter&utm_medium=social&utm_campaign=product_launch.
  6. Check URL syntax. Run the final link through a tool like the URL Length Checker to verify there are no hidden spaces, uppercase letters, or illegal characters that cause tracking drops.

Method 3: Build a bulk UTM generator in a spreadsheet

When running email sequences, affiliate networks, or large paid search campaigns, building links one by one takes too long. A spreadsheet formula generates hundreds of URLs instantly.

  1. Create column headers. In row 1 of your sheet, label columns A through F: Base URL, Source, Medium, Campaign, Content, and Final URL.
  2. Enter your campaign variables. In row 2, put https://example.com/demo in column A, partner_digest in B, email in C, march_upgrade in D, and header_cta in E.
  3. Write the concatenation formula. In cell F2, paste this formula: =A2 & "?utm_source=" & LOWER(B2) & "&utm_medium=" & LOWER(C2) & "&utm_campaign=" & LOWER(D2) & IF(ISBLANK(E2), "", "&utm_content=" & LOWER(E2))
  4. Expand down the sheet. Drag the formula cell down through your rows. The formula will automatically append the variables and force values to lowercase.
  5. Export your links. Copy the calculated values and paste them as plain text into your email automation software or ad campaign manager.

How to use UTM parameters in Google Analytics

Google Analytics 4 (GA4) uses these tags to populate your Traffic Acquisition and User Acquisition reports automatically. Understanding how to use UTM parameters in Google Analytics ensures your data maps to standard channel groups instead of falling into the Unassigned bucket.

  1. Standardise your medium values. GA4 matches utm_medium values against predefined rules. If you tag a medium as cpc or paidsearch, GA4 classifies it under Paid Search. If you tag it as social or social-network, it falls under Organic Social or Paid Social depending on your source. Inventing custom mediums like partner-banner causes GA4 to classify the traffic as Unassigned.
  2. Check incoming tags in the Realtime report. Send a test click to your tagged link, then open GA4, navigate to Reports > Realtime, and scroll to the Traffic source by First user campaign or Event count by Event name cards. You will see your parameters show up within seconds.
  3. View historical campaign performance. To review aggregated data, go to Reports > Acquisition > Traffic acquisition. Change the primary dimension dropdown to Session source / medium or Session campaign to see visits, bounce rates, and conversions mapped to your exact tags.

Common UTM mistakes and how to check your links

Messy parameter usage pollutes your reporting with duplicate entries and breaks link equity. Keep an eye out for these frequent issues:

  • Inconsistent casing: Analytics tools treat utm_source=Twitter and utm_source=twitter as two distinct sources. Pick lowercase for everything and enforce it across your team.
  • Using parameters on internal site links: Never put UTM tags on banners or buttons that point from one page of your website to another. When a user clicks an internal link containing UTM parameters, GA4 ends the current session and starts a new one, wiping out the original referral source. To track internal clicks, use event tracking instead.
  • Using multiple question marks: A URL can only contain one ?. If your base link already contains a query string (for example, example.com/shop?category=shoes), your campaign tags must start with an ampersand: example.com/shop?category=shoes&utm_source=newsletter....
  • SEO duplicate content concerns: When external platforms link to tagged URLs, search engines could potentially see several URLs serving identical content. A self-referencing canonical tag fixes this. Read the guide on how to use canonical tags to ensure your base pages tell search engines which clean URL to index. Check that your canonical points to the clean URL using our Canonical Tag Checker.
  • Anchor text formatting: If you are linking out or sharing content, make sure your link structure stays clean. You can read our guide on what is a URL slug to keep your base URLs readable before adding query strings.

Frequently Asked Questions

Which parameters do I actually have to fill in?

GA4 attributes a visit from utm_source and utm_medium alone. The utm_campaign parameter is optional to the tool and not optional to you, because without it every post you ever made from LinkedIn lands in one undifferentiated bucket.

What is the difference between term and content?

The utm_term parameter is the paid keyword, and outside paid search it has no job. The utm_content parameter distinguishes two links that are otherwise identical, such as the button and the text link in the same email, or variant A and variant B of an ad. Most teams end up using content as a second campaign field, which works right up until you want to compare variants.

Do UTM parameters get my site penalised for duplicate content?

No. There is no duplicate content penalty to get. What happens is that Google sees several URLs serving the same page and picks one to index, and if it picks the tagged version your reporting and your canonical disagree with each other. A self-referencing canonical settles it, which is why every page should have one anyway.

Someone linked to my tagged URL. What do I do?

Check the canonical on that page is right, then leave it. The link still counts; it just points at a URL that resolves to the same content. If it is a link worth having and the site is contactable, ask for the clean version. This is the reason the campaign URL and the URL you hand to a publisher should never be the same string.

How to use URL parameters in JavaScript?

To read any URL parameter in modern browser JavaScript, pass window.location.search into the native URLSearchParams interface. For example: const params = new URLSearchParams(window.location.search); const source = params.get('utm_source');. This lets you read UTM values dynamically to populate hidden form fields or personalise page elements.

Explore Links to Wild

🌩
View Pricing

Link building packages from $600

🧭
About Hayk

The story behind Links to Wild

✉
Get in Touch

Book a call or send a message