Run a free audit

UTM builder

Build a tagged URL so you can track campaign traffic in Google Analytics.

Your tagged URL

https://acme.com.sg/?utm_source=newsletter&utm_medium=email&utm_campaign=june_launch
Auditing the destination page too? Run a full audit
  1. Home
  2. /
  3. Free tools
  4. /
  5. UTM builder

A UTM builder is a tool that constructs URLs with campaign tracking parameters (utm_source, utm_medium, utm_campaign, and others) so analytics platforms can attribute traffic to specific marketing efforts.

On this page

  • What Is a UTM Parameter?
  • Understanding URL Structure and Query Strings
  • The Five Core UTM Parameters Explained
  • UTM Naming Conventions and Consistency
  • When and How to Use UTM Parameters
  • Common Mistakes and How to Avoid Them

What Is a UTM Parameter?

UTM stands for Urchin Tracking Module, a standard set of parameters that attach to any URL to identify the source, medium, and campaign of referring traffic. These parameters create a common language between your marketing channels (email, social media, paid ads, affiliates) and your analytics platform (Google Analytics, Fathom, Plausible, or similar).

When a visitor clicks a link containing UTM parameters, those parameters pass through to your analytics dashboard as query string data. This allows you to answer specific questions: Did this traffic come from your email newsletter or a paid social campaign? Which email subject line drove the most conversions? Which Facebook post generated sales, not just clicks?

Without UTM parameters, an analytics platform sees that traffic arrived from Facebook—but cannot distinguish between organic shares, paid ads, or a single viral post. UTM parameters fill that gap by storing the specific campaign context directly in the URL itself, ensuring accurate attribution.

The standard UTM parameters are utm_source (the referrer or platform), utm_medium (the marketing channel type), utm_campaign (the specific campaign or promotion name), utm_term (the keyword for paid search campaigns), and utm_content (a way to differentiate between similar links or A/B test variations).

Understanding URL Structure and Query Strings

A complete URL consists of several parts, and UTM parameters attach specifically to the query string—the section that comes after the ? symbol and before any # fragment.

