PURCHASE TRACKING

Purchases counted twice after you switched tracking apps

You moved to a new tracking app, and since then Meta or Google Analytics 4 shows more purchases than your Shopify orders. Usually part of the old setup still sends, so each order reaches the platform from the old sender and the new one.

Why it happens

The old app's web pixel is still connected. Shopify lists the pixels a store runs under Settings > Customer events: app pixels from apps that use Shopify's Web Pixels API, and custom pixels that someone added by hand. A pixel that is still listed there keeps firing on every purchase. Shopify's own advice for a pixel change is to remove the old pixel before you connect the new one, if you want to avoid counting events twice.

A custom pixel from the old setup stayed behind. Some setups ask you to paste code into a custom pixel. That pixel belongs to your store, so removing the app does not tell you whether it is gone. Shopify also converted older Meta pixel and Google tags from the Preferences page into custom pixels, so a pixel you never added yourself can sit in that list.

The old app still sends from its server. Many tracking apps send purchases from a server through the Meta Conversions API, or to GA4 with their own measurement setup. If the old app is still installed, or you only turned off its browser part, its server connection can keep sending to the same pixel or property. Meta counts a browser and a server event once only when both carry the same event name and event ID. Two apps rarely use the same ID for an order, so Meta counts both.

Theme code from an earlier setup. Shopify's help says that a Meta pixel added by editing theme code has to be removed by hand, in theme.liquid between the head tags. A Google tag pasted into the theme is the same. Uninstalling an app does not clean code you or a developer pasted into the theme.

The Facebook & Instagram channel sends too. Shopify's Facebook & Instagram app has its own data sharing level. At Enhanced and Maximum, Shopify says the store uses Meta's Conversions API together with the Meta pixel, so the channel sends purchases from Shopify's servers as well as the browser. If your new app also sends purchases to the same pixel, check the channel's level before you judge the new app.

GA4 removes repeats only with the same transaction ID. Google says GA4 deduplicates purchase events with the same transaction ID, for web streams. If the old sender and the new one give the same order different transaction IDs, GA4 keeps both.

For the general causes of double counting in Meta, see Meta counts purchases twice. For two pixel IDs on one store, see Two Meta pixels on one Shopify store.

Check it yourself

  1. 1In Shopify admin > Orders, filter by sales channel and keep the online store. Count paid orders for the last 7 full days, without point of sale sales, draft orders marked as paid and subscription renewals. Note the day you switched apps.
  2. 2In Shopify admin > Settings > Customer events, read the list of app pixels and custom pixels. Keep only the pixels of the setup you use now. To stop a custom pixel, click Disconnect on its row. To remove it, use the ... button on its row and click Delete. Deleting cannot be undone, so copy the code first if you may need it.
  3. 3In Shopify admin > Apps, check whether the old tracking app is still installed. If you keep it for another feature, open its settings and turn off its purchase sending to Meta and GA4.
  4. 4In Shopify admin > Online Store > Themes, open the code of your live theme and search theme.liquid for a Meta pixel ID or a Google tag ID that the old setup added.
  5. 5In Shopify admin > Sales channels > Facebook & Instagram, open the Settings tab and read the level under Share data. The app shows Conservative, Enhanced or Maximum; Shopify's help calls the lowest level Standard and notes that the levels can differ with the date you installed the app. Do not change it until you know which sender you want to keep.
  6. 6In Meta Events Manager > Data sources > your pixel > Overview, compare the Purchase count before and after the switch day. Open the Purchase event and read the Browser and Server counts. A server count close to your orders while your new app also sends from a server points to two server senders.
  7. 7In Events Manager > Data sources > your pixel > Test events, place a test order and count how many Purchase events arrive for it, and from which source.
  8. 8In GA4, compare the purchase count with your Shopify orders for whole days before and after the switch. Open DebugView during a test order to see whether two purchase events arrive with different transaction IDs.

The rule that prevents this is one sender per purchase on Shopify. Agencies moving a client store between apps can follow the checks for each client store.

Run the free diagnosis

FAQ

Should I uninstall the old app before I install the new one?

Shopify's advice for pixels is about order: connect the new one after removing the old one to avoid double counting, or before it to avoid missing events. A short gap, or a few days with both, are the two choices. Pick one and know which days are affected.

I uninstalled the old app. Why do duplicates continue?

Look at the custom pixels under Customer events, at theme code, and at the Facebook & Instagram channel. These can stay in place after the app is gone.

Can both apps send to the same pixel without doubling?

Only when both send each purchase with the same event ID, so Meta can pair them. Two apps rarely do that. One purchase sender per pixel is simpler to check.

Do I need to turn off the Facebook & Instagram channel?

That depends on what else it does for your store. Its data sharing also sends page views, add to cart and checkout events. Decide what you still need before you change its level.

Related

Problem

Purchases dropped after a theme or app change on Shopify

Meta or GA4 purchases fell the week you changed your Shopify theme, a checkout app or the cookie banner, while orders did not. Where the pixel stopped and how to check it in ten minutes.

Problem

WooCommerce Meta pixel not tracking purchases

Your WooCommerce store has paid orders, but Meta shows few or no Purchase events. Payment redirects, caching and consent are the usual causes. Here is how to check.

Problem

Facebook & Instagram app connected, but Meta gets few purchases

The Facebook & Instagram app is installed and connected on Shopify, but Events Manager shows few or no Purchase events. Five places where the purchase stops, and how to check each one.

Guide

GA4 duplicate purchases on Shopify: why one order counts twice

Why Google Analytics 4 records some Shopify orders twice, how GA4's transaction ID deduplication works and where it stops, and how to find the second sender in your store.

All tracking problems · All guides