Pixel and tag checks

How to check your X (Twitter) pixel is working

The X pixel works if the browser loads uwt.js from static.ads-twitter.com and sends requests to analytics.twitter.com or t.co ending in /adsct, with your pixel ID. Conversions are separate events with their own event ID (tw-…), and a purchase should carry a value and a currency.

Skip the DevTools: the free scan loads your page in a real browser, accepts and rejects the cookie banner, and shows what the X (Twitter) pixel actually sent.

At a glance

Tag script
static.ads-twitter.com/uwt.js (the older single-event tag uses oct.js)
Event request
analytics.twitter.com/1/i/adsct?… and t.co/1/i/adsct?…, with txn_id or p_id
Pixel ID
A short code of letters and digits, used in twq('config', '<pixel ID>')
Click ID
twclid
Conversion events
Each has an event ID like tw-abc12-def34, created in Events Manager

Check it yourself in two minutes

  1. Open DevTools on the Network tab, filter on adsct, accept the banner and load a page.
  2. You should see one request to each of analytics.twitter.com and t.co per event. The page view comes from the base code's twq('config', …).
  3. Trigger a conversion (a test order or sign-up) and look for a request carrying the conversion's tw- event ID. A purchase should include a value and a currency.
  4. The X Pixel Helper extension for Chrome lists the events; Events Manager in X Ads shows whether each conversion event has received activity.

Why the X (Twitter) pixel breaks, and how to fix it

Conversion events created but never called

With the current pixel, the base code only sends page views. Each conversion you create in Events Manager needs its own call on the page where it happens:

twq('event', 'tw-abc12-def34', {
  value: 84.50,
  currency: 'USD',
  conversion_id: 'order-10045'
});

If the call is missing, the event stays at "no activity" even though the pixel shows as active.

Old single-event tags still on the site

Older X setups used one website tag per conversion (oct.js with twttr.conversion.trackPid). They often survive redesigns next to the new pixel, so conversions are counted by both or attributed to retired events. Remove the old tags once the new events record.

Purchase without value

Without value and currency, X can count purchases but not revenue, and value-based bidding has nothing to work with. Send the order total as a number with an ISO currency code.

The pixel loads before consent

The X pixel sets cookies when it loads and has no consent API of its own. It must load only after the visitor accepts marketing cookies. See Ad pixel fires before consent or after "reject".

twclid lost in a redirect

X adds twclid to ad clicks. A redirect that drops the query string loses it, and the conversion cannot be tied to the click. Test it with the click ID redirect tester.

What the free scan checks

  • X pixel loads, and sends at least a page view
  • Only one X ID, or a warning if there are more
  • X pixel waits until the visitor accepts cookies
  • X pixel stops after the visitor clicks "reject all"
  • No email addresses in plain text in X pixel requests
  • The twclid click ID survives your redirects

Server-side events (Conversions APIs, server-side tagging) are invisible to a public scan, so the report never marks them as working or broken.

Related

Sources

Updated 2026-10-27. Based on the platforms' public documentation and the requests their public tags make; menus and names change, so check the linked pages if a step looks different.

Other platforms