UTM builder for X links

Add tags like utm_source=x to a link so your analytics can tell which post sent each visit. Pick an X preset, name the campaign and copy the tagged link.

  • Runs in your browser
  • Nothing uploaded
  • No sign up
The built link, split into its parts: Protocol https://, Domain example.com, Path /pricing, utm_source utm_source=x, utm_medium utm_medium=social, utm_campaign utm_campaign=autumn_launch_2026_09, utm_content utm_content=post_01.

Your tagged link

https://example.com/pricing?utm_source=x&utm_medium=social&utm_campaign=autumn_launch_2026_09&utm_content=post_01

This link is 113 characters long. In an X post it counts as 23, however long it is.

Presets for X

A link inside a normal post.

Campaign name builder

Result

autumn_launch_2026_09

The date goes last, so names sort by campaign first and by date second.

Batch: one page, several posts

Tagged links for each post
Postutm_contentLink
Launch post01_launch_posthttps://example.com/pricing?utm_source=x&utm_medium=social&utm_campaign=autumn_launch_2026_09&utm_content=01_launch_post
How it works thread02_how_it_works_threadhttps://example.com/pricing?utm_source=x&utm_medium=social&utm_campaign=autumn_launch_2026_09&utm_content=02_how_it_works_thread
Customer story03_customer_storyhttps://example.com/pricing?utm_source=x&utm_medium=social&utm_campaign=autumn_launch_2026_09&utm_content=03_customer_story
Last call04_last_callhttps://example.com/pricing?utm_source=x&utm_medium=social&utm_campaign=autumn_launch_2026_09&utm_content=04_last_call

Everything is built in your browser. Nothing is saved or sent.

Live. Everything runs on your device.Nothing is uploaded

The anatomy of a UTM tagged link

Each colour matches the diagram above. Before the question mark is the page; after it, notes for your analytics.

Protocol
Almost always https://. Added if you leave it out.
Domain
Your own site, or your analytics never sees the tags.
Path
The exact page the post promised, not the home page.
utm_source
Who sent the visit. For X, use x.
utm_medium
social for organic, a paid medium for ads.
utm_campaign
The launch, series or promotion.
utm_content
Which post or link. This is how you compare posts.
utm_term
Paid keywords or audiences. Empty for organic.

How to build a UTM link for X

The first link takes a minute. After that, a preset and the batch box make it seconds.

  1. ?step=1

    Paste the page address

    Enter the full address you are linking to, such as https://example.com/pricing.

  2. &step=2

    Pick a preset for X

    Organic post, thread, profile link or paid fills source and medium for you.

  3. &step=3

    Name the campaign

    Type it in plain words, add a date stamp and press Use as utm_campaign.

  4. &step=4

    Say which post it is

    Set utm_content, or use the batch box for one link per post.

  5. &step=5

    Copy and post

    Copy the link or the batch as a list or CSV. On X it counts as 23.

UTM parameter reference

Definitions follow Google's campaign data guide. The last column is what we suggest for X.

UTM parameters, what they mean and what to use for X
ParameterStatusWhat Google says it isFor X
utm_sourceRequiredReferrer, e.g. google, newsletter4x
utm_mediumRequiredMarketing medium, e.g. cpc, emailsocial or paid_social
utm_campaignRequiredProduct, slogan, promo codeautumn_launch_2026_09
utm_contentOptionalTells creatives apartpost_01, bio_link
utm_termOptionalPaid keywordAd audience, or empty
utm_idOptionalCampaign IDOnly for cost imports
utm_source_platformOptionalPlatform directing the trafficRarely needed
utm_creative_formatOptionalType of creativeRarely needed
utm_marketing_tacticOptionalTargeting criteriaRarely needed

UTM tags for X: organic or paid, profile or post

The medium decides the channel. These are the rules in GA4's default channel group.

Organic Social

Medium is one of:

socialsocial-networksocial-mediasmsocial networksocial media

or the source is on Google's list of social sites.

Paid Social

Source on the social list, and a medium that:

contains cpstarts with paidppcretargeting

*Google does not print the full site list, so check where your first paid clicks land.

Presets for X and the channel they fall into in Google Analytics 4
Presetsource / mediumcontentGA4 channel
X post, organicx / socialpost_01Organic Social
X threadx / socialthread_01Organic Social
X profile linkx / socialbio_linkOrganic Social
X ads, paidx / paid_socialad_01Paid Social*

