Skip to content
motifuse
SEO & Marketing

UTM Builder

Assemble campaign tracking URLs with utm_source, medium, campaign, term, and content parameters, correctly encoded for analytics.

  • Free public tool
  • No sign-up for this tool
  • Processing clearly labeled
  • Instant results

Content last reviewed

Quick Start

  1. Paste the destination URL

    Enter the page on your site that the campaign link should open.

  2. Fill the campaign parameters

    Set source, medium, and campaign name; add term and content when you need to tell ads or variants apart.

  3. Copy the tagged URL

    The finished link builds live below the form — copy it into your email, ad, or post.

Examples

A newsletter campaign link

The three core parameters appended to a clean URL.

Input

URL: https://motifuse.com/pricing · source: newsletter · medium: email · campaign: spring-sale

Output

https://motifuse.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=spring-sale

A URL that already has a query string

Because the destination already contains ?, the UTM parameters join with & instead.

Input

URL: https://motifuse.com/pricing?ref=partner · source: partner-site · medium: referral · campaign: co-promo

Output

https://motifuse.com/pricing?ref=partner&utm_source=partner-site&utm_medium=referral&utm_campaign=co-promo

About the UTM Builder

Analytics can usually tell you a visitor came "from Facebook" — but not whether it was the paid campaign or an organic post, the launch email or the monthly newsletter. UTM parameters close that gap: five standardized query parameters that stamp each link with exactly where and why it was shared. This builder assembles them into a correctly encoded URL so the tagging step never introduces typos or broken query strings.

The form mirrors the parameters themselves. Three do the core work: utm_source names the platform (newsletter, facebook, google), utm_medium names the channel type (email, social, cpc), and utm_campaign names the initiative (spring-sale, product-launch). The optional two add precision — utm_term for paid keywords and utm_content for distinguishing two ads, two buttons, or A/B variants pointing at the same page. Empty fields are simply left out of the URL rather than appended as blank parameters.

The output updates live as you type, with values percent-encoded through the browser's standard URL machinery and the query string joined correctly — if your destination URL already has a ?, the parameters are appended with & instead of creating a second question mark. One discipline the tool cannot do for you: consistency. Analytics treats Facebook, facebook, and FB as three different sources, so pick lowercase conventions once and reuse them — the builder outputs exactly what you type.

How to Use UTM Builder

  1. Paste the destination page into Website URL — the full address including https://.

  2. Fill in the three core parameters:

    • Campaign Source — where the link lives, like newsletter, facebook, or google.
    • Campaign Medium — the channel type, like email, social, or cpc.
    • Campaign Name — the initiative, like spring-sale or launch.
  3. Add Campaign Term (paid search keywords) and Campaign Content (ad or variant identifier) when you need to distinguish creatives pointing at the same page.

  4. The Generated URL builds live below the form. Click Copy and use the link in your campaign.

  5. Record the names you used in a shared document so the next campaign uses the same spellings — consistent naming is what makes the reports readable.

Key Features

  • All five UTM parameters

    Source, medium, campaign, term, and content — the full standard set, with the optional two omitted from the URL when left blank.

  • Correct encoding

    Values are percent-encoded through the browser's standard URL API, so spaces and special characters cannot corrupt the query string.

  • Existing-query awareness

    If the destination URL already contains a ?, parameters are appended with & — no double question marks.

  • Live output

    The tagged URL rebuilds on every keystroke, ready to copy at any moment.

When to Use UTM Builder

  • Email campaigns

    Tag newsletter links so email traffic is attributed to the specific send, not lumped into referral or direct.

  • Paid and organic social

    Give the same destination different source/medium combinations so ads and organic posts report separately.

  • A/B creative testing

    Use utm_content to tell two ad variants or two button placements apart in analytics.

  • Partner and affiliate links

    Issue each partner a distinctly tagged URL to measure who actually drives traffic.

  • Offline-to-online tracking

    Tag the URL behind a printed QR code so scans are attributable — pair with the QR Code Generator.

How It Works

The builder collects the five parameter values, skips any that are empty, and encodes the rest with the browser's URLSearchParams API — the same machinery browsers use for real query strings, so spaces, ampersands, and non-ASCII characters are percent-encoded safely. It then checks whether your destination URL already contains a ? and joins the parameter string with & in that case, or ? otherwise.

When the tagged link is clicked, your analytics platform reads the utm_* parameters from the landing URL and attributes the session to that source, medium, and campaign. The parameters are plain text in the URL — visible to the visitor and to anyone they share the link with — which is why campaign names should be things you are comfortable displaying publicly.

Supported Formats and Options

Formats

  • Tagged URL output

    A standard URL with utm_* query parameters, compatible with Google Analytics and every major analytics platform that reads UTM tags.

Options

  • Website URL

    The destination page. Required — with it empty, no output is generated.

  • Source, medium, campaign

    The three core parameters. Each is included only when filled in.

  • Term and content

    Optional parameters for paid keywords and creative/variant identification, omitted when blank.

Common Errors and Troubleshooting

Common errors

  • The same channel appears as several rows in reports

    Capitalization or spelling drift — Facebook, facebook, and FB are three different sources to analytics. The builder outputs exactly what you type, so adopt one lowercase spelling and reuse it.

  • Campaign traffic looks like people already on your site

    UTM-tagged links were used in internal navigation. Clicking an internal tagged link restarts the session with a fake source. Tag only external links that point in — emails, posts, ads, partner sites.

  • The link breaks when the URL contains a # fragment

    Parameters are appended to the end of whatever you enter, and query parameters placed after a #fragment are ignored by browsers. Remove the fragment, generate the tagged URL, then re-add #section at the very end if you need it.

