Settl.

Tracking / X (Twitter) · Shopify

The X (Twitter) Conversions API on Shopify

X Ads optimizes on the purchases its pixel reports. On Shopify that pixel runs in the browser, and there's no built-in way to send purchases to X from a server. This page explains how X tracking works on a Shopify store, why sales go missing, what the X Conversions API needs, and how to count every event once.

twclid saved on landing

X's click id is stored when the visitor arrives from an ad, and kept for 90 days.

Purchases from the server

Paid orders reach X through the Conversions API, even when the pixel script is blocked.

One conversion_id, one count

Shopping steps go out from the pixel and the server with the same id, so X counts them once.

The X Pixel and the X Conversions API

The X Pixel (still loaded from static.ads-twitter.com, from the Twitter days) is a script on your store that reports page views and conversion events to X Ads. Conversion campaigns, audiences and bidding all lean on those events.

Shopify has no X sales channel that sends conversions for you, so the pixel usually goes in through a custom pixel under Settings → Customer events, or through an app. Either way it runs in the shopper's browser.

The X Conversions API is the server-side route: your server posts conversions to X's Ads API. X's own docs say it requires a developer account with Ads API access, and tokens from a user with Ad manager or Account administrator access to the ad account (checked October 2026). That extra step is why many tracking apps leave X out.

Where X conversions get lost

  • Ad blockers and privacy browsers that block the X Pixel script. When it doesn't load, the purchase never reaches X.
  • Shoppers who tap an ad inside the X app, browse in its in-app browser, and buy later in Safari or Chrome, so click and sale sit in different browsers.
  • A missing click id: if the twclid isn't on the landing URL, or a redirect drops it, X has less to match the sale on.
  • Cookie banners: depending on your consent setup, the pixel may wait for consent before it loads.

What X uses to match a purchase

X asks for at least one identifier: the click id (twclid), an email address or a phone number. IP address and user agent only count next to one of those, never on their own. The more identifiers you send, the better X can match.

  • twclid: the X click id on your landing URL. Settl saves it at landing and sends it with the order, unhashed, as X asks.
  • Email, hashed with SHA-256 after trimming spaces (Settl also lowercases it).
  • Phone number in E.164 format (+31612345678), hashed with SHA-256.
  • IP address and user agent from the visit, alongside the identifiers above.
  • Order value, currency, number of items and the products in the order.

Counting each event once

X deduplicates on conversion_id: when the pixel and the Conversions API report the same event with the same conversion_id, X keeps one. X's docs also say to use the same event you created for the pixel, not a separate one.

Settl sends product views, add-to-carts and searches from the X Pixel with a conversion_id, and the server copy carries that same id. The purchase goes to X from the server only, once per paid order. If another app or a hand-made custom pixel also sends a purchase event to the same pixel, you can count sales twice: keep one purchase source, and compare X's totals with your Shopify orders.

How to check it in X Ads

In X Ads Manager, open Tools → Events Manager, select your pixel and look at the Purchase event's activity. Place a test order after clicking one of your ads and check that it shows up with the right value.

Then compare a week of X conversions with the Shopify orders that came from X. A large gap usually means the click id isn't reaching your store. Settl's hourly tracking health check flags ad visits that land with an empty or template click id, per platform.

Common mistakes

  • Creating a new Conversion API event instead of reusing the pixel's event, so pixel and server never deduplicate.
  • Tokens from a user without Ad manager or Account administrator access, so X rejects the requests.
  • Sending server events with only IP and user agent; X needs a click id, email or phone with them.
  • Leaving value and currency off the purchase, so X can't report revenue or ROAS.

How to set it up with Settl

  1. 1Find your Pixel ID

    In X Ads Manager open Tools → Events Manager, select your X Pixel and copy the Pixel ID: the short code in its details (for example o8z6j).

  2. 2Create the events

    Click Add event, choose Install with Conversion API and create a Purchase event, plus any shopping steps you want. Copy each Event ID.

  3. 3Get the API keys

    In the X Developer Portal, open an app with Ads API access → Keys and tokens. Copy the API key and secret, and generate an access token and secret for an account with Ad manager or Account administrator access.

  4. 4Paste them into Settl

    Connect your Shopify store and paste the Pixel ID, event IDs and keys. Every paid order then goes to X from the server with the saved twclid.

Pricing

Monthly, cancel any time. No contract, no fee per order from Settl.

99,9% Tracking

Keep Shopify's checkout. Every paid order sent server-side to Meta, TikTok, Google, Snapchat and Pinterest.

$44.99/ month · first 10 days free, no card needed

Start with 99,9% Tracking

Pro

Your own checkout plus 99,9% Tracking and ROAS per ad, in one plan.

$54.99/ month · first 10 days free, no card needed

Start with Pro

Questions

Is X the same as Twitter for ads tracking?+

Yes. Twitter Ads became X Ads; the pixel still loads from ads-twitter.com and the click id is still called twclid.

Do I need X Ads API access?+

For the Conversions API, yes: X requires a developer account with Ads API access. The pixel alone doesn't need it.

Which events does Settl send to X?+

Paid purchases from the server, plus the shopping steps you create an event for: page visits, product views, searches, add-to-carts, checkout started and payment info.

Does it work on WooCommerce?+

Yes, through the Settl Tracking plugin.

What does it cost?+

€39,99 per month after 10 days free. X is included with Meta, TikTok, Google, Snapchat, Pinterest, Microsoft Advertising and Reddit.

Related

All guides and comparisons →

Every sale back to your ads.

Get started
X (Twitter) Conversions API on Shopify · Settl