Back to blog
TroubleshootingPublished

TikTok Pixel Not Tracking Shopify Purchases? Here's the Fix

By Hassan Tahrioui

If your TikTok pixel tracks PageView and AddToCart but shows zero Complete Payment events, the cause is almost always the install method: a pixel pasted into your theme code cannot see Shopify's checkout or thank-you pages. Install the pixel through the official TikTok app on Shopify (or a Customer Events pixel), and purchases start reporting within a few hours.

That is the five-minute version. The rest of this guide walks through each failure mode in order of how often we see it, with the exact screens to check.

Why does the TikTok pixel miss purchases but track everything else?

Shopify's checkout runs on its own pages that your theme code never touches. A pixel added by editing theme.liquid fires on product and collection pages, then goes silent the moment the buyer enters checkout. TikTok sees traffic and add-to-carts from that store but no purchases, so campaigns optimize toward clicks instead of buyers.

There are only two supported ways to get purchase events out of Shopify:

  • The TikTok app from the Shopify App Store. It injects the pixel everywhere, including checkout and the thank-you page, and sends server-side events through the TikTok Events API as well.
  • A Customer Events pixel. In Shopify admin go to Settings > Customer events > Add custom pixel and subscribe to the checkout_completed event. This is the manual route if you want full control.

To confirm which situation you are in: open TikTok Ads Manager > Tools > Events > Web Events, select your pixel, and look at the event breakdown. Product-page events present plus zero or near-zero Complete Payment is the theme-paste signature.

The fix: install the TikTok channel app, connect it to the same pixel ID, then remove the pasted snippet from your theme so you do not double-fire the upper-funnel events.

How do you test the TikTok pixel without spending money?

Use Test Events with a test order, not a real purchase. In TikTok Ads Manager > Tools > Events > Web Events, open your pixel and select the Test Events tab. Enter your store URL, then place an order using a proper Shopify test order with the Bogus Gateway or Stripe test mode. The Complete Payment event should appear in the Test Events stream within a minute or two, with value and currency attached.

While you are in there, check two fields on the purchase event:

  • value should equal the order total. If it shows 0, your custom pixel code is not passing checkout.totalPrice.amount.
  • currency should match your store currency. A missing currency makes TikTok drop the value from ROAS math.

Why does TikTok report fewer purchases than Shopify?

Some gap is normal and permanent. Expect TikTok to report somewhere between 60 and 85 percent of the orders Shopify records, because browser-side tracking loses events to Safari's ITP cookie limits, iOS App Tracking Transparency opt-outs, and ad blockers. A gap is a problem when it is close to 100 percent (see the install issue above) or when it suddenly widens from one week to the next.

The two fixes that recover most of the lost events:

  • Turn on the Events API connection. The TikTok Shopify app does this by default: server-side events are sent from Shopify's backend and deduplicated against the browser pixel by event ID. If you built a custom setup, you need to send Complete Payment server-side yourself and pass the same event_id in both places, or TikTok counts doubles.
  • Turn on Advanced Matching. In the app settings, enable automatic advanced matching so hashed email and phone go with each event. TikTok matches more conversions back to ad clicks when it has these identifiers.

What if events suddenly stopped after a theme or app change?

Pixels do not decay gradually. They break on a specific day, and that day almost always matches a deploy: a theme update, a new consent banner, or an app that rewrote your checkout settings. Silent breakage after theme updates is one of the most common failure patterns we see, and pixels are usually the first casualty because nobody is looking at Events Manager daily.

Work backwards from the date. In TikTok Ads Manager > Tools > Events, the event graph shows exactly when Complete Payment flatlined. Then check what shipped that day:

  • New cookie or consent app: most consent tools block the TikTok pixel until the visitor accepts marketing cookies. Test in a private window, reject the banner, and watch whether the pixel loads at all. In the EU this is correct behavior, but confirm the pixel fires after acceptance.
  • Theme swap: if the pixel lived in the old theme's code, publishing a new theme removed it. This is another reason the app install beats a pasted snippet: it survives theme changes.
  • Duplicate pixels: if both an old snippet and the app are installed, TikTok may receive two different pixel IDs with partial data on each. Keep one pixel ID, remove the rest.

A free store audit will list every tracking pixel currently loading on your storefront and flag ones that are broken or duplicated, which is the fastest way to see the actual state instead of what you think is installed.

FAQ

How long does it take for TikTok pixel events to show up? Test Events appear within a minute or two. The main Events dashboard aggregates with a delay of up to a few hours, and attribution reporting in campaign stats can lag up to a day. If Test Events works but the dashboard stays empty for 24 hours, treat it as broken.

Does the TikTok pixel work with Shopify's new checkout (Checkout Extensibility)? Yes, but only through the TikTok app or a Customer Events pixel. Scripts pasted into theme files or legacy checkout.liquid customizations do not run on extensibility checkouts, which is exactly why purchases go missing after stores migrate.

Can I run the TikTok pixel and Events API together? Yes, and you should. Browser plus server with deduplication by event ID is the setup TikTok recommends. The Shopify app configures this automatically; custom builds must send matching event IDs on both channels.

Why is TikTok showing purchases with no value? The event is firing without the value and currency parameters. In a custom pixel, pass the order total and currency in the Complete Payment payload. In the app-based install, re-authenticate the app: a stale connection sometimes drops parameters.

Pixels break silently, and you find out weeks later when ROAS craters. Tracefox replays your real checkout on a schedule and monitors which tracking pixels actually fire on each step, so a TikTok pixel that dies after a theme update becomes an alert the same hour, not a surprise in next month's ad report.

Catch broken checkouts before your customers do

Tracefox replays your checkout on a schedule on the desktop, mobile or tablet viewport you pick for each test, and alerts you when a scheduled run fails. Bonus on every plan: tracking pixel, script, and consent banner monitoring.

Start free