UTM Builder

Add UTM parameters to links so every campaign shows up clearly in analytics.

  • Runs in your browser
  • Free, no sign-up
Source:
Medium:
Campaign URL
Open

    Tag many links at once

    About the UTM Builder

    The UTM Builder adds campaign tags to a link so your analytics can tell where visitors came from. Enter the page URL, the source, the medium and the campaign name, and copy the tagged link, ready for an email, a post or an ad.

    UTM parameters work with Google Analytics 4 and almost every other analytics tool. Use them on links you control outside your own site: emails and newsletters, social posts, ads on platforms without automatic tagging, QR codes on print, partner and affiliate links, and podcast or video descriptions.

    Besides the link itself, the tool predicts which GA4 default channel the visits will most likely be grouped under, keeps values consistent with lowercase and space handling, tags a whole list of links at once, and can keep a history of your links on this device. Nothing is sent to a server.

    How to use it

    1. Paste the page URLThe address people should land on. If you leave out https://, the tool adds it. Existing query parameters and #anchors are kept.
    2. Fill in source, medium and campaignSource is who sends the visit (newsletter, facebook), medium is how (email, social, cpc), and campaign is why (spring_sale_2026). The buttons fill in common values.
    3. Add optional detailsTerm for paid keywords, Content to tell two links in the same message apart, and Campaign ID if you match campaigns with data from elsewhere.
    4. Check the channel noteThe note under the link names the GA4 channel these visits will most likely land in, or warns that they may show up as Unassigned.
    5. Copy, open or saveCopy the link, open it to test, or save it to the history on this device and download the history as CSV later.

    Key features

    All six UTM parameters

    utm_source, utm_medium, utm_campaign, utm_term, utm_content and utm_id, in that order.

    GA4 channel prediction

    Follows the order of Google's manual traffic rules for the default channel group, from Paid Search and Display to Email, Affiliates, SMS and AI Assistant.

    Consistent values

    Lowercase everything and turn spaces into underscores, hyphens or %20, so "Spring Sale" and "spring_sale" do not split your reports.

    Safe with existing parameters

    Other query parameters stay; old utm_ values are replaced instead of being added twice.

    Bulk tagging

    Paste a list of page URLs and get each one back with the same tags, or "invalid" for lines that are not web addresses.

    Private history

    Up to 50 saved links in your browser's storage, with a CSV download. No account, nothing on our servers.

    Examples

    Where will the visits land in GA4?

    SourceMediumLikely channel
    newsletteremailEmail
    googlecpcPaid Search
    facebookpaid_socialPaid Social
    linkedincpcPaid Social
    facebooksocialOrganic Social
    youtubevideoOrganic Video
    partner_siteaffiliateAffiliates
    newsletterreferralReferral
    flyerqrUnassigned

    GA4 checks its rules in a fixed order, so the source can matter more than you expect. With source google and medium email, the visits most likely count as Organic Search, because the search-engine rule comes before the Email rule. A campaign name with "shop" or "shopping" in it, like shop_the_look with medium cpc, moves paid traffic to Paid Shopping.

    Messy input, clean link

    With "Lowercase all values" on and "Spaces become -", the URL example.com/spring-sale?ref=home&utm_source=old#top, the default tags, term "ceramic mugs" and content "Header Button" give:

    https://example.com/spring-sale?ref=home&utm_source=newsletter
      &utm_medium=email&utm_campaign=spring-sale-2026
      &utm_term=ceramic-mugs&utm_content=header-button#top

    (One line in the real output.) https:// was added, ref=home was kept, the old utm_source was replaced, the #top anchor stayed at the very end, and "Header Button" became header-button.

    Tagging a list

    Paste these lines into "Tag many links at once":

    https://example.com/a
    example.com/b?x=1
    not a url

    The first two come back tagged (the second keeps x=1 in front of the UTM tags), and the third comes back as invalid: not a url.

    Tips

    • Write down a naming scheme and stick to it: always "facebook", never "Facebook" in one link and "fb" in the next. GA4 treats each spelling as a different source.
    • Use utm_content to compare two links in the same email or post, such as header_button and footer_link.
    • Never put UTM tags on links inside your own site. They replace the visitor's real source with your campaign, which skews your reports.
    • For Google Ads, turn on auto-tagging and let Google pass the click details; use UTM tags for the platforms that do not do this for you.
    • Long tagged links look untidy in print. Put them in a QR code with the QR Code Generator, or shorten them with a link shortener you trust.

    Common mistakes and limits

    • Inventing a mediumGA4 sorts visits into channels mainly by medium. Unusual values like "qr" or "print" end up as Unassigned. Use email, social, cpc, display, affiliate or referral where they fit, and put the detail in source or campaign.
    • Mixing upper and lower caseutm_source=Newsletter and utm_source=newsletter are two rows in your reports. Keep "Lowercase all values" on.
    • Tagging internal linksA banner on your home page that links to /sale with UTM tags makes those visits look like they came from a campaign, not from the person's real source.
    • Putting personal data in tagsNever add email addresses, names or customer IDs to UTM values. They end up in analytics, server logs and browser histories.
    • Expecting UTM tags to track ads automaticallyThey only describe the click. You still need analytics on the landing page, and ad platforms with auto-tagging may already send better data.

    Frequently asked questions

    What are UTM parameters?
    Tags added to the end of a URL, such as utm_source=newsletter, that tell analytics tools where a visit came from. UTM stands for Urchin Tracking Module, after the tool that became Google Analytics.
    Which UTM parameters are required?
    Source, medium and campaign are the three you should always fill in. Term, content and ID are optional.
    Are UTM values case-sensitive?
    Yes. Google Analytics treats "Email" and "email" as different values, which splits your reports. That is why the tool lowercases by default.
    What medium should I use for a newsletter?
    email. With source newsletter and medium email, GA4 will most likely group the visits under the Email channel.
    Why does GA4 show my campaign as Unassigned?
    The source and medium did not match any of GA4's default channel rules. Check the medium first: values like email, social, cpc, display, affiliate and referral are recognized.
    What is utm_id?
    A campaign ID. GA4 uses it to join your campaign with cost data you import, so the same ID should be used everywhere for that campaign.
    Do UTM tags affect SEO?
    Not when they are used on links from emails, ads and social posts. Avoid them on internal links, and keep a canonical tag on your pages so tagged URLs are not treated as separate pages.
    Where is my history stored?
    In your browser's local storage on this device, up to 50 links. Clear it with the Clear button or by clearing your browsing data.