PK Systems PK Systems
Web & marketing

UTM Link Builder

Build, preview, and shorten campaign-tracked URLs with proper UTM parameters. Saves presets in your browser, never on a server.

UTM Link Builder

The page people will land on after clicking. Include the protocol (https://) and the full path.

Where the traffic comes from. Examples: newsletter, google, twitter, partner-site.

How the link is delivered. Common values: email, cpc, social, banner, referral.

The marketing campaign or initiative — e.g. spring_sale_2026, product_launch_v2.

Optional. Keyword for paid search ads. Skip for organic, email or social campaigns.

Optional. Distinguishes A/B variants or placements — top-banner vs footer-link, for instance.

Tagged URL

Presets

Save the source/medium/campaign combinations you reuse. Presets are stored locally in this browser only.

    What are UTM parameters?

    UTM parameters are five standardised query-string keys — utm_source, utm_medium, utm_campaign, utm_term, utm_content — that analytics tools like Google Analytics, GA4, Matomo and Plausible use to attribute incoming traffic to a specific campaign. They live in the URL itself, so the data survives even if the destination page never explicitly opts in to tracking. The naming was popularised by Urchin, the analytics company Google bought in 2005, which is where the UTM prefix comes from.

    How to use this builder

    Paste your destination URL at the top, then fill in source, medium and campaign — those three are mandatory for clean reports. Add term and content only when they actually carry meaning (paid keywords or A/B variants). Toggle Force lowercase if your team's naming convention is case-sensitive: Email and email show up as two different sources in GA4. Save the combination as a preset so the next newsletter or campaign reuses the exact same spelling. Hit Shorten to get a tidy link for places where a long tagged URL is awkward.

    Why bother tagging links?

    Without UTMs, analytics tools fall back on the HTTP Referer header — which is missing on direct visits, blocked by many privacy tools, and gives no information about which specific email or post drove the click. UTMs survive all of that because they're in the URL itself. The trade-off is discipline: a single typo in utm_campaign creates a fresh row in your reports and silently fragments the data. Use presets, lowercase everything, and review your channel mappings every quarter.

    UTM parameter cheat sheet

    Parameter Purpose Example
    utm_sourceThe referrer or platform that sent the click.google
    utm_mediumThe general category of the channel.cpc
    utm_campaignThe named marketing initiative.spring_sale
    utm_termPaid-search keyword. Optional.running+shoes
    utm_contentDifferentiator for ads or links inside the same campaign.hero_cta

    Frequently asked questions

    Are UTM parameters case-sensitive?
    Yes. Email and email appear as two distinct sources in GA4 and most other analytics tools. Pick a casing convention (lowercase is the de-facto standard) and stick to it. The Force lowercase toggle on this builder will normalise everything for you.
    Do UTMs hurt SEO?
    No. Google handles tagged URLs fine, and a properly configured rel="canonical" tag tells the crawler the untagged URL is the canonical one. Avoid linking to UTM-tagged URLs internally, though — internal traffic should never be attributed to an external campaign.
    Can I use UTMs on email links?
    Yes — that's one of their most useful applications. A typical email link uses utm_source=newsletter, utm_medium=email, and a campaign name like 2026_05_weekly. Save it as a preset so every newsletter inherits the same spelling.
    Where does the data run?
    Everything happens in your browser — the URL, the parameter encoding, the presets stored in localStorage. Nothing is uploaded. The only network request fires when you click Shorten, and that goes to a public URL-shortening API only with the URL you've explicitly chosen to shorten.
    What's the difference between source and medium?
    Source is the specific platform (twitter, google, partner_x); medium is the broad channel (social, cpc, referral). Reports become much easier to read when those two roles stay clean — don't pack the channel name into the source field.
    Why are some of my UTM links showing up as (not set) in GA4?
    GA4 only registers UTMs on the very first hit of a session. If a redirect or tag manager strips the query string before GA4 fires, attribution breaks. Confirm with the GA Debugger extension that the parameters are present at the moment page_view is sent.