Pixel or Conversions API?
What each one sends to Meta, why Meta recommends running both, how to keep them from counting a lead twice, and what neither may do without consent.
The short answer
You need both. Meta recommends running the Conversions API alongside the Pixel, sending the same events through each with a shared event ID so Meta counts them once. The Pixel reports what happens in the browser. The Conversions API sends events from your server, so ad blockers and browser limits miss fewer of them, and it can report what happens after the website: the booked appointment, the signed policy, the paid invoice. In the EU neither may send data about people who declined consent, so it recovers lost signal, not permission.
By Yannis Spanenburg, founder of Proof of Pixel. Facts checked on .
Side by side
| Meta Pixel | Conversions API | |
|---|---|---|
| Where it runs | In the visitor's browser, as a JavaScript snippet | On your server, platform or CRM, which sends events to Meta directly |
| Ad blockers and browser errors | A browser ad blocker can stop it | Less affected by loading errors, connection problems and ad blockers, says Meta |
| What it can send | Website events | Website, app, offline, CRM and messaging events |
| Meta's advice | Keep it | Run it alongside the Pixel, with server events covering at least 75% of Pixel events |
| Counting once | eventID, the fourth argument of the fbq call | event_id plus event_name, matched within 48 hours; Meta usually keeps the first it receives |
| Matching to people | Advanced Matching in the Pixel settings | Email, phone and name hashed with SHA-256; IP address, browser and click IDs sent unhashed |
| Match quality score | Not scored | 0 to 10, from the last 48 hours of events |
| Late events | Sent the moment it fires | Up to 7 days after the event happened |
| Consent in the EU | Must wait for cookie consent; fbq('consent', 'revoke') pauses it | Must not send data about people who have not consented |
| Cost to set up | Free | Free one-click or Shopify setup; Gateway cloud fees from $30 a month; hosted server-side GTM from $20 a month; a direct build takes 2 to 4 weeks |
Checked on 1 October 2026 in Meta's Help Center and developer documentation, Shopify Help and Stape's price page. Server-side GTM hosting at Stape is €20 or $20 a month on Pro, billed monthly, with a free tier up to 10,000 requests.
Who should pick which
Built-in setup if
- You run a Shopify store: set the Facebook & Instagram channel to Enhanced or Maximum data sharing
- Meta is your only ad platform and website events are all you need
- Your spend is modest; Meta's one-click option is free
Server-side GTM if
- You advertise on Meta and Google, and perhaps TikTok or LinkedIn
- You want to strip personal data before anything leaves your server
- Your sales cycle is longer than a week, so cookie lifetime matters
A CRM connection if
- Your sale happens after the website: a call, a consultation, a signed policy
- You want Meta to learn from customers, not just form fills
- Your CRM can keep Meta's lead ID or the hashed contact details
Why Meta wants both
Meta calls it a redundant setup: the same events sent through the Pixel and the Conversions API, so that what one misses the other catches. Its best-practice guidance asks for server events covering at least 75% of Pixel events.
Meta's own figure: advertisers saw a 17.8% lower cost per result on average with a Conversions API setup for web events, compared with those without, in an experiment with 5,926 advertisers in November 2025. That is Meta's number and Meta's method; your result depends on how much your Pixel was missing.
How Meta counts an event once
Both halves send the same event with the same name and the same event ID. When Meta receives a matching pair within 48 hours, it keeps one, usually the first it received. The Pixel takes the ID as the fourth argument of its fbq track call; the server sends it as event_id.
The rule that follows: only one system may create that ID and put it on both halves. Anything that sends its own extra Lead event, such as a line of code in your form handler, cannot know the shared ID, and Meta counts the lead twice. Inflated leads look like good news until the ad budget follows them.
Match quality, and why forms matter
Meta scores server events from 0 to 10 on how well it can match them to its accounts, using the last 48 hours. Email and the click ID carry the most weight; phone, name and location help. Email, phone and name have to be hashed with SHA-256 before they are sent; the IP address, browser and click IDs must not be.
For a business that lives on enquiries this is the easy win: the person just typed their name, email and phone into your form. Pass those details, hashed, with the lead event, and Meta can match the lead to a person instead of guessing.
What consent still blocks
The Conversions API is not a way around privacy rules. Meta's own requirements: where consent is required, share nothing until the person has given it; the Pixel must wait for cookie consent, and the Conversions API must not send event data about people who have not consented. In the EU that covers anyone who declined your cookie banner.
Clinics and insurers have a second limit. Meta prohibits sending health or financial information, and that includes URL parameters and custom event names. A page address or an event named after a treatment can count. Meta may also restrict data sources in sensitive categories itself.
Setups and what they cost
A Shopify store needs no extra software: the Facebook & Instagram channel sends purchases through the Conversions API once data sharing is set to Enhanced or Maximum. Meta also offers a free one-click server connection for website events, and its Conversions API Gateway runs in your own cloud account for fees from about $30 a month, aimed at advertisers spending over $300 a month who are not on a platform such as Shopify.
Server-side Google Tag Manager is the most flexible route: one server container that forwards events to Meta, Google and others, with a Conversions API tag Meta maintains itself. Hosted at Stape it starts free up to 10,000 requests, then €20 or $20 a month. A side benefit: Safari limits cookies set by scripts to seven days, while cookies set by your own server on your own domain can last longer, which matters when people take more than a week to buy. Our own site sends Meta events from the browser and through a server container on our own subdomain, with one shared event ID.
Questions about Pixel vs Conversions API
Do I need both the Meta Pixel and the Conversions API?
Yes, Meta recommends both: the same events sent through each, with a shared event ID so they count once. The Pixel catches browser behaviour; the Conversions API catches what browsers block and what happens after the website.
Can the Conversions API replace the Pixel?
It can send every website event on its own, but Meta recommends running them together. The Pixel picks up browser signals the server does not see, and the pair gives Meta the most complete picture.
What does the Conversions API catch that the Pixel misses?
Events lost to ad blockers, failed page loads and connection problems, and events that happen off the website: a phone booking, a signed contract, a sale in your CRM. It does not catch people who declined consent; those must not be sent at all.
How does deduplication work?
The Pixel and the server send the same event name and the same event ID. When Meta receives both within 48 hours, it keeps one, usually the first. If the IDs differ, or a third system sends its own copy, Meta counts the event twice.
How do I improve Event Match Quality?
Send more of the customer details Meta can match on, hashed with SHA-256: email first, then phone, name and location, plus the click ID and browser ID unhashed. On a lead form, pass the details the person just entered with the lead event.
Does the Conversions API get around GDPR or cookie consent?
No. Meta says it is not designed to bypass privacy rules such as the ePrivacy Directive, and that it must not send data about people who have not given consent where consent is required. It recovers events from people who did consent but whose browsers lost the signal.
What is the Conversions API Gateway?
Meta's codeless server setup that runs in your own AWS or Google Cloud account and deduplicates automatically. The only cost is the cloud resources, from about $30 a month according to Meta, or a hosted version from a partner such as Stape.
Do I need server-side GTM for the Conversions API?
No. Shopify, WooCommerce, Meta's one-click option and the Gateway all work without it. Server-side GTM is worth it when you send events to several ad platforms, want to filter data before it leaves, or need longer-lasting first-party cookies.
How do I know it is working?
In Events Manager, each key event should show both the browser and the server as sources, the duplicates should be removed, and server events should cover at least 75% of Pixel events. Check the match quality score after a few days of traffic.
Can a clinic or insurer use the Meta Pixel and Conversions API?
With care. Meta prohibits sending health and financial information, including in page addresses and event names, and may restrict sensitive data sources itself. Name events by what happened, such as a booked consultation, not by the treatment, and take legal advice for your market.
How do I send leads that become customers later?
Through the Conversions API for CRM: your CRM sends each stage a lead reaches back to Meta, matched on Meta's lead ID or hashed contact details. Meta's qualified leads goal learns from those stages.
Sources, checked on 1 October 2026
- Meta: About the Conversions API
- Meta: Conversions API (17.8% figure and footnote)
- Meta: Conversions API best practices (75% coverage)
- Meta for Developers: deduplicate Pixel and server events
- Meta for Developers: customer information parameters
- Meta for Developers: server event parameters
- Meta: Event Match Quality
- Meta: privacy and data use requirements for business tools
- Meta: compare Conversions API setup options
- Meta: Conversions API Gateway
- Meta for Developers: Conversions API tag for server-side GTM
- Meta for Developers: Pixel consent (GDPR)
- Shopify Help: Meta data sharing levels
- Stape pricing
- WebKit: Intelligent Tracking Prevention 2.1 (seven-day cap on script cookies)
Read next
- Marketing: what we build
- Why Meta shows more conversions than Shopify
- Google tag gateway vs server-side GTM
- Consent Mode basic vs advanced
- Free field guide: Meta says 500. Shopify says 350.