A URL breaks down as follows: Protocol (https://, defining the connection method), Host (www.example.com, the domain), Path (/products/shoes, the page on the site), Query string (?utm_source=email&utm_medium=newsletter&utm_campaign=fall_sale, the tracking data), and Fragment (#reviews, which jumps to a page section—UTM parameters must come before this).

The query string can contain one or many parameters. Each parameter has a name (utm_source) and a value (email), separated by an equals sign. Multiple parameters are joined with & symbols. A complete example with all five standard parameters looks like this: https://www.example.com/product?utm_source=instagram&utm_medium=social&utm_campaign=summer_collection&utm_content=image_ad&utm_term=running_shoes

The order of parameters in the query string does not affect how analytics platforms read them. utm_source=instagram&utm_medium=social produces identical data as utm_medium=social&utm_source=instagram. However, a consistent order makes URLs easier to read when humans review them. UTM parameters are case-sensitive: utm_source=instagram is not the same as utm_source=Instagram from an analytics perspective. Both will appear as separate values in your reports, fragmenting your data. This is why naming conventions matter and why you must enforce lowercase across your entire team.

The Five Core UTM Parameters Explained

ParameterPurposeCommon Examples
utm_sourceIdentifies where the traffic originatedfacebook, instagram, twitter, linkedin, newsletter, blog_partner
utm_mediumDescribes the marketing channel or methodemail, social, cpc, display, affiliate, organic, paid_social
utm_campaignNames the specific promotion or initiativesummer_sale, black_friday_2024, product_launch, back_to_school
utm_termIdentifies the paid search keyword (if applicable)running shoes, best practices, budget travel
utm_contentDifferentiates similar links or A/B test variationsimage_ad_v1, button_top, cta_footer, new_customer

utm_source identifies where the traffic originated. Use one unique utm_source per distinct platform. If you run campaigns on both Facebook and Instagram, use separate values (facebook and instagram) rather than a single social value. This lets you compare performance between platforms in your reports later. A vague utm_source=social prevents you from seeing which platform drove results; utm_source=instagram tells you exactly where this traffic came from and lets you measure platform-specific ROI.

utm_medium describes the marketing channel or method, sitting between source and campaign to clarify the interaction type. If utm_source identifies the platform, utm_medium identifies how the traffic was directed. For example, utm_source=facebook and utm_medium=paid_social tells you this was a paid ad on Facebook, while utm_source=facebook and utm_medium=organic tells you this was an unpaid share or mention. Use specific values like email and social rather than broad terms like marketing that obscure the actual channel.

utm_campaign names the specific promotion, product, or initiative driving the traffic. This is where you connect traffic back to business objectives. Use the exact campaign name you use in other systems (email marketing platforms, ad networks, project management tools). If your team calls the initiative 'Summer 2024 Sale' internally, use summer_2024_sale as your utm_campaign value so reports match your operational language. Vague values like utm_campaign=promo split your data across multiple rows for different promotions, making it impossible to see the true performance of each.

utm_term is reserved for identifying paid keywords in search campaigns. If you run a Google Ads campaign targeting the keyword 'running shoes,' you would use utm_term=running shoes. This parameter helps you see which keywords drove traffic and which converted to leads or sales. Most advertising platforms can populate this automatically using dynamic parameters (e.g., {keyword}), which eliminates manual entry and prevents typos. If you are not running paid keyword-based campaigns, you do not need to use utm_term.

utm_content differentiates between similar links, creative variations, or A/B test versions. Common uses include link position (cta_button_top, cta_button_footer, sidebar_link), creative variation (image_ad_v1, video_ad_v2, text_ad_v3), or audience segment (new_customer_message, repeat_customer_message). If an email sends two different call-to-action buttons that both point to the same destination URL, using different utm_content values lets you measure which button drives more clicks. Without this parameter, both clicks appear as a single traffic source in analytics, hiding which creative performs better.

UTM Naming Conventions and Consistency

The single most important rule: consistency matters more than format. An inconsistent tagging strategy splits your data across multiple rows in analytics, making your reports unreliable and your insights wrong. Choose a naming standard and document it so your team follows it everywhere, every campaign, every channel.

RuleBad ExampleGood Example
Use lowercase onlyutm_source=Facebook, then facebook (creates two rows)utm_source=facebook (consistent)
Use hyphens or underscores, never spacesutm_campaign=summer sale (becomes summer%20sale)utm_campaign=summer_sale
Use specific, recognizable valuesutm_campaign=campaign01utm_campaign=summer_sale_2024
Maintain format across all parametersutm_source=facebook, utm_medium=Email, utm_campaign=SUMMER_SALEutm_source=facebook, utm_medium=email, utm_campaign=summer_sale
Use the same campaign name everywhereutm_campaign=summer_sale in ads, summer-sale in emailutm_campaign=summer_sale (consistent across all channels)

Establish specific rules for each parameter and document them in a shared place (Google Doc, wiki, or Slack). Example: utm_source always uses platform name in lowercase (facebook, instagram, linkedin), utm_medium is always one of: email, social, cpc, display, affiliate, organic, or paid_social, utm_campaign uses the format keyword_description_year (summer_sale_2024, product_launch_august), utm_term uses lowercase full keyword phrases, and utm_content uses format variation_type_version (image_ad_v1, button_top). Reference these rules every time someone builds a UTM link, and include them in onboarding documentation for new team members.

When and How to Use UTM Parameters

UTM parameters work on any URL and any traffic source. No special setup or configuration is needed—simply add the parameters to your link and share it. Your analytics platform automatically reads and reports on them when visitors click, with no additional configuration required.

  • Email marketing campaigns: Track which emails drive traffic and conversions. Use utm_source=newsletter_name, utm_medium=email, utm_campaign=specific_campaign so you can compare performance across different email sends.
  • Social media: Track clicks from organic posts, paid ads, and different platforms. Use utm_source=facebook/instagram/linkedin, utm_medium=social or paid_social, utm_campaign=campaign_name to separate organic from paid social.
  • Paid advertising: Google Ads and most platforms automatically add UTM parameters using dynamic values. Ensure you configure utm_source, utm_medium, and utm_campaign before launching to establish consistent tracking.
  • Affiliate marketing: Provide affiliates with pre-built URLs containing utm_source=affiliate_name, utm_medium=affiliate, utm_campaign=campaign. This tells you exactly which affiliates drove revenue and which are worth expanding.
  • Offline events: Promote an event URL with a custom utm_campaign (event_name_city_date) so you can measure website traffic resulting from attendance or awareness of the event.
  • A/B testing: Test two creatives or two landing pages by using different utm_content values. This lets you see which version drives more traffic and better conversion rates without any platform-specific testing tools.

UTM parameters pass through to your analytics platform automatically whenever a visitor clicks a link containing them. No additional configuration is needed—the parameters are simply part of the URL string itself.

Common Mistakes and How to Avoid Them

  1. 1Forgetting utm_campaign: The most commonly missed parameter, utm_campaign is your primary way to connect traffic back to business initiatives. Never skip it, even for simple tests or small campaigns, or you will lose attribution data.
  2. 2Changing parameter values mid-campaign: If you start a paid campaign with utm_campaign=summer_sale but midway through decide to rename it to utm_campaign=summer_sale_2024, your analytics will split it into two rows. Choose values at the start and keep them consistent through the campaign's end.
  3. 3Using different parameter formats for the same campaign: If one team member uses utm_source=instagram and another uses utm_source=Instagram, you have two separate data rows that will never roll up together. Enforce case-sensitivity rules across your team through documentation and training.
  4. 4Including special characters or spaces: URLs with spaces and special characters often break in email clients, Slack, text messages, and other platforms where they are shared. Always use lowercase, hyphens, or underscores only.
  5. 5Forgetting the ? before the first parameter: A URL with parameters must have exactly one ? before the query string. The first parameter comes after ?, and any additional parameters use & (not another ? symbol).
  6. 6Placing the fragment (#) before the query string: If a URL points to a specific page section, the # fragment must come after all UTM parameters. Correct: example.com?utm_source=email#reviews. Incorrect: example.com#reviews?utm_source=email (the fragment breaks parameter reading in some systems).
  7. 7Copy-pasting URLs and accidentally modifying values: When reusing a URL template, carefully verify that all parameter values match your current campaign. A small typo (summer_sale vs summer_Sale) creates a duplicate row in analytics and splits your data.

Frequently asked questions

What is a UTM builder?+

A UTM builder is a tool that constructs URLs with campaign tracking parameters (utm_source, utm_medium, utm_campaign, utm_term, and utm_content) so you can measure which campaigns, channels, and traffic sources drive visitors to your website. Instead of manually typing query strings and risking typos that fragment your data, a UTM builder generates correctly formatted URLs automatically.

What does UTM stand for?+

UTM stands for Urchin Tracking Module. The term comes from Urchin, an early web analytics platform that Google acquired in 2005. Google integrated Urchin's tracking system into Google Analytics, and the UTM parameter system has remained the standard for campaign tracking across analytics platforms ever since, used by Google Analytics, Fathom, Plausible, and nearly every other analytics tool.

What is the best UTM builder?+

The best UTM builder for you depends on your workflow and team size. Google's official Campaign URL Builder (part of Google Analytics) is free and trusted by the platform creator, making it a reliable choice for straightforward URL building. Other tools like UTM.io and Terminus offer features like saved templates, team workspaces, naming convention enforcement, and Chrome extensions that help larger teams scale. Free web-based builders work well if you build URLs occasionally; paid tools with automation features help teams that build hundreds of URLs monthly and need consistency across campaigns.

Is UTM tracking free?+

Yes. UTM parameters are a free standard supported by every major analytics platform. Adding UTM parameters to your URLs costs nothing. Most analytics platforms (Google Analytics, Fathom, Plausible, and others) read and report on UTM data without additional fees. Some paid services like URL shorteners and link management platforms offer UTM builders as part of their product, but the UTM parameters themselves and basic UTM builders are completely free.

Related free tools

DNS lookupWHOIS lookupDomain age checkerIP lookup

On this page

  • What Is a UTM Parameter?
  • Understanding URL Structure and Query Strings
  • The Five Core UTM Parameters Explained
  • UTM Naming Conventions and Consistency
  • When and How to Use UTM Parameters
  • Common Mistakes and How to Avoid Them