// Free Tool · Analytics & Campaigns

UTM Builder — Free Google Campaign URL Generator

Build GA4-ready campaign URLs with channel presets — entirely in your browser.

Campaign URL Builder

UTM Builder

Generate campaign URLs with UTM parameters for Google Analytics tracking

Destination
Full URL of the page you want to track
Required parameters
Where the traffic is coming from (e.g., google, facebook, twitter)
Marketing channel type (e.g., cpc, email, social, referral)
Specific campaign identifier (e.g., spring-sale, black-friday-2026)
Optional parameters
Paid search keyword (used mainly for paid search campaigns)
Differentiate ads or links that point to the same URL (A/B testing)
Campaign ID from your ad platform — Google lists it as recommended. Case is preserved here, since platform IDs are often case-sensitive
Waiting for input
Quick presets

Recent URLs

    No URLs generated yet. Your history will appear here.

    What is a UTM builder?

    A UTM builder is a free tool that appends UTM parameters to any URL so that Google Analytics can identify exactly which campaign, channel, and source drove each visit to your site. The same tool is also called a campaign URL builder or a UTM generator — the output is identical. UTM stands for Urchin Tracking Module: the five standard parameters are utm_source, utm_medium, utm_campaign, utm_term and utm_content, and Google additionally recommends utm_id for the campaign ID. When a visitor clicks a tagged link, GA4 reads those values and populates your Traffic Acquisition reports automatically. The Elsop UTM Builder generates GA4-aligned campaign URLs with quick presets for every major channel, keeps a local history of what you built, and covers every parameter GA4 accepts. It runs 100% in your browser — nothing is sent to any server.

    How to Use the UTM Builder: A Step-by-Step Guide

    UTM parameters are tags added to the end of a URL that help Google Analytics (and other analytics platforms) track exactly where your traffic comes from and which campaigns drive the most conversions. This guide walks you through the entire process.

    1

    Enter Your Website URL

    Start by pasting the full URL of the page you want to track. This is the destination page where users will land after clicking your link. Make sure to include the protocol (https://).

    Tip: Use the final landing page URL, not a redirect. For example, if you're promoting a specific product, use the product page URL, not your homepage.
    2

    Fill In the Required UTM Parameters

    There are three required parameters that Google Analytics needs to properly attribute your traffic:

    ParameterPurposeExamples
    utm_sourceIdentifies the platform or website sending trafficgoogle, facebook, newsletter, linkedin
    utm_mediumIdentifies the marketing channel or type of trafficcpc, email, social, banner, referral
    utm_campaignIdentifies your specific campaign or promotionspring-sale, product-launch-2026, black-friday
    Tip: Use the Quick Presets to instantly fill Source and Medium for popular platforms like Google Ads, Facebook, or Email.
    3

    Add Optional Parameters (Recommended)

    Two additional parameters help you get even more granular tracking data: utm_term tracks paid search keywords, and utm_content differentiates similar content or links.

    4

    Copy Your Generated URL

    As you type, the tool generates your full URL in real time. Once all required fields are filled, click the "Copy URL" button to copy it to your clipboard. The URL is automatically saved to your local history so you can find it later.

    Tip: The "Force lowercase" option is enabled by default. This prevents data fragmentation in Google Analytics, where "Facebook" and "facebook" would be tracked as separate sources.
    5

    Use Your URL in Campaigns

    Paste the generated URL wherever you need it: social media posts, email campaigns, paid ads, QR codes, or partner links.

    6

    Track Results in Google Analytics

    After your campaign is live, check the results in Google Analytics. In GA4, go to Reports → Acquisition → Traffic Acquisition and filter by Session source/medium or Campaign.

    Every campaign parameter GA4 accepts

    Most builders stop at the five classic tags. Google's own documentation lists nine, and three of them behave in ways worth knowing before you standardise a template across a team. Anything you leave out is recorded as (not set) in the report where it would have appeared.

    ParameterStatusWhat it recordsWhere it lands in GA4
    utm_sourceRequiredThe referrer — the site or platform the click came fromSession source, Session source/medium
    utm_mediumRequiredThe marketing medium: cpc, email, bannerSession medium, Session source/medium
    utm_campaignRequiredThe campaign, promotion or promo codeSession campaign
    utm_idRecommendedThe campaign ID from your ad platformTraffic acquisition report
    utm_termOptionalThe paid keyword behind a search adAvailable as a campaign dimension
    utm_contentOptionalWhich creative or which link was clicked, when several point to the same pageAvailable as a campaign dimension
    utm_source_platformOptionalThe platform that placed the traffic, such as Search Ads 360 or Display & Video 360Available as a campaign dimension
    utm_creative_formatOptionalCreative type: display, native, video, searchAccepted but not reported in GA4 properties
    utm_marketing_tacticOptionalTargeting approach: remarketing, prospectingAccepted but not reported in GA4 properties
    Worth knowing: the last two are valid URL parameters that Google documents, but they do not surface anywhere in a standard GA4 property. Adding them lengthens the link without producing a dimension you can report on, so only use them if a downstream warehouse or BI tool reads the raw query string.

    The builder above writes utm_id exactly as you type it. That is deliberate: source, medium and campaign benefit from forced lowercase because they are typed by hand and fragment easily, while a campaign ID is usually copied from an ad platform, where SPRING26 and spring26 can be two different records.

    Campaign URL templates by channel

    Source and medium are where most tagging schemes fall apart, because each person guesses a slightly different word. These pairings match the values GA4 already recognises for its default channel grouping, so tagged traffic lands in the channel you expect instead of in Unassigned.

    Channelutm_sourceutm_mediumWhat to watch for
    Google AdsgooglecpcAuto-tagging (GCLID) already covers this. Add UTMs only when a second analytics tool needs them — and never override utm_source with anything but google
    Microsoft AdsbingcpcHas its own MSCLKID; the same caution applies
    Meta adsfacebook / instagrampaid_socialTag the placement in utm_content, not in source, or Facebook and Instagram collapse into one row
    LinkedIn adslinkedinpaid_socialLinkedIn can append its own parameters; check the final URL after the platform rewrites it
    Organic social postfacebook, x, redditsocialKeep it separate from paid_social, otherwise paid and unpaid effort share one line
    Email newsletternewsletter or the ESP nameemailMany ESPs add tags automatically — two sets of UTMs on one link is the most common duplicate
    YouTube descriptionyoutubevideoUse utm_content for the individual video so you can tell which one drives clicks
    Affiliate or partnerpartner nameaffiliateGive each partner its own source; a shared one makes payouts impossible to verify
    QR code or printqr-flyer, packagingofflineKeep the URL short before it becomes a QR code — long links produce denser codes that scan poorly
    SMS or pushsms, pushmobileCharacter limits make this the one case where a shortener is worth the lost readability

    A finished link follows the same shape in every channel — destination, then a question mark, then the tags joined by ampersands:

    ScenarioGenerated URL
    Newsletter, header linkhttps://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=spring-sale&utm_content=header-cta
    Meta ad, one creativehttps://example.com/pricing?utm_source=facebook&utm_medium=paid_social&utm_campaign=spring-sale&utm_id=23851234567890&utm_content=carousel-blue
    Conference QR codehttps://example.com/demo?utm_source=qr-flyer&utm_medium=offline&utm_campaign=measurecamp-2026

    Rules that keep the reports readable

    Agree on the vocabulary before the first link

    GA4 treats values as text, so e-mail, email and Email become three channels. Fixing this later means reprocessing months of reports, which GA4 will not do. Write the allowed values down once — our UTM naming conventions guide covers the taxonomy teams settle on.

    Never tag a link between your own pages

    An internal link carrying UTMs starts a new session and reattributes the visitor to that campaign, erasing the source that actually brought them in. It is the fastest way to make a site look like its own best traffic channel. Use internal promotion tracking or an event instead.

    Point the tag at the final URL

    If the destination redirects, the parameters survive only when the redirect preserves the query string — and plenty do not. Test the link once: open it and confirm the tags are still in the address bar after the page settles.

    Check the data landed before the campaign scales

    Open your tagged link, then look at Reports → Realtime in GA4 and check the session source/medium card. If the campaign is missing hours later, the usual causes are documented here — consent state, redirects and platform auto-tagging account for most of it.

    Deeper reading: what each UTM parameter does · where campaign data appears in GA4 · tagging Meta ads specifically

    Frequently Asked Questions

    What are UTM parameters?
    UTM (Urchin Tracking Module) parameters are tags added to the end of a URL. When someone clicks a link with UTM parameters, those tags are sent to Google Analytics, allowing you to identify exactly which campaign, source, and medium drove that visit.
    Do UTM parameters affect SEO?
    No. UTM parameters do not directly affect your search engine rankings. Google ignores UTM parameters when indexing pages. However, you should avoid using UTM-tagged URLs in your internal linking structure, as this can create duplicate content issues if not handled properly with canonical tags.
    Can I use UTM parameters with Google Ads?
    Yes, but keep in mind that Google Ads has its own auto-tagging feature (GCLID) that provides more detailed data. You can use UTM parameters alongside auto-tagging for additional campaign identification, especially when comparing data across multiple analytics platforms.
    How many UTM parameters should I use?
    At minimum, use the three required parameters: utm_source, utm_medium, and utm_campaign. Add utm_content when you need to differentiate between multiple links or ad creatives. Use utm_term primarily for paid search keyword tracking.
    Where does UTM data appear in Google Analytics 4?
    In GA4, navigate to Reports → Acquisition → Traffic Acquisition. You can add secondary dimensions for Campaign, Source, Medium, or use the Explore section for custom reports. Campaign data also appears in the Advertising section if you have Google Ads linked.
    Is my data saved somewhere?
    Your URL history is stored locally in your browser using localStorage. No data is sent to any server. If you clear your browser data or use a different browser/device, the history will not be available. Use the "Copy URL" button to save important links elsewhere.
    What is the difference between UTM Builder and Google's Campaign URL Builder?
    Both tools generate the same UTM-tagged URLs. Google's Campaign URL Builder is hosted on Google's own support site and offers no history or presets. The Elsop UTM Builder adds quick channel presets (Google Ads, Facebook, Email, and more), a force-lowercase option, and a local URL history that persists in your browser — making it faster for teams that tag links regularly. Both output identical URLs compatible with GA4.
    Should I add utm_id to my links?
    Google lists utm_id as recommended rather than required. It holds the campaign ID from your ad platform, which makes it possible to line up a GA4 row with the exact campaign record in Google Ads, Meta or your ESP without matching on campaign names that people rename mid-flight. This builder keeps utm_id exactly as you type it, because platform IDs are frequently case-sensitive, while the force-lowercase option still applies to source, medium and campaign.
    What happens if I leave a UTM parameter out?
    The dimension it would have filled shows as (not set) in your reports. That is harmless for optional tags, but leaving out source, medium or campaign means the visit cannot be attributed to the campaign at all, and it falls back to whatever referrer information the browser sent. Always fill the three required parameters, even when the value feels obvious.
    Do UTM parameters work outside Google Analytics?
    Yes. UTM tags are ordinary URL query parameters, so any analytics tool that reads the query string can use them. Matomo, Plausible, Fathom, Piwik PRO and most privacy-focused platforms recognise the same five standard tags, which means one tagged link works across tools and survives a migration between them. Support for the extended parameters such as utm_id varies by platform.

    More free tools: browse the full catalog →