My TikTok pixel shows no purchases
By the HonestTag team ยท Published October 27, 2026
TikTok says zero purchases. Your store says otherwise.
A TikTok purchase count of zero means TikTok counted no standard Purchase event. It does not mean no one bought. The store's orders are counted by the store. TikTok counts only the purchase events something sends it, under the event name it expects, for that pixel. When nothing on the checkout sends that event, when it is sent under a name TikTok does not treat as its standard purchase, or when the browser is not allowed to send it, the store has orders and TikTok shows none. Both are true at once. The store's own order count is the number that does not move.
Stop guessing which ads bring new customers, and give Meta and Google a new-customer signal you can bid on. HonestTag sends verified purchases to Meta, Google and 7 more, each buyer marked new or returning. Start free beside your current tracking.
What TikTok counts as a purchase
TikTok has a fixed list of standard events. On its current list for websites, the purchase is the standard event named Purchase, described as "When a payment is completed." TikTok says event names "are case-sensitive, so it is important to use the exact name shown in the Event column" (Supported events).
Anything else is a custom event. TikTok says standard events "can be used for reporting, conversion optimization, and audience building," while custom events "are available for reporting and audience creation purposes. Optimization is NOT supported at this time."
A purchase event can reach TikTok two ways: the TikTok pixel sends it from the shopper's browser, and the Events API sends it from a server. TikTok recommends both, and says "Deduplication is needed for advertisers who are using both TikTok Pixel SDK and Events API to send the same event" (Event Deduplication). What is a conversions API? compares TikTok's Events API with the other platforms' versions.
Received is not the same as credited to an ad
A purchase event TikTok receives and a purchase TikTok credits to an ad answer different questions. The first is whether the event arrived. The second is whether TikTok matched it to a TikTok user and credited it to an ad. TikTok says the Events API uses "TikTok Click IDs, Advanced Matching, and additional signals like IP address and User Agent, to match web visitor events with TikTok users," and that once matched, the information can "better measure campaign results" (Events API). The TikTok click ID is "a data connection parameter appended to a landing page URL whenever a user clicks on an ad on TikTok."
A successful Events API response is narrower than it looks. TikTok's example success is a code of 0, the message "OK," a request id and an empty data object, and TikTok says "If the code is not 0, it indicates an error." The response names no result for each event in the request. TikTok's return codes list two codes for successful calls: 0, "Successful," and 20001, "Partially successful" (Return codes). A success tells you the request was accepted. It does not tell you that each event in it was processed or credited to an ad.
A month in counts
The numbers below are made up to show the arithmetic. They are not from a real store and not an estimate of what any store will see.
- Orders the store has: 300. All 300 are in Shopify's order list.
- Buyers who arrived with a TikTok click ID: 60 of the 300.
- Purchase events the browser pixel sent: 0. The TikTok pixel is on the storefront pages, but nothing sends a purchase from the checkout's Thank you page.
- Purchase events that reached TikTok from a server: 290. The other 10 orders had no click ID, no email and no phone number to match on, so nothing was sent for them.
- Purchases TikTok credits to its ads: say 45. That number is TikTok's to decide; 45 is only here to finish the example. Of the 290 events, 60 carry a click ID and 230 carry only an email or phone to match on.
A report built only from the browser pixel shows 0 purchases. TikTok's server-side count shows 290. TikTok credits 45 to ads. The store had 300 orders. None of these numbers is wrong. They count different things. The store's 300 orders do not depend on how events were sent or what TikTok matched.
Send TikTok purchases from the order. HonestTag sends TikTok purchases built from the Shopify order, with its standard Purchase event when you turn it on.
Why a TikTok pixel shows no purchases
- The pixel is on the storefront, but nothing sends the purchase from checkout. Shopify says "
checkout.liquidand additional scripts were sunset for the Thank you and Order status pages on August 28, 2025" (Shopify checkout apps), so a purchase snippet pasted there in the past no longer runs. Server-side tracking covers what else breaks browser tracking. On Shopify today, a web pixel can see checkout: Shopify says web pixel app extensions can "access all surfaces, like storefront, checkout and post-purchase pages" (About web pixels), and itscheckout_completedevent "logs when a visitor completes a purchase," "typically on the Thank you page" (checkout_completed). Shopify adds that for upsells and post purchases it is triggered on the first upsell offer page instead, and that if the page where it should trigger "fails to load, then thecheckout_completedevent isn't triggered at all." A pixel that never sends a purchase on that event leaves the purchase count at zero. A pixel that is not installed at all shows nothing: one merchant wrote "No events show up on my pixel dashboard" (Shopify Community, September 2024). - The purchase arrives under a name TikTok does not treat as standard. Another merchant wrote "i can't select complete payement on tiktok ads manager" (Shopify Community, January 2025). TikTok says custom events cannot be used for optimization and that standard event names are case-sensitive. A purchase sent as a custom event, or under a name that is not on TikTok's current list, is not the standard purchase. Check which event name your pixel receives for a purchase against TikTok's current list.
- The event carries nothing to match on. TikTok matches events to its users with click IDs, Advanced Matching, IP address and user agent. A purchase from a shopper who did not arrive from a TikTok ad has no click ID, so TikTok needs another way to match it, or it can arrive and still not be credited to an ad.
- The browser was not allowed to send it. Shopify says that "In regions where customers must consent to tracking, app extension callbacks are executed only after consent is given." A shopper in such a region who never consents sends no purchase from the browser. That is the consent choice working, not a fault.
- The request was accepted, but individual events were not processed. TikTok's success response names no result for each event, and TikTok lists 20001, "Partially successful," among its success codes. A setup that reads a success as "every purchase counted" can miss events that did not count.
The trade-offs
- Sending from a server moves the purchase off the shopper's browser, not around matching. A server-side purchase does not need the browser to run on the Thank you page. It does not change how TikTok matches the event: TikTok says it is "highly recommended to include multiple types of matching data," and that "You can use Advanced Matching, TikTok Click IDs (ttclid), and Cookies to attribute conversions."
- Two sources for the standard purchase can count one order twice. TikTok "deduplicates events based on their event_source_id, event (for instance, Purchase, or AddToCart) and event_id," keeps the first, and discards later copies "received within 48 hours of the first event" (Event Deduplication). The
event_source_idis the pixel, so two tools that both send the standard purchase for the same order dedupe only when they share the pixel, the event name and the event_id. Duplicate purchase events shows how to find every purchase source. - TikTok's count and your order count are different numbers. The count of purchase events TikTok received and the count it credits to ads are different, and both differ from your order count. Your order count is every order the store took. When they disagree, compare TikTok's numbers with the orders in Shopify for the same days before deciding sales fell.
What HonestTag does
- Purchases go to TikTok from our server, on paid plans. HonestTag sends purchases through TikTok's Events API after the merchant connects TikTok and configures a pixel, built from the Shopify order rather than from the shopper's browser on the Thank you page. The free Mirror plan sends TikTok no purchases.
- What a purchase event carries. The TikTok click ID when we have one, the hashed email and phone when the order has them, the IP address and user agent when Shopify recorded them, the order value, currency and order ID, whether the buyer is new or returning when that is known, a page URL, and up to ten product lines. An order with no click ID, no email and no phone is not sent to TikTok.
- The standard purchase event is off by default. HonestTag sends TikTok's standard
Purchaseevent only when the merchant turns it on, on the TikTok card, and confirms that TikTok's own app or pixel no longer sends purchases. The reason is the event id: HonestTag's is one no other tool can produce, so if another source also sends the standard purchase to the same pixel, TikTok has no shared event_id to dedupe on and the order counts twice. Turn the other source off before you turn this on. - Orders HonestTag sends also go as custom events. HonestTag sends a custom purchase event for each of those orders, plus new-customer, returning-customer and first-click new-customer custom events where they apply. They are for reporting and audiences. We do not claim those custom events drive Smart Performance bidding.
- Each event carries an order-scoped event id. It is derived from the order, so a retry of the same order carries the same id.
- A success means the request was accepted. A successful TikTok response proves the batch was accepted, not that each event was processed. When TikTok answers "Partially successful," HonestTag records the order as partly accepted with the note that TikTok reported no result for each event.
- No refund event. HonestTag sends TikTok no refund or retraction event. A refund is recorded in the order's proof instead.
- Browse events are opt-in. Add to cart, checkout started and payment info added go to TikTok only when the merchant turns that option on, and only for a visitor with a TikTok click ID.
The server-side delivery docs list what HonestTag sends each platform. For what happens when two tools send the same order, read duplicate purchase events.
Frequently asked questions
Did our TikTok ads sell nothing?
Not necessarily. A purchase count of zero says TikTok counted no standard Purchase event, not that no one bought. Check your order count in Shopify for the same days, then check where your purchase event is supposed to come from.
Why can't I select the purchase event as my optimization goal?
TikTok says standard events can be used for conversion optimization and custom events cannot: "Optimization is NOT supported at this time." A purchase sent under a custom name is not the standard event. Check that something is sending TikTok's standard purchase event to that pixel.
Does a successful Events API response mean TikTok counted every purchase?
No. TikTok's success response carries a code, a message, a request id and an empty data object. It names no result for each event, and TikTok also lists a code for a partially successful request. A success means the request was accepted.
Will HonestTag double count our TikTok purchases?
Not by default. HonestTag's standard TikTok Purchase event is off until you turn it on, on the TikTok card, because its event id cannot match one sent by another tool. Turn your other TikTok purchase source off before you turn it on.
Send TikTok purchases from the order
HonestTag sends TikTok purchases built from the Shopify order, with its standard Purchase event when you turn it on.
- Feed your ads a clean signal. The platforms you send to get each verified purchase, new customers marked as new.
- Catch the sales your pixels miss. Purchases are sent from your Shopify orders, server to server.
- Know what to scale. A weekly scale, hold or cut call when the data supports one, and proof behind every attributed order.
- Start free. Keep your current tracking while you look.