RevealTheme logo

UTM Link Builder

Build campaign-tagged URLs by entering a base link and filling in the UTM fields you need. The tool URL-encodes each value and appends utm_source, utm_medium, utm_campaign, utm_term, and utm_content as query parameters.

How to use this tool

  1. 1

    Paste your destination URL (for example https://your-site.com/page) into the first field.

  2. 2

    Fill in the UTM fields you want to track. Source, medium, and campaign are labeled required by convention; term and content are optional and can be left blank.

  3. 3

    Watch the tagged URL build automatically below the form as you type — only the fields you fill in are included.

  4. 4

    Click Copy to copy the finished URL to your clipboard, then use it in your ad, email, or social post.

What are UTM parameters and how does this builder assemble them?

UTM parameters are query-string tags appended to a URL so analytics tools can attribute incoming traffic to a specific campaign. The five standard keys are utm_source (where the traffic comes from, like newsletter or facebook), utm_medium (the channel type, like email, cpc, or social), utm_campaign (the campaign name), utm_term (paid-search keywords), and utm_content (a label to A/B test links). They originated with Urchin, the analytics product Google acquired to build Google Analytics, and are now read by GA4 and most other platforms. This builder takes your base URL and each filled-in field, runs every value through JavaScript encodeURIComponent so spaces and special characters become safe percent-encoded sequences (a space becomes %20), and joins them with & after a ? — or after an existing & if your URL already contains a query string. Only fields you actually fill in are added; blank fields are skipped entirely. The tool does not enforce required fields or validate spelling, so consistency is on you: utm_source=Facebook and utm_source=facebook are counted as two separate sources because UTM values are case-sensitive in reports.

Common use cases

  • Tagging a Mailchimp or newsletter link so email-driven sessions show up under a named campaign in GA4.

  • Building distinct utm_content links for two versions of the same ad to compare which creative drives more clicks.

  • Tracking paid Google or Meta ads with utm_medium=cpc and utm_term set to the target keyword.

  • Labeling organic social posts across Twitter, LinkedIn, and Instagram so each platform reports as its own source.

  • Adding consistent tags to influencer or affiliate links before handing them off, so attribution survives the handoff.

  • Tagging a QR code's destination URL for a print flyer or event so offline-to-web traffic is measurable.

Frequently asked questions

Which UTM parameters does this tool require?
The tool itself requires nothing beyond a base URL — it builds output from whatever fields you fill in and does not block you. The 'required' labels reflect convention: GA4 needs utm_source to register a campaign, and utm_medium and utm_campaign are strongly recommended. utm_term and utm_content are optional.
Does this tool validate or fix my values?
No. It does not check spelling, enforce lowercase, or catch typos. Because UTM values are case-sensitive in reports, 'Email' and 'email' become two separate mediums. Pick a naming convention and apply it consistently yourself.
What happens if my URL already has a query string?
The builder detects an existing ? in your URL and joins the UTM parameters with & instead of adding a second ?, so the result stays a valid URL.
Are special characters in my values handled safely?
Yes. Each value is passed through encodeURIComponent, so spaces, ampersands, and other reserved characters are percent-encoded (a space becomes %20). The base URL itself is not re-encoded, so paste it already-valid.
Should I tag internal links?
No. Tagging links between pages of your own site overwrites the original campaign attribution and corrupts your reports. Only tag inbound links coming from external sources like ads, emails, and social posts.
Is my data sent anywhere?
No. The URL is assembled entirely in your browser with JavaScript, and the Copy button uses your local clipboard. Nothing you type is uploaded to a server.

Related tools