Profile and post links share source and medium; utm_content tells them apart.

Worked example: one launch week

utm_campaign=autumn_launch_2026_09

  • 01_launch_post
  • 02_how_it_works
  • 03_customer_story
  • 04_last_call
  • thread_01
  • ad_01 · paid_social

One report, every post side by side, paid kept apart.

UTM naming conventions to borrow

Consistent names beat clever ones. Adjust these once, then reuse them.

Naming patterns for UTM values
UsePatternExample
Campaign by monthtopic_yyyy_mmautumn_launch_2026_09
Campaign by quartertopic_yyyy_qnwebinar_series_2026_q4
Always on profile linkprofileprofile
Post in a batchnn_short_label02_how_it_works_thread
Post by formatformat_nnthread_03, poll_01
Post by hookhook_short_labelhook_question
Ad by audienceaudience (utm_term)retargeting_30d
Same post, two linkspost_nn_positionpost_04_reply

Five rules that keep reports clean

  1. 1Lowercase everything
  2. 2Underscores between words, never spaces
  3. 3Topic first, date last, so names sort
  4. 4One source per platform: x for X
  5. 5Write the rules down for the team

How to read UTM results in GA4

Google's campaign data guide points here. Then switch the table's dimension:

ReportsAcquisitionTraffic acquisition
GA4 dimensions for each UTM parameter
To seeGA4 dimension
x / social as its own rowSession source / medium
Launches comparedSession campaign
Posts compared (utm_content)Session manual ad content
utm_termSession manual term

Source: traffic source dimensions.

In any other analytics tool

Find campaigns or sources, filter to source x, then break down by campaign and content.

What to compare

Not raw visits: visits against the post's goal, like sign ups. Repeat the post that brings the right people.

Mistakes that break UTM tracking

Mixed case

X · x · X_Launch

x

Values are case sensitive, so one source splits into rows.

Tags on internal links

blog → pricing?utm_…

untagged

Tagging your own links relabels visitors who already have a source.

A new source name each time

x.com · x_social

x

Pick one name per place and write it down.

Leaving out source or medium

utm_campaign only

source + medium + campaign

Google then reports the source as (not set).

Personal data in the link

utm_content=jane@…

post_04

Links get shared and logged. Never put people in them.

Shorteners that drop tags

?utm_… lost

click once to check

Some redirects drop everything after the question mark.

Parameters after the #

/page#top?utm_…

/page?utm_…#top

Anything after # never reaches analytics. The builder handles it.

What a long UTM link costs on X

Nothing extra. Per X's counting guide, every link counts as 23 characters, so there is no reason to skip tags.

example.com
23
example.com/pricing?utm_source=x&utm_medium=social&utm_campaign=…
23

Count a whole draft with the X character counter.

Clicks per post, without the spreadsheet

  1. Tracked link
  2. Clicks
  3. Next to views and credits

Kairo Post creates tracked links for your posts and shows their clicks beside each post's views and credits used. Post metrics come from the official X API, and your UTM tags still ride along.

What is a UTM link?
A normal link with extra parameters on the end, such as utm_source=x and utm_campaign=autumn_launch. Analytics tools read them to report where each visit came from.
What should utm_source and utm_medium be for X?
Use utm_source=x for everything from X. Use utm_medium=social for organic posts and profile links, and a paid medium such as paid_social for ads.
Do UTM parameters hurt my post on X?
No. Every link in an X post counts as 23 characters, however long it is. Tags only make the address longer, which readers rarely see in full.
Which UTM parameters are required?
Google Analytics asks you to always use utm_source, utm_medium and utm_campaign. utm_content and utm_term are optional; utm_content is the one that tells posts apart.
Are UTM values case sensitive?
Yes, in Google Analytics and most other tools. utm_source=x and utm_source=X report as two sources, which is why this builder lowercases everything.
Should I add UTM tags to links on my own website?
No. Tags describe how someone arrived from outside. Tagging links between your own pages can relabel a visit that already has a source.
Where do I see UTM results in Google Analytics 4?
Reports, then Acquisition, then Traffic acquisition. Use the Session source / medium and Session campaign dimensions to see visits from each tagged link.
Is this UTM builder private?
Yes. There is no sign up and no cost. It runs in your browser and does not store or send the links you build.

UTM builder questions

Short answers about tagging links for X.

Post at the right moment.
Starting today.

Connect an account, describe your voice and let Kairo Post do the legwork.