Guide · Tracking

Meta Conversions API in 2026: what it is and how to set it up

By Christian Bozic, Founder of Marketing AIgency · Updated · 11 min read

Short answer

The Meta Conversions API (CAPI) sends purchases, leads and other events from your server, shop system or CRM straight to Meta, alongside the browser pixel. It recovers conversions the pixel loses to ad blockers, browser privacy limits and closed tabs, and it can report sales that happen offline. Meta recommends running both together and deduplicating them with a shared event_id.

Key takeaways

  • The pixel reports from the visitor's browser, the Conversions API from your server. Run both and let Meta deduplicate them.
  • Deduplication needs the same event_name and event_id from pixel and server. Meta only merges events that arrive within 48 hours of each other.
  • Shopify and WooCommerce stores get the Conversions API through their official Meta integrations. Since April 2026 Meta also offers a one-click setup in Events Manager.
  • Event Match Quality (0 to 10) shows how well your events match Meta accounts. Meta rates email and the ad click ID (fbc) as the highest-priority fields.
  • The Conversions API is not a way around cookie consent. In the EU you still need a legal basis, usually consent, before sending personal data to Meta.

What is the Meta Conversions API?

The Meta Conversions API is a server-to-server connection that sends conversion events from your own systems to Meta. The Meta Pixel runs in the visitor's browser and fires when a page loads. The Conversions API runs on your server, in your shop platform or in a tool connected to your CRM, and fires when your system records the purchase or lead.

Both feed the same dataset in Meta Events Manager (your pixel ID is also your dataset ID). Meta calls the combination a redundant setup: the same event arrives twice, Meta keeps one copy and uses the extra customer information from each source for matching (Meta Business Help Center).

Why bother? Meta's delivery system learns from the conversions it sees. When it sees fewer purchases than you actually made, it optimises on a thinner and more skewed sample. In its announcement of 15 April 2026 Meta wrote that advertisers with a Conversions API setup for web events saw an average 17.8% lower cost per result than those without (Meta for Business, 15 April 2026). That is Meta's own average across advertisers, not a promise for your account.

Why does the browser pixel alone miss events?

The pixel only reports what a browser allows it to report, and more browsers allow less every year. The causes stack up, and they hit different audiences differently.

What limits the browser pixel (sources and dates in the table)
CauseWhat happensHow big (source)
Ad blockers and content blockersThe pixel script never loads, so no event fires29.5% of internet users worldwide use ad blockers, GWI Q2 2025; Germany 31.5%, DataReportal 2026 (Backlinko, March 2026)
iOS App Tracking TransparencyUsers who tap Ask App not to Track limit what Meta can connect from its appsAverage ATT opt-in rate 35% in Q2 2025 (Adjust, 2025)
Browser storage limits (Safari)Script-set cookies such as _fbp expire after 7 days, so returning buyers look newWebKit Intelligent Tracking Prevention (WebKit, 2020)
Cookie consentVisitors who decline the banner are not tracked at allWith a legally compliant banner, consent is refused in about 60% of visits on average, so roughly 40% agree (etracker Consent Benchmark 2025)
Closed tab or failed redirectThe buyer pays but never loads the thank-you pageVaries by checkout, often payment redirects
Offline and CRM conversionsA lead becomes a customer days later by phone or in a storeThe pixel never sees it

Be clear about what the Conversions API fixes. It recovers events lost to blockers, storage limits, closed tabs and redirects, and it adds offline and CRM events. It does not recover visitors who declined consent, because in the EU you should not send their data either. Consent is a legal question, not a tracking bug.

Which Conversions API setup option fits your business?

Pick the option that matches your shop system and your technical resources, not the most powerful one. A clean partner integration beats a half-finished custom build.

Meta Conversions API setup options compared (as of September 2026)
OptionEffortRunning costControlBest for
Partner integration (Shopify Facebook & Instagram app, official WooCommerce plugin, other shop and CRM partners)Low, minutes to an hourIncludedLow: standard events onlyOnline shops on a supported platform
Meta-enabled Conversions API (one-click in Events Manager, launched April 2026)Very lowNo cost according to MetaVery low: mirrors what the pixel sendsSites without a partner integration that want a quick start
Conversions API GatewayMedium, runs in your own AWS or Google Cloud accountCloud fees only, per MetaMediumAdvertisers with some technical skills and no developer
Server-side Google Tag ManagerMedium to highServer hosting, depends on trafficHigh: any event, any parameter, consent logicTeams already using GTM, several ad platforms
Direct API integrationHigh, needs a developerDevelopment timeFullCustom shops, apps, lead-gen with CRM data

One limit of the one-click option matters: it mirrors events the browser pixel already produced. If a blocker stops the pixel, the mirror has nothing to send (WeltPixel analysis, 3 September 2026). It improves delivery reliability, it does not add events the browser never created. For the Gateway, Meta states that the only cost is the cloud resources or partner fees (Meta for Developers). For server-side GTM, Meta provides an official tag template (Meta for Developers).

