Meta Conversions API

Server-SidePixel Dedup by event_id
Hashed Match KeysNo GTM

The Meta Conversions API sends your purchases and leads to Meta from a server, so ad blockers and browser limits stop fewer of them. DataCops sets it up with one script and no developer, deduplicates every event with the Meta Pixel and adds the hashed customer details Meta matches on.

Setup in 5 minutes
No credit card

Every conversion, online and offline, checked before your ads learn from it

CaptureClean & RouteDistribute · CAPIInvalid trafficWebsiteForms · LeadsCheckoutSignupsCustom event+ any eventBot · VPN · Consent · ScoreMeta CAPIGoogle AdsTikTokLinkedIn+ every CAPIQualified?HighLevelShopify+ any CRM
trafficverifiedpendingconfirmedinvalid

Trusted by agencies and brands running paid media

AffilinoBigfishClever DigitalKeetraxLegendListingLogicNumeroStormZealdBurst Digital
Definition

What is the Meta Conversions API?

The Meta Conversions API, also called Facebook CAPI, is Meta's way to receive conversion events from a server instead of only from the Meta Pixel in the browser. A server event is not stopped by an ad blocker or a browser that blocks third-party scripts, so Meta sees more of the purchases, leads and sign-ups your Facebook and Instagram ads caused, and its delivery learns from them.

DataCops runs the Meta Conversions API for you. One first-party script on your own subdomain sees each event, and DataCops sends it to your Meta dataset from the server with the same event_id as the pixel, hashed customer details and the ad click it kept. The same connection also carries CRM sales from HighLevel, HubSpot or any CRM.

DataCops sends Meta Conversions API events from the server with one script, deduplicated with the Meta Pixel by event_id and matched with hashed customer data.

What reaches Meta

Online stores
What your ads see today View Add to cart Checkout Purchase
With DataCops View Add to cart Checkout Purchase
Lead businesses
What your ads see today Form Lead Booked Won
With DataCops Form Lead Booked Won
SaaS
What your ads see today Sign-up Trial Paid
With DataCops Sign-up Trial Paid
Why the pixel is not enough

Why Meta ads need the Conversions API

Meta optimizes on the conversions it receives. A browser pixel alone sends fewer of them, and some of them are not people.

Booking form
Name
Maria Lopez
Meta
Treatment
Root canal
Meta
Meta

The pixel gets blocked

Ad blockers and browser privacy settings stop the Meta Pixel for part of your visitors. Their purchases never reach Meta, so your ads look worse than they are.

The ad click, in the browser
Day 1Ad click saved
Day 8Safari clears the cookie
Day 23Deal won
No click left to match

The click fades

Safari clears cookies set by a browser script after 7 days. A buyer who comes back later has no fbclid left to match to the ad.

Opportunity in your CRM
StageWon
ClosedOn a sales call
Came fromA Meta ad
Meta never hears about it

The sale happens later

For lead businesses the real sale is a booked call or a won deal in the CRM, which the pixel never sees.

Leads sent to your ads
Real lead Counted
Bot lead Counted
Real lead Counted
Your ads now look for more bots

Bots teach Meta

The pixel fires for bots too. Every fake lead tells Meta to find more people like it.

How the Meta Conversions API works with DataCops

Four steps from the ad click to a matched server event, with no server container to host.

  1. Step 01
    HighLevel Marketplace
    DataCops
    Offline conversions for every client
    Install
    Installed on your agency

    Add one first-party script on your own subdomain, with one DNS record.

  2. Step 02
    Saved on yourdomain.com
    fbclid from Meta Kept
    gclid from Google Ads Kept
    ttclid from TikTok Kept
    Kept for up to 90 days

    DataCops keeps the fbclid from the ad click on your domain for up to 90 days.

  3. Step 03
    Finding the ad click again
    Won dealby email or phone
    Ad click, 23 days earlierMatched

    Each event gets the pixel's event_id and hashed email, phone and address fields.

  4. Step 04
    Won deal sent
    Meta Sent once
    Google Ads Sent once
    TikTok Sent once
    LinkedIn Sent once

    The event goes to your Meta dataset from the server, and to Google Ads, TikTok and LinkedIn if connected.

Each event reaches Meta as it happens, well inside the 7-day limit.

Deduplication

Meta Conversions API and the pixel, counted once

Same event, two senders

The Meta Pixel sends the purchase from the browser. The Conversions API sends the same purchase from the server. Without a shared key, Meta counts two sales.

