Free Online Tool

UTM Campaign URL Builder

Tag any of your links with UTM parameters so that Google Analytics 4 (GA4) can tell you exactly which campaign, which channel, or which creative brought visitors to your website and who wasted your marketing budget.

Without UTM tags, most of your marketing data gets accumulated into a large, blurry pile in analytics named "direct" or "referral". You get to know that traffic has arrived, but you can never know whether that traffic came from your WhatsApp broadcast, Instagram bio link, email footer, or by scanning a QR code printed on a banner.

UTM parameters solve this exact problem. These are actually 5 small pieces of text (Parameters) that are appended to the back of any URL. When someone clicks on this link, Google Analytics reads it easily and reports it in the correct place. Fill in the fields given below, copy the prepared tagged link, and use this trackable link everywhere instead of the simple link.

 

Generated URL
Test URL

What is a UTM link?

  • utm_source — where the visitor came from (google, facebook, newsletter)
  • utm_medium — traffic type (cpc, email, social, banner, referral)
  • utm_campaign — the campaign name (summer_sale, launch, black_friday)
  • utm_term — paid keyword (only for search/paid campaigns)
  • utm_content — ad variant / creative differentiator

Once your visitor clicks a UTM-tagged link, Google Analytics 4 attributes their session to the exact source/medium/campaign — no more guessing where your traffic comes from.

Copied!

How to use the UTM Campaign URL Builder

  1. Paste the destination URL

    Enter the main page where you want to send people, such as a service page or a campaign landing page. Unless absolutely necessary, do not put a homepage link here.

  2. Set the source

    Set the source: where is the click actually coming from? For example: Google, Facebook, Instagram, WhatsApp, or newsletter. This should be the name of a specific platform, not the marketing method.

  3. Set the medium

    Set the medium: For example: cpc, email, social, qr, or banner. Keep this list short and always use these select words so that reporting stays clean.

  4. Name the campaign

    Keep the full name of the campaign. Keep a single name for an entire campaign that is the same across every channel, such as diwali-2026-offer or product-launch. Keeping the name identical will allow you to see the total performance

  5. Add term and content only when you need them

    Term: This is used to track keywords of paid advertisements. Content: This is used to differentiate between two different advertisements on the same page, such as a top banner vs. a sidebar banner.

  6. Copy the link and use it everywhere

    Now replace the simple link and paste this new tagged link into your post, email, advertisement, or QR code. Special Warning: Never use this link to connect internal pages (Internal Navigation) of your own website; otherwise, your tracking data will get corrupted.

What this tool does

All five standard UTM parameters Live URL preview as you type One-click copy to clipboard Automatic lowercase to prevent split reporting Correct encoding for spaces and special characters Works with GA4, Matomo and any analytics that reads UTMs

What the five parameters mean

Only three are required in practice. The other two earn their place when you need them.

Parameter Answers Examples
utm_source Which platform? google, facebook, whatsapp, newsletter
utm_medium What kind of channel? cpc, email, social, qr, banner
utm_campaign Which campaign? diwali-2026, site-launch, summer-sale
utm_term Which keyword? (paid search) web+designer+udaipur
utm_content Which version? banner-top, variant-a, footer-link

Source, medium and campaign are the three that structure every report you will ever look at. Get those consistent and the rest is detail.

The mistake that ruins UTM data

Making mistakes in naming is the most common error. UTM values are case-sensitive. This means Google Analytics will treat Facebook, Facebook, and FaceBook as three different platforms. When you open the reports after 6 months, traffic from the same place will appear scattered under different spellings, which cannot be merged (joined) later.

Two permanent rules to avoid this:
Always use lowercase: This tool automatically does this work for you.
Create a rulebook for your team: Keep a shared Excel sheet where it is pre-decided which source and medium words the team must use.

Always use a hyphen (-) instead of a space or underscore (_) in campaign names. Adding a space introduces "%20" into the link, which looks very messy in WhatsApp previews.

A tagging scheme that holds up

This is the scheme we set up for client campaigns. It is deliberately boring, which is the point.

  • Email newsletter: utm_source=newsletter&utm_medium=email&utm_campaign=march-offer
  • Instagram bio link: utm_source=instagram&utm_medium=social&utm_campaign=bio-link
  • WhatsApp broadcast: utm_source=whatsapp&utm_medium=social&utm_campaign=march-offer
  • Google Ads: utm_source=google&utm_medium=cpc&utm_campaign=brand-search
  • Printed QR code: utm_source=print-banner&utm_medium=qr&utm_campaign=expo-2026
  • Partner site: utm_source=partner-name&utm_medium=referral&utm_campaign=co-marketing