Lead-gen businesses get the most from a CRM connection. A form fill is only a hint; the qualified lead or the signed contract two weeks later is the event you want Meta to optimise for.

How do you set up the Conversions API step by step?

For most online shops the fastest route is the official shop integration, then a test in Events Manager. Here is the path for Shopify, which covers a large share of small and mid-sized stores.

  1. In Shopify admin, open Settings, then Apps and sales channels, then Facebook & Instagram.
  2. Connect your Meta business account and select the ad account and the pixel (dataset) you already use.
  3. Open the data sharing settings and set them to Maximum. Shopify then sends events through both the pixel and the Conversions API (Shopify Help Center).
  4. Remove any second pixel you added manually in the theme or through another app, otherwise you send each purchase twice from the browser.
  5. In Meta Events Manager, open the dataset and check that Purchase shows both Browser and Server as sources within a day.
  6. Check deduplication and Event Match Quality on the Purchase event details (see the next sections).

Not on Shopify? In Events Manager, open your dataset, go to Settings and look for the Conversions API section. There you choose between a partner integration, the Gateway, the one-click option and a manual setup with an access token. WooCommerce stores install Meta's official plugin and enable the Conversions API in its settings.

How does event deduplication with event_id work?

Meta merges a browser event and a server event when both carry the same event_name and the same event_id. Meta generally keeps the event it received first and discards the duplicate. Deduplication only works when the two arrive within 48 hours of each other (Meta for Developers).

The simplest event_id is your order number or lead ID, because both the thank-you page and the server know it. The pixel passes it as eventID, the server as event_id:

// Browser: Meta Pixel on the thank-you page
fbq('track', 'Purchase',
  { value: 89.90, currency: 'EUR' },
  { eventID: 'order-10482' }   // same ID as the server event
);
{
  "data": [{
    "event_name": "Purchase",
    "event_time": 1791187200,
    "event_id": "order-10482",
    "action_source": "website",
    "event_source_url": "https://shop.example.com/thank-you",
    "user_data": {
      "em": ["<SHA-256 hash of the lowercased email>"],
      "ph": ["<SHA-256 hash of the phone number>"],
      "fbp": "fb.1.1791180000000.123456789",
      "fbc": "fb.1.1791180000000.AbCdEf",
      "client_ip_address": "203.0.113.7",
      "client_user_agent": "Mozilla/5.0 ..."
    },
    "custom_data": { "currency": "EUR", "value": 89.90 }
  }]
}

There is a fallback that matches on fbp or external_id instead, but Meta documents its limits: it only works when the browser event arrives first, and it does not remove duplicates within one source. Use event_id whenever you can.

  • Same spelling of the event name on both sides: Purchase is not purchase.
  • Same ID format: order-10482 in the browser and 10482 on the server do not match.
  • One source per channel: if a plugin and a GTM container both send server purchases, Meta sees two server events and cannot merge them.

What is Event Match Quality and what score is good?

Event Match Quality (EMQ) is Meta's score from 0 to 10 for how well the customer information in your server events matches Meta accounts. Events Manager shows it per event, calculated from the last 48 hours of data. Better matching means more of your events get tied to a person who saw your ad, which Meta links to more reported conversions and a lower cost per result (Meta Business Help Center).

Customer information parameters and Meta's priority for matching
ParameterFieldHashingMeta priority and effect
EmailemSHA-256 requiredHigh, the strongest single field
Phone numberphSHA-256 requiredMedium, format with country code
Click ID from the adfbcNot hashedHigh, ties the event to a specific ad click
Browser IDfbpNot hashedMedium, links server event to browser session
Your customer IDexternal_idHashing recommendedMedium, stable across devices and sessions
IP address and user agentclient_ip_address, client_user_agentNot hashedNeeded for website events, helps matching
Name, city, postcode, countryfn, ln, ct, zp, countrySHA-256 requiredLow (country: medium)

Meta does not publish a target number. Practitioners usually treat Purchase events above 8 as good, because the buyer has typed an email and a phone number by then. PageView events score lower by nature, since the visitor has not told you anything yet. If your Purchase EMQ sits below 6, check first whether email and phone are sent at all.

How do you test Conversions API events in Events Manager?

Use the Test events tab in Events Manager before you trust any number. It shows incoming browser and server events in near real time (Meta Business Help Center).

  1. In Events Manager, open your dataset and click Test events.
  2. For the pixel, enter your shop URL and place a test order. For server events, copy the test code shown there and add it as test_event_code to the server payload.
  3. Check that Purchase appears twice, once from the browser and once from the server, and is marked as deduplicated.
  4. Compare value and currency on both events. A purchase of €89.90 should not arrive as 8990.
  5. Remove the test_event_code afterwards. Meta still processes events that carry it, so a forgotten code leaves test traffic mixed into your data.
  6. A few days later, open the Diagnostics tab and the event overview for warnings about missing parameters or low deduplication.

