- US device IDs in the graph
- 750M+
- Match rate on events
- 90%+
- Identity window, per customer
- Lifetime
- Most brands are live
- <20 min
How it flows
How a Shopify event reaches the TikTok Events API. Captured on the server, resolved to a person, then sent.
01 Capture
Captured from Shopify
One Upstack app setup that captures Shopify storefront and checkout events with the Upstack Pixel, records every order directly from Shopify, and forwards both to every tool you spend on.
See the Shopify integration →
ShopifyWhat it sends order_idShopify order and checkout tokenemail / phonecustomer contact from checkoutcustomer_idShopify customer record, if they have oneline_itemsproducts, variants and quantitiestotal / subtotal / discountorder economics
02 Understand
Resolved to one person before it leaves
Every Shopify event is matched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer rather than two strangers.
How resolution works →
Resolved before it is sent - IdentityMatched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer.
customer_typeNew or returning, resolved before send.- DeduplicationBrowser and server copies of the same purchase collapse on event ID, so nothing is counted twice.
- Bot and fraud filteringAutomated traffic never reaches the model, because what you keep out of the training set matters as much as what goes in.
03 Activate
Delivered to the TikTok Events API
Forward resolved conversions to the TikTok Events API so the algorithm optimizes on customers, not sessions.
See the TikTok Events API integration →
TikTok Events APIWhat it receives email / phone (hashed)Events API matchingttclid / ttpattribute the clickevent_idbrowser and server dedupevalue / currencyoptimize on revenue
Which events reach the TikTok Events API
Each Upstack event is mapped to the TikTok Events API event below before it is sent.
| Upstack event | Sent to TikTok Events API as | Key data on the event |
| Page view | Pageview | url, referrer |
| Product view | ViewContent | content_id, content_type, value, currency |
| Add to cart | AddToCart | content_id, content_type, value, currency |
| Checkout | InitiateCheckout | value, currency, quantity |
| Purchase | Purchase | content_id, value, currency, order_id |
Every event carries email, phone and external_id when available, hashed with SHA-256 as the Events API requires, plus the ttclid click ID captured by the Upstack Pixel for deterministic matching.
Shopify to TikTok Events API, in detail
How Shopify events reach the TikTok Events API.
TikTok ads often open your store inside TikTok’s in-app browser, which keeps its own cookies, so a ttclid stored there is gone when the shopper later buys in Safari. Upstack captures the ttclid on landing, loads the TikTok Pixel, and sends every storefront event to the Events API as well, with hashed email, phone and external_id and the same event_id on both copies.
| Shopify data | Sent to TikTok as |
| TikTok ad click Captured by the Upstack Pixel from the landing URL, for deterministic matching. | ttclid |
| Checkout email and phone Hashed with SHA-256, as the Events API requires. | email, phone |
| Upstack customer ID Hashed with SHA-256. | external_id |
| Products on the event On ViewContent and AddToCart; content_id on Purchase. | content_id, content_type |
| Order total and currency On product, cart, checkout and purchase events. | value, currency |
| Order ID On Purchase. | order_id |
| Items at checkout On InitiateCheckout. | quantity |
Deduplication
Both copies of each event carry the same event_id and TikTok keeps one, as long as the Pixel ID in Upstack matches the TikTok Pixel on your store. If you see duplicates, the Pixel IDs almost always differ.
Shopify’s TikTok data sharing
Shopify’s TikTok sales channel emits no matching event_id, so TikTok can’t deduplicate its events against Upstack’s. Disconnect its pixel before you switch Upstack on.
TikTok Shop orders
TikTok Shop orders flow into Shopify, so Upstack sends them to your active destinations, Meta included. To leave them out, block TikTok Shop under Settings, Order Source Exclusions.
Post-purchase upsells
An accepted upsell on an order tagged AfterSell Upsell goes to TikTok as a separate UpsellPurchase event worth only the add-on, so the order isn’t counted twice.
The catch
Shopify brands almost always have a pixel already firing.
Sending server events alongside it without a shared event ID is how a single purchase becomes two conversions and your reported ROAS quietly doubles. Upstack records one Purchase per Shopify order ID, so the pixel's copy and Shopify's own copy of an order count once.
Turn off other TikTok pixels → Where to check in the TikTok Events APIDelivery you can audit
TikTok Events Manager › Test Events
then the event's match rate once live traffic is flowing.
What changes
What changes when Shopify feeds the TikTok Events API. Two gains on the TikTok Events API side, two on the Shopify side.
TikTok Events API
Server-side delivery
By default Upstack sends events to TikTok from its servers as well as through the TikTok tag, so an event an ad blocker or browser privacy setting stops in the browser still arrives from the server.
TikTok Events API
Identity-resolved events
Events sent to TikTok carry the resolved customer whenever Upstack can identify one, matched against a 750M+ device graph.
Shopify
Orders recorded from Shopify itself
Purchases also reach Upstack directly from Shopify, about 10 minutes after the order, so an order still counts when an ad blocker stopped the pixel or the shopper closed the page.
Shopify
Recognize returning customers
Shopify customer IDs, emails and phones are matched against the graph, so repeat buyers are identified across devices.
Setup
Live in under 20 minutes.
App install, no theme edits and no developer. You need admin access to your TikTok Business Center and owner or staff access to Shopify.
Upstack dashboardExample
Shopify Data source Connected
TikTok Events API Destination Healthy
Read the full TikTok Events API setup guide → -
01
Connect Shopify
In the Upstack dashboard, open System, then Data Sources, and click Connect Shopify. Approve the install in your Shopify Admin: Upstack reads products, orders and customers, and writes only its own pixel.
-
02
Turn off other TikTok pixels
In the TikTok sales channel’s Data sharing settings in Shopify, disconnect the TikTok Pixel under Customer Data Sharing. Then remove any other TikTok pixel apps and any TikTok pixel snippets in your theme.
-
03
Copy your Pixel ID and create a token
In TikTok Events Manager, copy the Pixel ID (a 20 character alphanumeric string, also called the Dataset ID) and generate an Events API access token. TikTok shows the token only once. There’s no OAuth step.
-
04
Add the TikTok destination
Under Destinations, add TikTok with the Pixel ID and the token, and keep the default Browser + Server tracking method.
-
05
Link ads straight to your store
A redirect or link shortener between the ad and your page can drop the ttclid, so point ads directly at your storefront.
-
06
Check Events Manager
Events arrive via both Browser and Server, and a test order’s Purchase appears within a few minutes. “Update Recommended” warnings are normal and need no action.
After setup
What to check in TikTok Events Manager.
Upstack shows the TikTok destination as Healthy.
The Overview and Test Events tabs show events with a Server source as well as Browser.
A test order’s Purchase event appears within a few minutes.
Clicking one of your own ads lands on a URL that carries ttclid.
Troubleshooting
Common problems and fixes.
-
No events after 10 minutes of store traffic
Check the Pixel ID and access token for extra spaces or truncation and that the destination is Healthy. If the token was revoked or expired, generate a new one and update the destination.
-
Inflated conversion counts
Another TikTok source is still active: the TikTok sales channel’s data sharing, a pixel app such as Omega or Mega TikTok Pixel, or a snippet in your theme’s head. Remove it and watch counts for 24 hours.
-
Low match quality
Ads that don’t link straight to the store lose the ttclid, anonymous visitors carry fewer keys, and a Pixel ID that isn’t tied to your ad account can’t be matched to campaigns.
FAQ
Questions about Shopify and the TikTok Events API.
How do I connect Shopify to the TikTok Events API?
Connect Shopify, disconnect the TikTok Pixel in Shopify’s TikTok sales channel and remove other TikTok pixels, then add the TikTok destination with your Pixel ID and an Events API access token. Upstack sends every event from the browser and its servers with a shared event_id. Most brands are live in under 20 minutes.
Do I need to turn off other TikTok pixels?
Yes. In the TikTok sales channel’s Data sharing settings in Shopify, disconnect the TikTok Pixel under Customer Data Sharing. Then remove any other TikTok pixel apps and any TikTok pixel snippets in your theme.
Will I see duplicate conversions if I run both the TikTok Pixel and the Events API?
No, as long as the Pixel ID in Upstack matches the TikTok Pixel firing in your storefront. Upstack sends a shared event_id on every server-side event and TikTok keeps only one copy. If you see duplicates, the Pixel IDs almost always differ.
What if my event match rate is low?
TikTok’s match rate depends on how much identity data each event carries. Link TikTok ads directly to your storefront so the ttclid lands in the URL, and make sure your Shopify checkout collects email and phone.
Which events does the TikTok Events API receive?
PageView as Pageview, ViewContent as ViewContent, AddToCart as AddToCart, InitiateCheckout as InitiateCheckout and Purchase as Purchase. Orders reach Upstack directly from Shopify, even when the browser pixel is blocked.
Which customer parameters are sent to the TikTok Events API?
Every event carries email, phone and external_id when available, hashed with SHA-256 as the Events API requires, plus the ttclid click ID captured by the Upstack Pixel for deterministic matching.
How do I check that Shopify events are reaching the TikTok Events API?
Upstack marks the destination Healthy, and TikTok Events Manager shows events arriving via both Browser and Server (CAPI), with a test order’s Purchase event appearing within a few minutes. “Update Recommended” warnings in Events Manager are normal and need no action.
Do I need a developer to connect Shopify to the TikTok Events API?
No. Shopify connects as an app install with no theme edits, and most brands are live in under 20 minutes. Headless storefronts add the Upstack Pixel script instead of the theme app extension.
Do I still need the TikTok Pixel?
Keep the default Browser + Server tracking method: Upstack loads the TikTok Pixel itself and sends the same events from its servers, so a blocked browser event still arrives. Switch to Server if you don’t want the tag loading in the browser.
Are TikTok Shop orders sent to TikTok and Meta?
Yes, by default. TikTok Shop orders arrive in Shopify like any other order and go to all your active destinations. You can block them under Settings, Order Source Exclusions.
Keep reading
More on Shopify and the TikTok Events API.