How to reconcile X Ads against your point-of-sale system
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 point-of-sale system 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 × POS System
X vs in-store sales: a code is the only workable key
X is a poor fit for point-of-sale reconciliation. twclid never reaches a till, and offline matching through the X Conversions API depends on hashed email or phone that few walk-in customers provide. Compare a closed month only against redemptions of an X-only offer code, and treat any other in-store figure from X as unverified.
There is no click identifier at the counter and little chance of a hashed email match, so the honest join key is an offer code that appears only in X ads and is entered at the POS. Check X's current documentation for whether offline conversions are accepted at all before building an upload; the API has changed often enough that last year's guide may not apply.
X attribution windows are configurable per conversion and include a view path. A promoted post seen during a live event can be credited for a purchase days later, and X dates the conversion to that engagement. Read conversion results with click and view attribution separated, then set them beside code redemptions for the same dates. Do not compare either against total in-person revenue.
Expect very few code redemptions, and expect X's own figure, if any, to be higher than them. A large gap with no codes behind it means view-through credit, not footfall. For event-driven businesses such as bars around game nights, the most common disagreement is timing: the spike lands at the till the same evening, while X spreads conversions across the attribution window.
X Ads × POS System · what breaks
Why X Ads and your point-of-sale system disagree
- 01
Counter sales flowing into online conversions
Where the POS and the online store share an order table, the default integration sends everything. Reported return then climbs with footfall.
- 02
Store visits treated as attributable
Platform-reported store visits are modelled estimates, not counted events. Read them as directional and never sum them with online conversions.
- 03
Tips and taxes inside the conversion value
On food and service businesses tips are substantial and are not your revenue.
- 04
Offer codes never used
Without a code or a distinct landing path, there is no mechanism at all to connect in-store revenue to advertising.
X Ads × POS System · the fix
What you get from this — X Ads × POS System
A number instead of a suspicion
The likely cause, narrowed
A basis for deciding
X Ads × POS System · architecture
What each side is actually counting — X Ads × POS System
- 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 point-of-sale system counts
Transactions taken in person, which advertising cannot attribute to a click, found in Square, Lightspeed, Toast, Clover or whatever runs the till.
- 5
The filter that makes them comparable
In-person channel only, separated from any online orders in the same system.
X Ads × POS System · events
Reading the gap — X Ads × POS System
| What you see | What it usually means |
|---|---|
| 15%+ platform higher | Usually the wrong event entirely — the channel filter is missing, so counter sales are being counted as advertising conversions. |
| 20%+ platform lower | Usually structural — almost always correct rather than a fault. in-store revenue mostly cannot be attributed, and a small reported figure is the honest one. |
X Ads × POS System · diagnose
Diagnostic order — X Ads × POS System
- 01
Confirm both numbers cover the same period and channel
- 02
Counter sales flowing into online conversions
Where the POS and the online store share an order table, the default integration sends everything. Reported return then climbs with footfall.
- 03
Store visits treated as attributable
Platform-reported store visits are modelled estimates, not counted events. Read them as directional and never sum them with online conversions.
- 04
Tips and taxes inside the conversion value
On food and service businesses tips are substantial and are not your revenue.
- 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 × POS System · prove
How to know you did it right — X Ads × POS System
Source of truth
your point-of-sale system — in-store transactions for a fully closed month
X Ads × POS System · free audit
What we check in the free audit
- Confirm both numbers cover the same period and channel
- Counter sales flowing into online conversions
- Store visits treated as attributable
- Tips and taxes inside the conversion value
- Read the conversion reporting inside X Ads Manager, reconciled against your own records
Checked against
your point-of-sale system — in-store transactions for a fully closed month
Free30 minutesNo obligation
X Ads × POS System · when not to buy
When the answer is that you do not need us — X Ads × POS System
- If almost all of your in-store transactions 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 × POS System · what we deliver
The method, step by step — X Ads × POS System
Pull what X Ads reports
The conversion reporting inside x ads manager, reconciled against your own records.
Pull what your point-of-sale system shows
Export transactions by business date for a closed month, split by sales channel, and note the in-person share of total revenue.
Filter both to the same thing
In-person channel only, separated from any online orders in the same system.
Compare per record, not on totals
FAQ
X Ads × POS System questions, answered
Not from anything you can verify against your POS. Use an X-only code or a geo holdout if you need evidence that ads changed in-store sales.
X dates conversions to the ad engagement and spreads them across its window, while your till records the sale on the night it happened.
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. In-person channel only, separated from any online orders in the same system. 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 × POS System
- Google Ads × POS SystemHow to reconcile Google Ads against your point-of-sale system
- Meta × POS SystemHow to reconcile Meta Ads against your point-of-sale system
- TikTok × POS SystemHow to reconcile TikTok Ads against your point-of-sale system
RELATED GUIDES
Systems of record beside pos in store, and the funnels it settles
- X Ads × Enrolment SystemHow to reconcile X Ads against your application or enrolment system
- X Ads × Job SystemHow to reconcile X Ads against your job management system
- X Ads · Reactivation → repeat purchaseHow to track lapsed customer reactivation to repeat purchase for X Ads
- X Ads · Online → in-storeHow to track online research to in-store purchase for X Ads
- X Ads · PhotographyX Ads conversion tracking for photography businesses
- X Ads · Property managementX Ads conversion tracking for property management companies
- Deliverect → X AdsConnecting Deliverect to X Ads
- ChowNow → X AdsConnecting ChowNow to X Ads
Free · 30 min
Found a gap between X Ads and your point-of-sale system?
Free30 minutesNo obligation