Notice that march-offer appears under both email and WhatsApp. That is the whole point of the campaign field — it lets you total one campaign across every channel that carried it, then break it down by channel underneath.

The QR code case

UTM is most helpful in tracking traffic from offline to online, but people often forget it. If a QR code on any banner, business card, or shop window is without a UTM, its traffic will show as "Direct" in analytics.

The right way: First, create a UTM link, then generate a QR code from that link. This will let you know from which banner of which event the most people came. If printing different codes for different locations, change the utm_content to compare them. This changes printing expenses from guesswork into something you can actually measure.

Three things not to do

Never tag internal links

Never use UTM parameters to link from your own website's homepage to a service page. Doing this ends the user's old session and overwrites the source. For example, a visitor coming from Google Ads will suddenly start showing up as traffic from your own site. Always use simple URLs for internal pages.

Do not tag Google Ads if auto-tagging is on

If auto-tagging is turned on in Google Ads, it automatically adds the gclid parameter. This tracks much more advanced data (such as keywords, match type, device, and ad position) than UTM parameters. Adding manual UTMs here can overwrite data, preventing you from getting accurate information. Therefore, let auto-tagging do its job.

Do not put anything private in a UTM

Tagged links are clearly visible to everyone in the browser's address bar, history and analytics reports. Therefore, never write personal items like email IDs, phone numbers, or customer IDs in them. Aside from privacy issues, this will create a unique value for every visitor, which will completely ruin your reporting.

Reading the data in GA4

Log in to Google Analytics 4 (GA4) and go to Reports  → Acquisition → Traffic acquisition. By default, channel groups will be displayed here; to view your UTM tags, change the dimension and set it to Session source/medium or Session campaign.

When the numbers look strange, keep two things in mind. Conversion data in GA4 appears differently because it does not rely on Last-click. Someone who sees your WhatsApp link on a phone and later purchases on a laptop will often be counted as two separate journeys, so tracking can vary slightly. UTM tags do not give you forensic accounting, but rather reliable data in terms of direction. This is still much better than a single, indistinguishable "Direct" bucket.

Shortening tagged links

After adding UTM parameters, the link becomes quite long, which does not look good on social media or print media. You can shorten it using any Link Shortener (like Bitly or TinyURL). UTM parameters survive the redirect, and analytics reads them normally when they arrive. Just keep in mind that you are now dependent on the shortener staying online, which matters for anything that is printed.

 

Frequently asked questions

Which UTM parameters are actually required?
Source, medium and campaign. Term and content are optional — term is mainly for paid search keywords, content for distinguishing two versions of the same placement such as a top banner versus a sidebar banner.
Are UTM values case-sensitive?
Yes, and this is the single biggest cause of ruined UTM data. Analytics treats Facebook and facebook as two different sources. Always use lowercase — this tool enforces it automatically.
Should I add UTM tags to links between pages on my own site?
No, never. Tagging an internal link starts a new session and overwrites the original traffic source, so a visitor who came from an ad gets recorded as coming from your own site. Use plain URLs for internal navigation.
Do I need UTM tags for Google Ads?
Usually not. Google Ads auto-tagging adds a gclid parameter carrying far more detail than UTMs — keyword, match type, device, position. Adding manual UTMs on top can override it and leave you with less data.
Can I use UTM links in a QR code?
Yes, and you should. Tag the URL first, then generate the QR from the tagged link. It is the only reliable way to measure traffic from printed material, which otherwise shows up in analytics as unexplained direct traffic.
Will a link shortener break my UTM tags?
No. The parameters survive the redirect and analytics reads them normally when the visitor arrives. Just remember that anything printed now depends on the shortener staying online.
Where do I see UTM data in Google Analytics 4?
Reports, then Acquisition, then Traffic acquisition. Change the dimension to Session source / medium or Session campaign to see your tagged traffic broken out.
Is it safe to put a customer ID or email in a UTM parameter?
No. Tagged URLs appear in the address bar, browser history, referrer headers and analytics reports visible to your whole team. Besides the privacy problem, a unique value per visitor makes the reports useless.