X pixel conversion events in GTM: what 55 sites send
Fire the X pixel conversion event when the lead exists: the form accepted, the account created. Not on the button click and not on a page view. On 7 Nov 2026 we read the public GTM containers and page code of the 216 sites in our study that load the X pixel. 55 send a conversion event we could read. 11 of the 55 (20.0%) tie at least one to a click, a page-view URL or every page.
Check this on your own site
Free. Public tags only. Your result opens on the scan page.
Why does the trigger matter on X?
X counts whatever the pixel sends under an event ID. It can't tell a finished form from a click on the button that opens one. If a campaign optimises for a website conversion, every click that sends the event teaches the campaign that this kind of visitor is a win. X Business Help has the setup pages (business.x.com).
It is the same mistake as in Google Ads, LinkedIn, Meta and Reddit. Which event a campaign optimises for is set in X Ads Manager, and you can't read it from outside.
What do sites fire X conversion events on?
We read every X pixel conversion event in GTM, from tags that carry an X event ID (tw-xxxxx-xxxxx) and from twq('event', ...) in Custom HTML, plus the same call in the page HTML. We left out the PageView base call. 55 of the 216 sites (25.5%) had one or more, 121 events in all (99 tag template, 22 Custom HTML). The median of those sites sends 1, the top 10% send 5 or more.
| Trigger | Sites | Counts a lead? |
|---|---|---|
| dataLayer event (form sent, signup done) | 36 (65.5%) | Usually |
| Thank-you URL or narrowed page load | 8 (14.5%) | Yes, if only converters reach it |
| GTM Form Submission trigger | 5 (9.1%) | Only with Check Validation on |
| Button or link click | 6 (10.9%) | No, the click comes first |
| Trigger group, visibility, scroll, video or timer | 6 (10.9%) | Rarely |
| Page view, not a thank-you page | 4 (7.3%) | No, it counts a visit |
| Every page load | 2 (3.6%) | No |
| Any of click, other page view, every page | 11 (20.0%) |
By events, 8 of the 121 (6.6%) sit on a click. The dataLayer row is the best case only if the site pushes that event after the form is accepted. We see the event name, not when your developers push it.
A click event is fine for building an audience, for example "clicked pricing". The problem starts when a campaign optimises on it as if it were a lead.
Why can't we see which event is a lead?
X conversion events are created in X Ads Manager and get an ID such as tw-abc12-abc34. The name (Lead, Sign up, Purchase) lives in the X account, not in the tag. 54 of the 55 sites (98.2%) send at least one event by ID only. Only 3 sites use a named call: Lead, SignUp and Download, one site each. So unlike on Reddit or TikTok, we can't say how many of these are "Lead" events. The numbers above count all conversion events and sort them by trigger, which is what we can see.
How do I check my own pixel in 10 minutes?
- List the X tags in GTM: tags built from the X pixel template, plus a search for
twq(in Custom HTML. Note each event ID and its trigger. A Form Submission trigger without Check Validation fires on failed submits too (Tag Manager Help). - Match each ID to its name in X Ads Manager, Events Manager. An ID you can't match is a tag nobody owns.
- Use DevTools, Network, filter on
t.cooranalytics.twitter.com. Click "Book a demo" or "Sign up" without sending the form. Load your pricing page and a blog post. Write down every event that fires before a lead exists. - Send one real test lead. Exactly one conversion event should leave the browser, after the form is accepted. Two means the pixel fires twice, for example from GTM and from the site's own code.
- Open each conversion campaign and read which event it optimises for. If it is an event your list says fires on a click or a page view, fix the trigger before you raise the budget.
How do I move the event to the real success moment?
- The form shows a thank-you message with no new URL: have the site push a dataLayer event after the server accepts the form, and fire the X tag on that custom event. Form Submission triggers fire on the submit, before the form is accepted.
- There is a thank-you page: fire on that exact URL with a page-path condition, and make sure no one lands there without submitting.
- You want the click signal: keep it as its own event ID with a clear name in X Ads Manager, so no campaign optimises on it by mistake.
- Same fix, other platforms: click conversions in Google Ads, LinkedIn, Microsoft Ads UET, Meta, Reddit.
What can't we see from outside?
- Which event a campaign optimises for. That is set in X Ads Manager, and so is the name behind each event ID. Every number here counts events sent, not conversions X recorded.
- Events from the site's own JavaScript files, server-side tags and the X Conversions API. 161 of the 216 sites (74.5%) show no conversion event we could read, and some of them send events we can't see. 43 sites (19.9%) send only or also the
PageViewbase call. - Timing. We read code, not a live visit. A trigger that looks like a page view can carry a condition we could not parse.
- The sample: our 1,727-site study, built from lists, not random. 47 of the 55 sites with events are B2B SaaS, 5 ecommerce, 3 agencies.
FAQ
Should an X conversion event fire when someone clicks the sign-up button?
No. The click comes before the lead exists, and X counts whatever the pixel sends under that event ID. Fire it after the form is accepted or on the thank-you page, and give click events their own ID and name.
Does the free Fireshift scan check the X pixel events?
Not the events yet. It reads Google Ads and GA4 from the public containers. The X check in this guide is a manual one.
Run the free scan on your site.
Fireshift reads what your site tells Google Ads, GA4 and Meta from the outside. No install, takes seconds.