Troubleshooting guide

When campaign data does not show up as expected

  • No campaign attribution in analytics: confirm the landing page actually received the parameters — redirects and link shorteners sometimes strip query strings. Click the tagged link and check the URL bar on arrival.
  • Everything reports as direct or referral: the tag may be on an intermediate URL rather than the final destination. Tag the URL the visitor actually lands on.
  • Term and content missing from reports: they are only included when you fill them in, and some analytics views hide them by default — check the secondary-dimension settings.
  • Two question marks in the URL: that happens when a tagged URL is tagged again. Start from the clean destination URL each time.

Limitations and Important Notes

The builder constructs the URL; it does not validate that the destination exists, shorten the link, or store a history of the links you have built — keep your own record of campaign naming conventions. Values are encoded but not normalized: capitalization and spelling are preserved exactly, so consistency remains your responsibility. URLs containing a # fragment need the fragment removed before tagging, since parameters are appended at the end. UTM tracking itself also depends on the visitor's browser reaching your page with the parameters intact — aggressive redirect chains or privacy tools can strip them.

Privacy and Data Processing

The URL and parameter values you enter are processed entirely in your browser — nothing is uploaded, logged, or saved by the tool. Remember that the finished UTM parameters are visible in the shared link itself, so anyone who receives it can read your source, medium, and campaign names.

Tips and Best Practices

Practical tips

  • Use all-lowercase, hyphenated values everywhere — analytics is case-sensitive and Facebook ≠ facebook.

  • Keep a shared spreadsheet of the source, medium, and campaign names your team has used.

  • Tag only external links pointing at your site; internal UTM links corrupt session attribution.

  • Name campaigns something you are comfortable being publicly visible — the parameters travel with the link.

  • Click every tagged link once before launch and confirm the parameters survive to the landing page.

Best practices

Tagging that produces readable reports

Decide the vocabulary before the first link. Choose a fixed list of mediums (email, social, paid-social, cpc, referral) and one canonical spelling per source, all lowercase with hyphens instead of spaces. Write it down where the whole team can see it — the discipline costs a minute per campaign and is the entire difference between reports you can read and rows of near-duplicates.

Match granularity to the question you will ask later. Campaign names should group everything you want compared as a unit; use content, not campaign, to distinguish creatives inside a campaign. If you find yourself creating a new campaign name per ad, the reports will be sliced too thin to say anything.

Before launch, click each tagged link and watch it arrive: parameters intact in the URL bar, session attributed correctly in a real-time analytics view. Redirects, shorteners, and typos are all caught by this thirty-second test.

Technical Details

Parameter encoding uses the browser's URLSearchParams API, which percent-encodes reserved characters and spaces per the URL standard. Empty fields are excluded before encoding, so the query string contains only populated parameters in the fixed order source, medium, campaign, term, content. The separator is chosen by checking the destination for an existing ?. The component is fully client-side with no history or storage.

Comparison

The five UTM parameters

ParameterAnswersExample values
utm_sourceWhere does the link live?newsletter, facebook, google
utm_mediumWhat kind of channel?email, social, cpc, referral
utm_campaignWhich initiative?spring-sale, launch
utm_termWhich paid keyword?running+shoes
utm_contentWhich creative or variant?banner-a, footer-link

Source, medium, and campaign are the trio worth filling every time; term and content earn their place in paid search and A/B tests.

Who Is This For?

Marketers running email, social, and paid campaigns; founders and small teams who want channel-level attribution without a marketing platform; agencies issuing distinctly tagged links to partners; and analysts cleaning up the tagging conventions behind messy acquisition reports. If you have ever wondered whether the newsletter or the ad drove the signups, UTM tags are how you find out.

Frequently Asked Questions

What is the difference between utm_source and utm_medium?

Source is the specific place the link lives — facebook, newsletter, a partner's site. Medium is the type of channel — social, email, cpc, referral. Together they let you separate facebook/paid-social from facebook/social, which is exactly the distinction the parameters exist to make.

Do UTM parameters affect SEO?

The parameters do not change page content, but tagged URLs can be indexed as duplicates of the clean URL if they end up in crawlable places. Use UTMs on distributed links (emails, ads, posts) and make sure your pages declare a canonical URL, which resolves the ambiguity.

Should I tag links between pages of my own site?

No. Clicking an internal UTM-tagged link restarts the visitor's session with a fake new source, destroying the original attribution. UTMs belong only on external links pointing at your site.

Are the parameters visible to the people who click?

Yes — they are part of the URL, visible in the address bar and preserved when the link is forwarded. Name campaigns accordingly, and avoid putting anything sensitive in the values.

Why do my campaigns split into multiple rows in analytics?

Inconsistent values. Analytics treats every distinct spelling and capitalization as a separate entry, so Facebook, facebook, and FB become three sources. Standardize on lowercase spellings and the rows merge going forward.

Can I add UTM parameters to a URL that already has a query string?

Yes — the builder detects the existing ? and appends the UTM parameters with & so the query string stays valid. Just avoid tagging a URL that already carries utm_ parameters from an earlier pass.

Find this useful? Share it.