Which Conversions API mistakes are most common?

  • No event_id, so every purchase counts twice and reported ROAS doubles overnight.
  • Two server sources at once, for example the Shopify integration plus a server-side GTM tag.
  • Value sent in cents or without currency, which breaks ROAS and value-based bidding.
  • Unhashed email or phone numbers in fields that require SHA-256 hashing.
  • Old events: event_time may be at most 7 days in the past, so a nightly batch job that falls behind loses events.
  • An expired or revoked access token after a team member leaves. Server events stop without an error on your website.
  • Server events sent for visitors who declined consent.
  • Optimising for a form submit when the CRM already knows which leads became customers.

Once tracking is clean, the next question is what the numbers are worth. Meta's reported revenue still overlaps with Google and TikTok, so compare it with your shop revenue using true ROAS and MER, and check your break-even with the ROAS calculator. If you are still planning your first campaigns, start with how to run Facebook ads.

How does Marketing AIgency use the Conversions API?

Marketing AIgency's AI agents review Meta ad accounts, work through the numbers and put every suggested change with its reasoning into an approval queue. The Attribution add-on sends your conversions back to Meta through the Conversions API, so Meta's delivery learns from the purchases and leads your business actually recorded. The agents themselves steer on that company number instead of platform ROAS.

Plans have fixed monthly prices with no percentage of ad spend. Add-ons such as Attribution can be booked on any plan, see pricing.

Frequently asked questions

Do I still need the Meta Pixel if I use the Conversions API?

Yes, Meta recommends running both. The pixel captures browser signals such as page views and the fbp cookie, the server adds events the browser loses. With a shared event_id Meta counts each conversion once.

Is the Meta Conversions API free?

Meta charges nothing for the API itself. Partner integrations like Shopify's are included, and Meta describes the one-click option as free. The Gateway, server-side GTM and custom builds cost cloud hosting or development time.

How long does deduplication take to show up?

Test events appear within seconds in the Test events tab. Deduplication rates and Event Match Quality in the event overview need a day or two of normal traffic before they are meaningful.

Does the Conversions API bypass ad blockers and cookie banners?

It recovers events that ad blockers, closed tabs and browser limits hide from the pixel, as long as your server knows about the conversion. It must not be used to send data from visitors who declined consent in the EU.

What is a good Event Match Quality score?

Meta does not publish a target. Purchase events commonly reach 8 or higher when hashed email and phone are sent. Scores under 6 on purchases usually mean key customer fields are missing.

Can I send offline sales or CRM leads through the Conversions API?

Yes. Offline and CRM events now go through the Conversions API with the matching action_source. Most events must arrive within 7 days of the event time; for in-store sales with action_source physical_store, Meta accepts uploads within 62 days.

Let Meta learn from your real sales

Connect your Meta ad account and a revenue source. The agents put platform numbers next to what your business actually made, and every suggestion waits in the approval queue until you decide. The first analysis runs right away, and you see the most important proposals for your account for free, no card needed. Approving and carrying them out comes with a plan.

See it free

About the author

Christian Bozic has run ad accounts on Meta, Google, TikTok and Snapchat for twelve years, inside agencies and on the client side, most recently as Head of Push Marketing at a Munich app company. He founded Marketing AIgency to put the daily account work into agents that propose and a human who decides.

Read next

Sources

  1. Meta for Developers: Handling duplicate pixel and Conversions API events
  2. Meta Business Help Center: Best practices for Conversions API
  3. Meta Business Help Center: About Event Match Quality
  4. Meta Business Help Center: Test your server events
  5. Meta for Developers: Conversions API Gateway
  6. Meta for Developers: Conversions API for server-side Google Tag Manager
  7. Shopify Help Center: Facebook data sharing
  8. Meta for Developers: Sending offline events using the Conversions API
  9. Meta for Business: Removing technical barriers, Pixel and Conversions API updates (15 April 2026)
  10. WeltPixel: Meta's one-click Conversions API, what it leaves out (3 September 2026)
  11. Backlinko: Ad blocker usage statistics (GWI Q2 2025, DataReportal 2026)
  12. Adjust: ATT opt-in rates 2025
  13. etracker: Cookie Consent Benchmark 2025
  14. WebKit: Full third-party cookie blocking and more (2020)
  15. § 25 TDDDG (Germany)
  16. CJEU, Fashion ID, C-40/17 (2019)
  17. European Commission: EU-US Data Privacy Framework adequacy decision (2023)
  18. Swiss Federal Office of Justice: New data protection legislation (in force 1 September 2023)