How to reconcile X Ads against your store's order table
This is the check we run first on every account, written out so you can run it without us. It takes about thirty minutes and needs two numbers: what X Ads says it produced, and what your store's order table actually shows. The gap between them is the only honest measure of whether your tracking works — and if it comes back small, you do not need us.
Free30 minutesNo obligation
Specific to X Ads × Ecommerce Orders
X Ads purchases vs your orders: check what counts as engagement
Save twclid on each order and send the order ID as the conversion identifier on the website tag and server event. Compare X's purchases for a closed month against paid online orders carrying twclid. Engagement and view windows inflate X's number; X reporting purchases while almost no orders carry twclid is the pattern that needs explaining.
The join is twclid saved from the landing URL onto the order. Because X's ad stack has been rebuilt repeatedly, first confirm the tag still fires: an integration that worked last year may now send nothing, or send purchases under an event X no longer reads. Count orders carrying twclid for the month before reading anything in X's reporting.
X sets attribution per conversion event, with an engagement window and a view window. Check whether engagements other than a link click, such as a like or an expand on a promoted post, can earn credit in your setup, because that lets X claim orders from people who never visited from X. Compare purchases within the engagement path against your twclid orders and treat view conversions separately. Check whether results are dated by the engagement or the order.
Pull the purchase event from X Ads Manager's conversion reporting for the month. For most stores X is a small line and the order counts are low, so a few orders either way is noise. A sudden drop to zero with no site change usually means the tag or API changed under you; a total far above your twclid orders usually means engagement and view credit, or duplicate tag and server events.
X Ads × Ecommerce Orders · what breaks
Why X Ads and your store's order table disagree
- 01
Refunds never subtracted
The most common cause and the easiest to check. Sum refunds for the same period — if the platform figure is roughly your gross and your own figure is net, that difference is the whole gap.
- 02
Purchase event firing on page refresh
A confirmation page that re-fires on reload counts one order several times. Compare distinct order IDs against total conversions.
- 03
Point-of-sale orders in the same table
If you have a physical shop, counter sales sit in the same order table and will be counted as advertising conversions unless the channel is filtered.
- 04
Post-purchase upsells arriving late
If the conversion fires at checkout and an upsell adds revenue afterwards, the platform is under-reporting by the upsell take rate.
X Ads × Ecommerce Orders · the fix
What you get from this — X Ads × Ecommerce Orders
A number instead of a suspicion
The likely cause, narrowed
A basis for deciding
X Ads × Ecommerce Orders · architecture
What each side is actually counting — X Ads × Ecommerce Orders
- 1
What X Ads counts
An event name X recognizes, a conversion identifier matched to the tag if you run one, a timestamp, hashed customer information, and the click identifier.
- 2
How X Ads attributes it
X appends twclid to your landing page URL. The platform's advertising stack has changed substantially and repeatedly, so treat any documentation older than a few months as unreliable and verify parameter names and endpoints directly before building.
- 3
The window it uses
X's attribution windows are configurable per conversion. Confirm the setting in your account before comparing any number, and verify the accepted event-freshness limit against current documentation.
- 4
What your store's order table counts
Paid orders with their totals, found in Shopify Admin → Orders, WooCommerce → Orders, or a direct query against the orders table.
- 5
The filter that makes them comparable
Financial status is paid, and the sales channel is online rather than point of sale.
X Ads × Ecommerce Orders · events
Reading the gap — X Ads × Ecommerce Orders
| What you see | What it usually means |
|---|---|
| 15%+ platform higher | Usually the wrong event entirely — the platform is claiming more than you took. usually refunds, duplicate firing, or a second channel bleeding into the same conversion action. |
| 20%+ platform lower | Usually structural — the platform is seeing fewer orders than you actually took. usually consent, ad blocking, or an identifier that never reached the order. |
X Ads × Ecommerce Orders · diagnose
Diagnostic order
- 01
Confirm both numbers cover the same period and channel
- 02
Refunds never subtracted
The most common cause and the easiest to check. Sum refunds for the same period — if the platform figure is roughly your gross and your own figure is net, that difference is the whole gap.
- 03
Purchase event firing on page refresh
A confirmation page that re-fires on reload counts one order several times. Compare distinct order IDs against total conversions.
- 04
Point-of-sale orders in the same table
If you have a physical shop, counter sales sit in the same order table and will be counted as advertising conversions unless the channel is filtered.
- 05
Read the conversion reporting inside X Ads Manager, reconciled against your own records
The platform's ad products and APIs have been rebuilt repeatedly, which means integration guidance ages faster here than anywhere else in this library. Anything you build should be re-verified periodically rather than assumed stable.
X Ads × Ecommerce Orders · prove
How to know you did it right — X Ads × Ecommerce Orders
Source of truth
your store's order table — orders for a fully closed month
X Ads × Ecommerce Orders · free audit
What we check in the free audit
- Confirm both numbers cover the same period and channel
- Refunds never subtracted
- Purchase event firing on page refresh
- Point-of-sale orders in the same table
- Read the conversion reporting inside X Ads Manager, reconciled against your own records
Checked against
your store's order table — orders for a fully closed month
Free30 minutesNo obligation
X Ads × Ecommerce Orders · when not to buy
When the answer is that you do not need us — X Ads × Ecommerce Orders
- If almost all of your orders come from a channel with no click behind it, no tracking work will reach them — and knowing that is worth more than a build.
- If X is a small experimental line on your plan, the integration effort is hard to justify against a platform whose API has moved this often.
X Ads × Ecommerce Orders · what we deliver
The method, step by step — X Ads × Ecommerce Orders
Pull what X Ads reports
The conversion reporting inside x ads manager, reconciled against your own records.
Pull what your store's order table shows
Export orders for a fully closed calendar month, filtered to paid and online. Count them, and sum the total after discounts and before shipping and tax.
Filter both to the same thing
Financial status is paid, and the sales channel is online rather than point of sale.
Compare per record, not on totals
FAQ
X Ads × Ecommerce Orders questions, answered
Engagement and view windows can credit an order to someone who interacted with or saw a promoted post. Compare only orders carrying twclid to see the click-driven part.
Check that the tag still fires and the event name is still recognized. X's tag and API have changed often, and an older setup can fail quietly.
Because you should know the size of the problem before anyone quotes you for it. If the gap is small, you have saved yourself a purchase. If it is large, you now know what you are buying rather than taking our word for it.
No. Both numbers come from systems you already own and neither leaves them. There is no tool to sign up for and nothing to upload.
Then compare totals for a closed period and treat the result as directional rather than exact. The conversion reporting inside x ads manager, reconciled against your own records is still the right place to read the platform's side.
Under five percent is working. Five to fifteen usually means reversals are missing. Above twenty is normally the wrong event being counted, not a broken tag — which is why debugging tags first wastes so much time.
Then fix the filter before drawing any conclusion. Financial status is paid, and the sales channel is online rather than point of sale. A mismatch in scope produces a gap that looks like a tracking fault and is not one.
Book the free thirty-minute call and bring both numbers. We will tell you which of the causes above it is, and whether it is something you can fix yourself — which it sometimes is.
More on X Ads × Ecommerce Orders
- Google Ads × Ecommerce OrdersHow to reconcile Google Ads against your store's order table
- Meta × Ecommerce OrdersHow to reconcile Meta Ads against your store's order table
- TikTok × Ecommerce OrdersHow to reconcile TikTok Ads against your store's order table
RELATED GUIDES
Systems of record beside ecommerce orders, and the funnels it settles
- X Ads × Enrolment SystemHow to reconcile X Ads against your application or enrolment system
- X Ads × POS SystemHow to reconcile X Ads against your point-of-sale system
- X Ads · Quiz → segmented offerHow to track quiz completion to segmented offer for X Ads
- X Ads · App install → purchaseHow to track app install to in-app purchase for X Ads
- X Ads · Alcohol and wineX Ads conversion tracking for alcohol and DTC wine brands
- X Ads · Crypto and tradingX Ads conversion tracking for crypto and trading platforms
- Olo → X AdsConnecting Olo to X Ads
- Stripe → X AdsConnecting Stripe to X Ads
Free · 30 min
Found a gap between X Ads and your store's order table?
Free30 minutesNo obligation
