Use Meta Pixel and Conversion API (CAPI) together? It’s a smart move. But many marketers still run into tracking issues that hurt their reporting and ad results.
Here are the five most common mistakes that cause them, and how to fix each one.
Mistake 1: Pixel Fires Multiple Times (Double Counting Events)
If the same event fires twice for one action, your purchase data is inflated. This often happens when you install the pixel twice using Shopify’s integration and then adding it again manually or via another app.
How to fix this:
- Remove duplicate installations. If you use Shopify’s native integration, don’t add pixel code in theme files or “additional scripts.”
- Use Meta Pixel Helper to confirm only one pixel fires per event.
- Disable auto event setup if you already have manual triggers configured.
Reddit users confirm that duplicate pixel installations cause this issue and recommend cleaning up redundant code. You can also explore our Meta Pixel fires but no conversions guide if your pixel seems to be triggering correctly but conversions are still missing in Ads Manager.
Mistake 2: Missing Key Event Data (value, currency, content_ids)
Events may fire correctly, but if they lack parameters like value or content_ids, Meta cannot properly track conversion value or product details.
Fix it by:
- Ensuring every Purchase event includes value, currency, and content_ids.
- For Shopify, use dynamic fields like {{ subtotal_price }} or {{ product.id }} instead of hard-coded values. If you’re unsure whether these are working properly, follow this guide to set up Meta Pixel correctly on Shopify.
- Use Event Manager diagnostics to check for missing parameter warnings.
Mistake 3: No Deduplication Between Pixel and CAPI
When both browser Pixel and CAPI send the same event without a shared event_id, Meta sees them as different and can either undercount or double-count.
Best practices:
- Always send the same event_id, event_name, and timestamp for both Pixel and CAPI.
- In GTM (or tools like Stape), ensure the event_id is pulled from a shared data layer variable.
- Preview both tags and confirm deduplication in the Events Manager. We’ve also written a full walkthrough on how to deduplicate events between Pixel and CAPI using event_id and GTM.
Reddit users strongly recommend including event_id and configuring deduplication manually or via GTM.
Mistake 4: Events Triggering from Wrong Pages
If Purchase triggers on the cart or Lead triggers before form submission, your ads will optimize incorrectly.
Fix steps:
- Use Test Events tool in Meta to see where each event fires and on what page.
- Restrict “AddToCart” to the cart page, “Purchase” to a thank you or confirmation page, and “Lead” only after form completion.
- Audit GTM or plugin configurations to make sure pages and conditions match event types.
Mistake 5: Using Outdated Pixel Code
Older versions of Meta Pixel or custom scripts may miss features like enhanced matching or tracking updates.
How to update:
- Grab the latest pixel code from Meta’s Event Manager. Use the version that loads connect.facebook.net/en_US/fbevents.js.
- Remove any legacy scripts from your site or theme.
- Validate your code using Meta Pixel Helper or the Test Events tool.
How to Test and Validate Your Meta Pixel Setup
After fixing the issues:
- Test events live using Meta’s Events Manager Test Events tool.
- Make sure automatic advanced matching is enabled. It can also help improve your Event Match Quality score.
- Run a test action (purchase or form), then check that value, currency, and content_ids appear correctly.
- Wait at least 24 hours after CAPI setup to ensure EMQ stabilizes and deduplication is confirmed.
- Audit again whenever you upgrade themes or install plugins.
Frequently Asked Questions
Q: Why is my Meta Pixel firing twice?
This usually happens due to duplicate installs, such as using Shopify’s native pixel and also manually adding code in theme files. To avoid this, ensure only one active setup exists.
Q: How do I ensure deduplication between Pixel and CAPI?
Both tracking methods must send the same event_id, event_name, and timestamp. Platforms like GTM or tools like Stape often require you to manually pass this data to both layers for proper deduplication.
Q: What if I’m missing event parameters like value or currency?
Make sure your events pass dynamic values using Shopify Liquid variables like {{ subtotal_price }}. Then, use Meta’s Events Manager diagnostics to spot and fix missing fields.
Q: Can outdated pixel code cause issues?
Yes. Older pixel scripts may lack support for advanced matching and updated event formats. Always use the latest version from Meta’s official source and remove any legacy or custom-coded scripts.
Q: How long should I wait to verify deduplication after setup?
Give it at least 24 hours after implementation. This lets Meta process both Pixel and CAPI events, update EMQ scores, and confirm deduplication is working properly.