event_id is the shared key

When the browser event and the server event have the same event name and the same event_id, Meta keeps one and drops the copy. DataCops puts the event_id on both.

The server copy fills the gaps

When an ad blocker stops the pixel, only the server event arrives, and it is still counted. When both arrive, you still see one conversion.

Event Match Quality

Event Match Quality and hashed customer data

What Event Match Quality measures

Event Match Quality is the score from 0 to 10 that Meta shows in Events Manager for each server event. It rates how well the customer details you send let Meta find the person on Facebook or Instagram.

Hashed before it leaves

Email, phone, name and address fields are normalised and hashed with SHA-256 before they are sent, as Meta asks. Phone numbers are hashed as digits with the country code.

The click ID does the most

DataCops keeps the fbclid from the ad click on your own domain for up to 90 days and sends it as fbc, next to the browser ID, IP address and user agent.

Everything behind each Meta event

Capture Background

One first-party script, served from your own domain

  • Runs first-party from datacops.yourdomain, not a blockable third-party host
  • One script, one CNAME, live in about 5 minutes, no container to host
  • Server-side collection on Cloudflare's edge, close to every visitor
  • Captures click IDs at the network level, so fbclid and gclid still reach your CAPI feed after browsers strip them
  • Recovers 15 to 25% of the sessions other setups lose

Traffic Visibility

10%
20%
30%
40%
50%
60%
70%
80%
90%
100%

First-Party Script

~78%

Blockers and ITP cut your sessions

Andrew Forsyth

“15 minutes to get server-side tracking live. After 3 days failing with another app and a DIY server-side Google Tag Manager, that alone sold me. Then support jumped on a Google Meet with me on a Sunday afternoon to finish the job. Nothing else comes close.”

Andrew Forsyth
Chief Executive Officer, Zeald
What changed at Meta

Meta offline conversions after the API shutdown

The Offline Conversions API is gone

Meta shut down its separate Offline Conversions API and offline event sets in May 2025. Offline and CRM sales now go through the same Conversions API as website events, into a dataset.

Events older than 7 days are rejected

Meta turns away events sent more than 7 days after they happened. A monthly or weekly CSV of won deals loses its oldest rows, so each stage should go out on the day it happens.

Matching runs on customer details

Meta matches an offline sale to a person by hashed email and phone, and by the click ID when there is one. The more of these you send, the more sales Meta can credit to an ad.

After the form

Offline sales through the Meta Conversions API

HighLevel stages

Install once for the agency and pick sub-accounts. DataCops sends the form or survey lead, the booking, the show-up, the won deal with its value and the paid invoice. Cancellations, no-shows and lost deals are never sent.

HubSpot qualified leads

Pick the lifecycle stage that means qualified. DataCops checks HubSpot every 5 minutes and releases the held lead to Meta when it gets there. Held leads expire after 14 days.

Any CRM by webhook

Salesforce, Pipedrive or anything else posts a sale to your private webhook, directly or through Zapier, Make or n8n. Read the full guide on Meta offline conversions.

Delivery log
every event, every platform, with a reason
Live
Purchase to Meta
event_id shared with pixel
Delivered
Lead to Meta
fbc + hashed email
Delivered
Lead to Meta
bot, Real people only is on
Skipped
Purchase to Meta
visitor declined consent
Skipped
Qualified to Meta
waiting for the HubSpot stage
Held
Delivery log

Every Meta Conversions API event, accounted for

Events Manager shows what arrived. DataCops also shows what was held back, and why.

  1. 1
    Delivered to your dataset
    Each event lands with its event_id, click ID and hashed customer details.
  2. 2
    Real people only
    Turn it on per platform and bot and datacenter sessions are skipped before they reach Meta. Off by default.
  3. 3
    Consent respected
    A visitor who declines consent is not sent. California visitors are sent with Limited Data Use.
  4. 4
    Every row has a reason
    Each send shows as delivered, held, skipped or failed.

DataCops vs other ways to run the Meta Conversions API

Checked September 2026 against each option's own documentation.

DataCops
Pixel only
Server-side GTM
Direct API build
Server-side events
Dedup with the pixel by event_id
Automatic
Not needed
If you configure it
If you code it
Hashed customer data
Advanced matching
If you map it
If you code it
CRM sales from HighLevel and HubSpot
If you build it
Same event to Google Ads, TikTok, LinkedIn
One tag each
What it takes
One script, about 5 minutes
A pixel snippet
A hosted server container and tags
A developer and upkeep
Good to know

