Meta Ads

Meta Pixel and Conversions API: How to Set Up Both and Avoid Duplicate Events

What the Meta Pixel and Conversions API do, why to use both, how to avoid duplicate events and how to check everything in Events Manager.

Illustration for: Meta Pixel and Conversions API: How to Set Up Both and Avoid Duplicate Events
In this article
  1. What the Meta Pixel does
  2. Why the Pixel alone can miss conversions
  3. What the Conversions API does
  4. Avoid duplicate events with deduplication
  5. Set up the Meta Pixel and Conversions API on your platform
  6. Check everything in Events Manager
  7. Consent, privacy and data protection
  8. Frequently asked questions
  9. Conclusion

Key takeaways

  • The Pixel sends events from the visitor's browser. The Conversions API sends them from your server or tag setup.
  • Using both can recover events the browser misses, but you must deduplicate them.
  • Deduplication relies on matching event names and event IDs. Check the current documentation for the exact rules.
  • Test in Events Manager and respect consent and privacy requirements.

Meta Ads can only optimise towards what it can see. If a lead or a purchase never reaches Meta, the system cannot learn from it, and your reports will undercount real results. That is why advertisers talk about the Meta Pixel and the Conversions API (often shortened to CAPI) so much.

The Pixel and the Conversions API are two routes for sending the same kind of events to Meta. Used together and set up carefully, they give more complete data. Set up carelessly, they count every lead twice. This guide explains what each does, how they work together, and how to check the result.

What the Meta Pixel does

The Meta Pixel is a snippet of JavaScript on your website. When someone views a page, submits a form or buys something, it sends an event such as PageView, Lead or Purchase to your Meta dataset (the area in Events Manager where events are collected). Meta uses these events to:

  • measure how many results your ads produced
  • optimise delivery towards people likely to take that action
  • build custom audiences for retargeting, for example website visitors from the last 30 days

Events can be standard (named by Meta, like Lead) or custom. Use standard events where they fit, because they are widely understood by the system. A typical set for a service business is PageView, ViewContent, Lead and Contact. For a shop, add AddToCart, InitiateCheckout and Purchase.

Why the Pixel alone can miss conversions

The Pixel depends on the visitor's browser. Ad blockers, browser privacy features, restricted cookies, slow page loads and people closing the page early can all stop an event from being sent. On iPhones and some browsers, privacy changes have made browser-only tracking less complete than it used to be.

The result is that Meta may see fewer conversions than really happened. That affects both reporting and optimisation, because the system has less data to learn from. This is the problem that server-side tracking is meant to reduce.

What the Conversions API does

The Conversions API sends events from a server to Meta, not from the browser. Your website, CRM or tag server collects the event and passes it on, along with customer information parameters (such as hashed email or phone number) that help Meta match the event to a person who saw the ad. Because it does not depend on the browser, it can fill gaps the Pixel leaves.

It is not a replacement for good measurement design. It also does not bypass consent: you should only send data you are entitled to send. Meta recommends running the Pixel and the Conversions API together, known as a redundant setup, but check the current documentation for its latest guidance.

Note: The Conversions API is also useful for events that happen away from your website, such as a lead marked as "qualified" or "purchased" in your CRM. Sending these back helps Meta learn which leads are valuable.

Avoid duplicate events with deduplication

If the same lead is sent by the Pixel and by the Conversions API, Meta needs to know it is one lead, not two. Meta's documented method is to send matching event names and matching event IDs from both sources, so it can keep one. Where event ID is missing, Meta may try other matching parameters, but the cleanest approach is to send an ID.

  1. Generate one unique ID per action. For example, a form submission ID or an order number.
  2. Send it with the browser event as the event ID.
  3. Send the same ID with the server event using the same event name.
  4. Check Events Manager to confirm events are shown as deduplicated and not counted twice.

There are time limits on how close together the events must arrive for matching to work. Check the current documentation for the details, because they may change.

Warning: Do not use random, different IDs for each side. Also avoid sending the same Lead event from both a plugin and a custom tag. Duplicate setups from several tools are the most common cause of inflated lead counts.

Set up the Meta Pixel and Conversions API on your platform

The right method depends on how your site is built.

PlatformCommon approach
ShopifyUse the built-in Meta or Facebook and Instagram channel integration, which can enable both Pixel and Conversions API. See our Shopify services.
WordPress and WooCommerceA reputable official or partner plugin with server-side events, or a tag manager setup
Custom or static sitesGoogle Tag Manager with a server container, direct server code or a partner integration
CRM leadsSend offline events from the CRM, with the lead's ID and consent in place

For many small businesses, a partner integration or plugin is the simplest and most reliable route. For custom needs, Google Tag Manager with server-side tagging gives control, but it costs more to host and maintain. Pick the lightest method that gives accurate events. Make sure only one tool is sending each event.

Check everything in Events Manager

Events Manager is where you confirm that data is flowing. After setup:

  • Open Test Events and perform the action yourself on the site, such as submitting the form.
  • Confirm that the event appears from both browser and server, and that it is marked as deduplicated, not counted twice.
  • Review diagnostics for warnings about missing parameters, unverified domains or low-quality data.
  • Check Event Match Quality for your key events and improve it by sending more valid customer parameters, with consent.
  • Compare Meta lead counts with your CRM or inbox for a week. Small differences are normal; large gaps need investigation.
  • Check domain verification and any event prioritisation settings the current interface asks for.

Our conversion tracking basics article covers the wider approach to testing tracking across platforms.

Tracking must respect the rules that apply to your visitors. In India, the Digital Personal Data Protection Act 2023 sets obligations around consent and personal data, and its rules continue to be rolled out, so take current professional advice. If you also reach visitors in the EU, UK or other regions, their laws may apply too.

  • Show a clear privacy policy that mentions advertising cookies and tracking.
  • Use a consent banner where required, and make sure tags respect the choice.
  • Send only the customer data you have a right to use. Meta requires hashing certain fields; check the current documentation.
  • Avoid sending sensitive information, such as health details, in event data. This is especially important for clinics.

Frequently asked questions

Do I need both the Meta Pixel and the Conversions API?

Meta generally recommends using both together, because each can catch events the other misses. A Pixel-only setup can still work for a small campaign, but may give less complete data. Check the current documentation for the recommended setup.

How do I know if my Meta events are duplicated?

Use Test Events and the diagnostics in Events Manager. If you see the same action reported twice from different sources without deduplication, check that the event names and event IDs match. Also compare Meta numbers with your actual leads.

What is Event Match Quality?

It is a score in Events Manager showing how well the customer information you send can be matched to Meta accounts. Sending more valid parameters, with consent, usually improves it. Treat it as a guide, not a goal in itself.

Is the Conversions API difficult to set up?

On platforms like Shopify it can be switched on through an integration. On custom sites it needs more technical work, such as a server container or custom code. Choose a method you can maintain and test properly.

Conclusion

The Pixel and the Conversions API work best as a pair, with clean deduplication and regular checks in Events Manager. If your lead counts look wrong, or you want server-side tracking built properly, contact us and we will audit your setup. Our Meta Ads service includes tracking set-up.

Hope Web Creations Team

Practical guides on websites, ads and search from the team at Hope Web Creations. Updated October 2026.