Duplicate or Unexpected Purchase Events in Pixel Plus
If you're seeing more Purchase events on Facebook than actual completed orders in your PrestaShop store, you're likely dealing with duplicate or unexpected events being triggered.
This issue can impact your analytics, result in overreported conversions, and negatively affect Meta Ads optimization. Let's walk through how to detect, isolate, and fix the issue step by step.
π Step 1: Compare Facebook Events with Your PrestaShop Ordersβ
Start by comparing the number of Purchase events reported in Facebook with the actual order count in your PrestaShop back office.
If Facebook shows more Purchase events, it may mean you're having duplicates. It's time to check and track down the possible source of the additional ones.
π Step 2: Confirm the Source of Each Eventβ
The Pixel Plus module automatically includes a unique field in every event it triggers:
"event_trigger": "Pixel Plus"
This applies to both browser events and server-side (CAPI) events.
β If this field is missing, the event was not triggered by the Pixel Plus module.
You can verify this using:
- Meta Pixel Helper (Chrome extension) + CAPI Logging inside the Pixel Plus module
- Facebook Events Manager β Test Events Tool
π§ͺ How to Use Pixel Plus CAPI Loggingβ
Pixel Plus provides a dedicated logging feature to inspect server-side (CAPI) events.
How to enable it:β
- Go to PrestaShop Back Office β Modules β Pixel Plus β CAPI section
- Scroll down to Logging Options
- Enable Event Logging
- Enable save payload generation
- Click Add My IP to restrict logs to your testing session
What to check:β
- Go to Advanced Parameters β Logs
- Locate the
Purchase
event - Ensure the log contains:
"event_trigger": "Pixel Plus"
"events_received"
β indicates Facebook received the event"fbtrace_id"
β Facebookβs internal tracking reference
β οΈ If
event_trigger
is missing on the payload β the event is not from Pixel Plus
β οΈ Ifevents_received
is missing β Facebook didnβt accept/receive the event
π§ͺ Alternative Method: Facebook Test Events Toolβ
As an alternative, Facebook's Test Events Tool offers a graphical interface to monitor both browser and server events.
How to use it:β
- Open Facebook Events Manager
- Select your Pixel and click Test Events
- Copy your Test Code (e.g.,
TEST1234
) - In your Pixel Plus CAPI section, paste it into the Test Code field
- Enable Enable Test Code Events
- Click Add My IP to restrict testing to your IP
β οΈ Important:
Disable this option after testing. Leaving it active (especially without IP restriction) can cause false positives and unwanted warnings in your Pixel diagnostics.
π¨ Step 4: If Events Are Not Coming from Pixel Plusβ
If you find any Purchase
events that do not include "event_trigger": "Pixel Plus"
, youβll need to investigate external sources.
π Check out our dedicated guide:
π How to Detect External Sources Sending Facebook Events
π Step 5: Identify and Eliminate External Sourcesβ
β 1. Check Other Facebook-Related Modulesβ
Other PrestaShop modules may inject Facebook tracking scripts.
- Disable any other Facebook-related modules
- Retest to see if the issue disappears
π‘ If the Facebook Pixel is loaded, any module can potentially trigger events through the JS.
β 2. Review Custom Tracking Codeβ
Custom JavaScript or template changes might include leftover tracking.
Check your theme files, especially:
/themes/your-theme/templates/checkout/order-confirmation.tpl
footer.tpl
- Any custom
.js
file
Search for and remove or comment out lines like:
fbq('track', 'Purchase');
::: tip You can use the browser's search function to easily find any reference to the fbq object. A search like "fbq('track" should easily find any possible code inside the DOM.β
β 3. Inspect Tag Managers (like GTM)β
If you use Google Tag Manager (GTM):
- Open GTM and review your Facebook tags
- Look for any tag that fires a
Purchase
event - Check the details for any tag triggered on the order confirmation page
β οΈ GTM is a frequent cause of duplicate or unexpected purchase events.
β 4. Disable Facebookβs Automatic Event Trackingβ
Facebook has a feature that tries to detect and track events automatically, which can lead to unwanted Purchase
events.
This feature is usually ofered by Facebook after creating the pixel the first time.
It's usual for the users to have some events configured for it, and later forgetting to turn it off after switching to an automated system like the Pixel Plus module.
How to disable:β
- Go to Facebook Events Manager
- Select your Pixel
- Open the Settings tab
- Scroll down to:
- Automatic Events
- Event Setup Tool
- Turn off all toggles related to the tracking of the Purchase event, or even completelly disabling all the Automatic Events configured
π§ This is the most common cause when the user can't find the source of the unexpected or duplicate events.
π Step 6: Retest After Cleanupβ
After reviewing all the possible external sources and deactivating the automatic tracking, it's time to retest by following this steps:
- Clear browser cookies and local storage
- Place a test order
- Verify that only one Purchase event is triggered
- Check that the target events now contains:
"event_trigger": "Pixel Plus"
Again, use whatever combination suits you best:
- Meta Pixel Helper + CAPI Logging in Pixel Plus
- Facebook Test Events Tool
π§© Additional Checksβ
Pixel Plus includes its own anti-duplicate protection system for the Purchase event. Once the event is triggered, reloading the page should not trigger the Purchase
event again.
π§ Reminder:
If youβre using the Force Basic Mode, make sure to also enable cookie-based deduplication to prevent repeated triggers.
β Summaryβ
When you're facing duplicate or too many Purchase events:
β Confirm events include "event_trigger": "Pixel Plus"
β Use the Test Events Tool and CAPI Logging
β If external events exist, disable all Pixel Plus events and re-test
β Eliminate sources like:
- Other Facebook modules
- GTM or manual tracking
- Facebookβs automatic tracking
β Re-enable Pixel Plus after confirming only one clean event is triggered per order