Twitter/X Event ID Format
One or more X Pixel events on this site are firing with an event ID that does not match the `tw-XXXXX-XXXXX` shape X expects. The pixel still loads. The request still goes out. But the event ID is the routing key X uses to decide which configured conversion the hit belongs to. A malformed ID routes nowhere, so the Purchase you can see in the network tab never lands against the Purchase event you set up in Events Manager.
Why It Matters
When you configure a website event in X Ads Events Manager (PageView, ContentView, Search, AddToCart, AddToWishlist, CheckoutInitiated, Purchase, Lead, SignUp, Subscribe), X mints an event tag ID for it. That ID is the second argument in `twq('event', 'tw-XXXXX-XXXXX', {...})`. The pixel runtime parses it, matches it against your account's registered event tags, and only then attributes the hit. There is no fallback. If the string is `abc123-def456`, or `TW-abc123`, or somebody pasted a campaign ID in by mistake, the call fires cleanly and the conversion never lands. This is the easiest Twitter/X measurement bug to ship and the hardest to notice. Your tag manager preview shows a 200. Your Network tab shows a request to the X analytics endpoint. The pixel helper goes green. The only place the failure surfaces is Events Manager, where the event volume column sits at zero while the site is clearly producing the action. Teams usually catch this weeks in, after a campaign launches against an event with no signal and the optimizer has nothing to bid against. The other variant is hand-typing IDs into a GTM template, or pulling them through a Lookup Table that got edited by someone who did not realise the format mattered. Both produce the same outcome.
How To Fix It
- Open X Ads Events Manager and copy the event tag ID directly from the UI for each configured event. Do not retype.
- Paste each ID into the corresponding tag (GTM template variable, hardcoded snippet, server-side template). Confirm every active conversion uses a `tw-` prefix followed by two hex-style segments.
- If you route IDs through a Lookup Table or Data Layer Variable, audit the mapping table against Events Manager and remove any rows that do not match the expected shape.
- Fire a test conversion in GTM Preview or a staging Purchase, and confirm the outgoing request payload carries the same ID Events Manager shows.
- Re-check Events Manager 30 to 60 minutes later and confirm the event count for that conversion ticked up.
Example
Expected: tw-o1234-abcde
Problem variants:
o1234-abcde (no tw- prefix)
TW abc123 def456 (spaces, wrong case)
tw-o1234 (truncated)
9876543210 (campaign ID pasted by mistake)Your X Pixel is firing website events with IDs that do not match the platform-required `tw-XXXXX-XXXXX` format. Per X Ads Help Center documentation on the website tag and event tags, every configured website event is assigned a `tw-`-prefixed identifier in Events Manager, and the pixel uses that exact string as the routing key for attribution. Events fired with malformed IDs execute at the network layer but never land against the intended conversion, producing zero-volume events in Events Manager while site activity continues. The failure mode is invisible from the browser side and only surfaces in platform reporting, which means campaigns can launch against an event with no signal before anyone notices. Fix: copy event tag IDs directly from X Ads Events Manager into each pixel call or GTM template, audit any lookup tables that mediate the mapping, and verify a test conversion lands against the expected event before relying on the data for bidding. Source: business.twitter.com/en/help/campaign-measurement-and-analytics/twitter-pixel.html.
Drop this paragraph into your client deliverable. Sources back to the canonical platform documentation linked below.
References
Audit your own files for this check
AdLint runs this check (and 177 others) against your GTM, Google Ads, Meta, TikTok, LinkedIn, Pinterest, Twitter/X, and Snapchat exports. Everything stays in your browser. No uploads, no accounts.
Run a free audit