Veracend

Why is the Meta pixel firing twice on my WooCommerce store?

Short answer

On WooCommerce the Meta pixel usually fires twice because two sources load it: two tracking plugins, or one plugin plus pixel code pasted into the theme or a header snippet. Each source sends its own PageView and Purchase, so Meta can count one order twice.

By , founder of Veracend · Updated

Why it happens

  • Two tracking plugins. Meta for WooCommerce, PixelYourSite, Pixel Manager for WooCommerce and similar plugins can each send the Meta pixel. Installing a second one to try it out, without switching the first off, doubles events.
  • Pixel code in the theme. Code starting with fbq('init' pasted into header.php, footer.php or functions.php keeps running after a plugin is added, and survives until the theme file is edited.
  • Header and footer snippet plugins. WPCode and Insert Headers and Footers store pasted code in the database, so it doesn’t show up when you look through theme files.
  • Google Tag Manager with a Meta tag. A Meta tag inside a Tag Manager container fires alongside any plugin that sends the pixel directly.
  • The order-received page loading again. If a buyer refreshes or revisits the thank-you page, some setups send Purchase again for the same order.

How to fix it

  1. See what firesInstall the Meta Pixel Helper browser extension and open your homepage. If it shows the same pixel ID loaded twice, or two different pixel IDs, there is more than one source.
  2. List your tracking pluginsIn Plugins › Installed Plugins, note every active plugin that sends Meta events. Decide which one stays.
  3. Search the theme and snippetsIn Appearance › Theme File Editor (or over SFTP), search header.php, footer.php and functions.php for fbq(. Check WPCode or Insert Headers and Footers for the same code.
  4. Check Tag ManagerIf you use Google Tag Manager, open Tags and look for a Meta or Facebook pixel tag.
  5. Keep one sourceSwitch off the Meta pixel in every other plugin’s settings, delete pasted code and pause the Tag Manager tag. Clear any page cache afterwards.

Check it worked

In Events Manager › Test events, load the homepage and place a test order. PageView and Purchase should each appear once, or once per channel with Browser and Server marked as deduplicated.

Common questions

Is it a problem if browser and server events both arrive?

No, if they share the same event ID: Meta deduplicates them. It’s a problem when two separate browser pixels fire, because those don’t share an ID.

Which plugin should I keep?

Any well-maintained one works. Keep the one that sends both browser and server events with deduplication, and switch the Meta pixel off everywhere else.

Will removing the duplicate lower my reported results?

Usually yes, because the doubled purchases disappear. That drop is the real number, and campaigns then learn from real orders.

See what your own store is losing.

Paste your store address for a free check in under a minute. No login and no app to install.

On WooCommerce? Get the free Tracking Setup Inspector plugin: it lists every plugin, theme file and snippet sending Meta, Google or TikTok events, inside your WordPress admin.