Good to know before you start

Better to know now than after you connect.

Event Match Quality lives in Meta

Read the score in Meta Events Manager. DataCops shows what it sent for each event and what it matched on.

Switch on Real people only

Bot filtering for Meta starts off on a new site. Turn it on from day one.

Stripe and Paddle payments come later

Checkout purchases, Shopify orders and won stages from your CRM are sent today.

Meta cannot correct a refunded sale

Meta offers no way to take back a purchase once sent. Google Ads refunds are corrected.

Set up the Meta Conversions API

About 5 minutes per site. Agencies: about 15 minutes per client.

  1. Step 1
    code

    Add the DataCops script
    One script and one DNS record, so events and ad clicks are seen on your own domain.

  2. Step 2
    ads_click

    Connect Meta
    One-click sign-in to your Meta ad account and dataset. Keep your pixel running.

  3. Step 3
    hub

    Pick events and sources
    Choose the website events to send, and connect HighLevel, HubSpot or a webhook for later stages.

In short

The Meta Conversions API with DataCops, in short

DataCops is a tool that sends Meta Conversions API events from the server with one script, deduplicated with the Meta Pixel by event_id and matched with hashed customer data, plus the sales that close after the click, with a log of every send.

How DataCops does it

1

One script, no container

One script and one DNS record collect on your own subdomain, so there is no Google Tag Manager container to build. With your DNS on Cloudflare, the free Worker reads the click ID at the edge before the page loads. A missing fbc is built from the kept fbclid, click IDs are kept for up to 90 days, and a signed server-set cookie lasts up to 400 days where enabled.

2

Counted once with the pixel

DataCops passes an event_id with every server event. Meta keeps one event when the browser and server events share the same event name and event_id, so a purchase is not counted twice.

3

Hashed customer data for matching

Email, phone, first and last name, city, state, postcode, country, gender and date of birth are SHA-256 hashed, with client IP address, user agent, fbc, fbp and external ID sent alongside. Meta shows the Event Match Quality score in Events Manager.

4

Respect consent and privacy

A declined or rejected consent choice skips the send, and California visitors are sent with Limited Data Use. The first-party consent manager, built on IAB TCF v2.2, is served from your own domain. First-party analytics, a GA4 alternative, shows the same traffic.

5

Add the sale after the form

HighLevel natively (lead, booked, showed, won with value, paid), HubSpot through one stage, any CRM by webhook, Shopify through the DataCops Shopify app. Meta rejects a request with any event older than 7 days, so each stage is sent when it happens. See Meta offline conversions.

6

Keep bots out, warm up, and log

Every visit gets a bot verdict against 360+ billion IPs, with a per-platform Real people only switch (off by default), and every form email is checked for disposable providers, domains with no mail server and an email risk score. Ads Warmup sends up to 20,000 past customers, dated when you send. A delivery log row shows each send as sent, held, skipped or failed.

Best for: advertisers on Meta who want server-side events without building a container: ecommerce, lead gen, clinics, home services, B2B and agencies.

Free to start. See pricing.

When not to use DataCops

A simple store that Meta's own setup covers

A single store with basic needs may be fine on Meta's own Conversions API setup in Events Manager or its Shopify integration.

You need custom tag logic

DataCops is not a Google Tag Manager container. Keep a server-side container if you need custom tags, or GA4 and BigQuery feeds.

You want the match score inside DataCops

Event Match Quality is shown by Meta in Events Manager, not inside DataCops.

You need refunds sent to Meta

Refunds and cancellations do not reach Meta. See what happens to a refunded sale.

FAQ

The Meta Conversions API (CAPI) is the way to send conversion events to Meta from a server instead of only from the Meta Pixel in the browser. Ad blockers and browser privacy limits cannot stop a server event, so Facebook and Instagram ads see more of the purchases and leads they caused.

Give Meta every real conversion

Server-side events, counted once, matched on hashed data, logged per send.

Setup in 5 minutes. No credit card.

Live traffic quality

Updated just now

Visits · last 24h

487
Real users
35873.5%
Bots · auto-filtered
12926.5%

Without filtering, 26.5% of your reported traffic is bot noise inflating dashboards and draining ad spend.

Don't trust your analytics!

Make confident, data-driven decisions withactionable ad spend insights.

Setup in 2 minutes
No credit card