CONNECTIONS / Shopify / Shopify to TikTok Offline eAPI
Shopify POS sales, reconciled into TikTok's bidding.
TikTok drives people into stores as often as it drives clicks, and a register sale leaves nothing for a pixel to see. Signals hashes each Shopify POS transaction, stamps it with a stable event identifier, and reconciles it against TikTok's Offline Events API.
- ● shopify → tiktok.offline_eapi :: live
- > event POS order placed value=91.00 AED
- hash sha256(email,phone)
- route tiktok.offline_eapi dedupe=event_id
- ✓ delivered · match 52%
WHAT THIS ENABLES
Shopify to TikTok Offline Events API
Shopify to TikTok Offline Events API posts POS transactions from Shopify's point of sale to TikTok under a stable event identifier, so a pop-up or retail sale driven by TikTok discovery still reaches the platform's bidding models.
- Register sales driven by TikTok discovery becoming fuel for TikTok's bidding models.
- One transaction, one event identifier, no matter how many sync runs touch the same POS record.
- Offline delivery on a cadence that fits how often each retail location settles the till.
The click, the conversion, and the credit.
The conversion happens off TikTok, away from any pixel. Here is how Shopify closes the loop.
Built for the teams that own the number.
Teams whose TikTok Shop and organic discovery traffic ends up buying in person.
From kickoff to verified events.
-
Connect
App-scoped access to Shopify POS transaction webhooks across every connected location.
-
Reconcile
Each POS transaction gets an event identifier computed from its own record, following TikTok's offline event spec.
-
Deliver
Delivery to TikTok's Offline Events API on a monitored schedule, deduped against online orders.
What changes when the CSV goes away.
| Capability | Manual CSV upload | Datahash |
|---|---|---|
| Reporting | Offline sales sit in a separate export, reconciled by hand. | Revenue counted in the same Offline eAPI reporting as web conversions. |
| Deduplication | A re-uploaded file risks counting the same conversion twice. | Deduped delivery, so a resent record never counts as a second conversion. |
| Match visibility | Match quality is a guess until the numbers look off. | Match rate reported per upload, tied to the source event set that produced it. |
| Effort and latency | An analyst exports and uploads on a manual cadence. | Server-side and automatic the moment Shopify records the event. |
What Offline eAPI actually receives.
- ● signals :: event payload
- > POST /event/track source=shopify.pos_order
- event "CompletePayment" · event_time 1784522880
- user.email sha256 "e15c4a…" · user.phone sha256 "90bf2d…"
- properties.value 91.00 · properties.currency AED
- ✓ accepted · dedupe=event_id
Adjacent moves on the same stack.
from Shopify
Shopify to Google OCI
Shopify to Google Offline Conversion Import carries the GCLID captured on a storefront…
Learn morefrom Shopify
Shopify to Google Store Sales
Shopify to Google Store Sales hashes customer and order data from both the online…
Learn moresame use case
ActiveCampaign to TikTok Offline eAPI
ActiveCampaign to TikTok Offline Events API: Signals reads your ActiveCampaign contacts and…
Learn moregeneric
TikTok Offline eAPI
Move your in-store and call-centre conversions to TikTok server-side, so TikTok can…
Learn moreAsked on almost every call.
If a POS batch gets re-synced by accident, does TikTok count the sale twice?
It shouldn't, because the event Signals sends is keyed to the transaction record itself rather than to whichever sync run happened to pick it up. TikTok checks that identifier against what it has already accepted and drops the repeat, so an overlapping scheduled run does not inflate reported revenue.
What if a location doesn't collect email or phone at the register?
Match rates drop for those transactions, but delivery still runs, since TikTok matches on whatever identifiers are present rather than requiring a full set. Locations that add a loyalty prompt or a receipt-by-email option at the register typically see the biggest match-rate improvement, because that single field is often the only one missing from an otherwise complete POS record.
NEXT STEP