X ads UTM parameters, and why the source is still twitter
Type utm_source=twitter and utm_medium=paid_social into the link inside the post, before you promote it. X's campaign setup has no URL parameters field and no macros. Use twitter, not x: Google's social source list includes twitter and t.co, and has no entry for x.
The interactive UTM builder loads with this page, pre-filled for X (Twitter) ads, and runs entirely in your browser.
twitter is on Google's social source list and x isn't; tagged x, a paid click only matches GA4's Paid Other rule, so twitter is what keeps it in Paid Social.
Where to put it
Build the tagged URL here with utm_source=twitter.
Put it in the post itself, as the link the post carries.
Promote that post in a Website Traffic or Website Conversions campaign.
Measure on-site actions with the X Pixel or the Conversions API. They work alongside your UTMs, not instead of them.
It feels right to write utm_source=x now that the platform is called X. GA4 doesn't recognise it.
GA4's Paid Social rule needs two things: a source on Google's list of social sites and a paid medium. The list Google publishes contains twitter, twitter.com and t.co. It has no x and no x.com. A click tagged utm_source=x&utm_medium=paid_social meets only the medium half, which is GA4's Paid Other channel. The click is still counted, just in the wrong channel, next to any other paid traffic GA4 can't tie to a known site.
Organic posts are safer. GA4's Organic Social rule accepts a social medium on its own, so utm_source=x&utm_medium=social still reaches Organic Social. The problem is specific to paid. Even so, one source value for both keeps your reports in one piece, and twitter is the one that works for both. If your old links are a mix of x and twitter, paste them into the UTM audit to see how far the split goes.
There's no field to fix it later. Google Ads, Meta, LinkedIn, TikTok, Pinterest, Reddit and Snapchat each have a URL parameter field or macro system in their ad setup. X's documented campaign setup has no URL parameter step and no dynamic macros: a Website Traffic campaign promotes a post you've already written, and the link is whatever that post contains. Changing the tags afterwards means editing the post, so tag it before you publish.
No macros also means no per-ad values filled in for you. If you want to compare two promoted posts, give each its own utm_content by hand when you write it.
The X Pixel does a different job. The X Pixel (base code plus event code) and the Conversions API measure what people do on your site after the click, for X's own reporting. They don't set source and medium in your analytics. UTMs do that, so run both.
Questions
Should utm_source be x or twitter?
twitter. Google's published list of social sources, which GA4's Paid Social rule checks, includes twitter, twitter.com and t.co, but not x or x.com. A paid click tagged x lands in Paid Other instead of Paid Social.
Can I add UTM parameters to an X ad after it's live?
Not through the ad settings. X's documented campaign setup has no URL parameter field or macros; the tags live in the link inside the promoted post, so changing them means editing the post.
Does the X Pixel replace UTM parameters?
No. The X Pixel and Conversions API measure on-site actions for X's reporting. They don't set source and medium in your own analytics, which is what UTMs do.