META ADS TRACKING GUIDE

Meta Conversions API (CAPI): How Server Events Actually Work

Conversions API allows marketing events to be sent to Meta from a server, ecommerce platform, CRM or another server-controlled source instead of relying only on browser JavaScript. But a strong CAPI implementation is not simply about getting events into Meta. Event naming, timing, matching information, event IDs, deduplication and data freshness all need to work together.

Last updated: 19 September 2026

CUSTOMER ↓ WEBSITE

BROWSER PATH

META PIXEL→BROWSER PURCHASE EVENT

SERVER PATH

STORE / BACKEND→CAPI PURCHASE EVENT
META DATASET / EVENTS MANAGER
MATCHINGDEDUPLICATIONOPTIMISATION SIGNAL
event: Purchase
source: browser
eventID: ORDER-DEMO-001
value: 799 DKK

Simplified illustrative architecture. No data is sent.

01 — FOUNDATION

What is Meta Conversions API?

CAPI gives businesses a direct connection between their marketing data and Meta. Events can originate in an ecommerce backend, server, CRM, partner integration, server-side tagging infrastructure or supported commerce platform.

Event origin is the system where the real action becomes known. Event transport is the route from that system to Meta. A Purchase may originate when the backend confirms an order and then be transported through CAPI. CAPI does not automatically replace Pixel; for web measurement the connections can be redundant and complementary.

ORIGIN

The order is confirmed in the store backend.

TRANSPORT

An integration or server layer builds the request.

DESTINATION

Meta dataset / Events Manager

Meta: Conversions API overview · Best practices

02 — EVENT ANATOMY

What's inside a CAPI event?

A server event combines information about the action, its time and source with data that may support matching and describe the commercial action. Requirements vary by event type and source; website events require action_source, event_source_url and client_user_agent, and user_data must contain at least one customer-information parameter.

VALUE

Purchase

WHAT IT MEANS

Describes which standard or custom action happened.

WHY IT MATTERS

The field tells Meta which kind of action the payload represents.

COMMON IMPLEMENTATION MISTAKE

Names differ between browser and server.

Meta: Parameters · Server Event Parameters

03 — STANDARD EVENTS

event_name: What happened?

event_name is required and describes the action type. Standard events provide common semantics for familiar actions; custom events cover other business-specific actions. Only use a standard name when the real action matches its definition.

PageView: Page loaded

Select a stage for a simplified example. Purchase should represent a genuinely confirmed order.

Meta: Standard and custom events · Server Event Parameters

04 — TIMING

event_time and data freshness

event_time is a required Unix timestamp in GMT and should represent when the business action actually happened—not merely when a queue was processed. Meta’s current documentation accepts event_time up to seven days in the past; older requests are rejected. That is a technical boundary, not a target delivery time.

Data freshness concerns how quickly an event becomes available after the action. Greater delay can reduce how current the signal is. Meta says sent events should be verifiable in Events Manager within 20 minutes, but this is not a promise of attribution or performance.

Event Delivery Timeline

PURCHASE
T+0
BROWSER
T+0.2
SERVER
T+1.0
META

All default times are illustrative. No performance penalty is calculated.

Meta: Server Event Parameters · Verifying your setup

05 — MATCHING INPUTS

user_data: How matching information works

user_data contains customer information that may help Meta associate an event with an account. Current web-relevant fields can include email, phone, external_id, client_ip_address, client_user_agent, fbc and fbp where available, relevant and lawfully processed.

Meta requires normalisation and SHA-256 hashing for email, phone, name, gender, date of birth, city, state, postcode and country. Hashing external_id is recommended. IP address, user agent, fbc and fbp must not be hashed. Use Meta’s SDK or documented method—not custom cryptography.

Email

Potential matching input; only where relevant, permitted and correctly formatted.

Phone

Potential matching input; only where relevant, permitted and correctly formatted.

External ID

Potential matching input; only where relevant, permitted and correctly formatted.

Browser ID (_fbp)

Potential matching input; only where relevant, permitted and correctly formatted.

Click ID (_fbc)

Potential matching input; only where relevant, permitted and correctly formatted.

IP address

Potential matching input; only where relevant, permitted and correctly formatted.

User agent

Potential matching input; only where relevant, permitted and correctly formatted.

Meta: Customer information list · Formatting and hashing

06 — EVENT MATCH QUALITY

Event Match Quality: What does it actually measure?

Event Match Quality relates to how effectively customer information on website events sent through CAPI can be used to match an event to Meta accounts. Meta calculates the actual assessment.

It is not ROAS, attribution accuracy, conversion quality, creative quality or a profit score. A high rating does not guarantee advertising performance.

Matching Input Explorer

Limited matching inputs
Actual Event Match Quality: Calculated by Meta

No score is generated, and no information is collected or sent.

Meta: Event Match Quality

07 — COMMERCE CONTEXT

custom_data: Value, currency and commerce information

custom_data describes what the commercial action contained: for example value, currency, content_ids, content_type and quantity/order information where supported by the event and integration. user_data helps answer who; custom_data describes what.

FICTIONAL PURCHASE

Purchase

Value
799 DKK
Product
SKU-123
Quantity
1
WHO → user_data
WHAT → custom_data

Meta: Conversions API parameters

08 — IDENTIFIER

event_id: The key to browser/server deduplication

When the same business event is sent through Pixel and CAPI, Meta recommends the same event name and event ID. Pixel uses the browser parameter eventID; CAPI uses event_id. For a purchase, the identifier should remain stable for that order occurrence and should not contain raw personal information.

Event ID Generator Demo

Browser Purchase
ORDER-DEMO-001
+
Server Purchase
ORDER-DEMO-001
MATCHED PAIR

Educational only. Fictional IDs; no customer or order data is used.

Meta: Deduplicate Pixel and server events · Server Event Parameters

09 — ONE BUSINESS EVENT

How Pixel and CAPI deduplication works

Two technical messages can describe one real business action. The goal is therefore two delivery paths, but one logical event. The diagram illustrates the primary principle and does not reproduce every internal Meta rule.

REAL PURCHASE = 1

PIXEL = 1
CAPI = 1

RECOGNISED OVERLAP
LOGICAL PURCHASE = 1

Deduplication Debugger

Browser
Server
PRIMARY DEDUPLICATION KEYS ALIGN

Simplified educational check. No values leave this page.

Meta: Deduplication guidance

10 — EVENT COUNTS

Event coverage: Is Meta receiving the events you expect?

Event coverage differs from Event Match Quality. Coverage compares event counts with the business source you expect; matching concerns the usefulness of customer information. Neither is attribution accuracy.

Event Coverage Calculator

Browser coverage
Server coverage
Unique represented
Represented coverage
STORE 100
BROWSER 82
SERVER 95
UNIQUE 97

Mathematical event-count comparison only. All numbers are illustrative/user-entered—not benchmarks or attribution accuracy.

11 — PURCHASE PIPELINE

From ecommerce order to Meta server event

A reliable Meta CAPI Purchase event starts with the correct business action. Explore the simplified architecture. Exact sequencing depends on the commerce platform and implementation.

The customer submits checkout.
12 — EVENTS MANAGER

How to test CAPI before and after launch

Begin with a controlled test action and confirm that the expected event name, connection method and relevant parameters appear. Inspect browser and server source, deduplication, event freshness and Diagnostics. Meta’s testing feature uses a test_event_code in the request body; it is not a permanent production setting.

QA should continue after launch. Website, checkout, consent, app and integration changes can alter the event flow. Reconcile Purchase against the backend, review warnings and verify timing on a schedule.

  • Test events
  • Expected event names
  • Connection method
  • Parameter validation
  • Diagnostics
  • Browser/server source
  • Deduplication
  • Event freshness

Meta: Verifying your setup · Using the API

13 — MONITORING

Events Manager QA dashboard

A useful dashboard helps ask whether the event arrives from expected sources, redundant copies align, matching inputs are available, delivery is current and Diagnostics surfaces anything requiring action.

EventBrowser receivedServer receivedDeduplicationMatching inputsFreshnessDiagnostics
PurchaseOKOKOKCHECKOKCHECK
AddToCartOKOKOKCHECKCHECKOK
InitiateCheckoutOKMISSINGCHECKCHECKOKCHECK
ViewContentOKCHECKCHECKOKOKOK

Educational mockup — not the real Meta interface. States are fictional and illustrate a QA mindset only.

14 — DIAGNOSTICS

10 common CAPI implementation failures

Open each card for a practical troubleshooting framework.

SYMPTOM: Different event IDs on browser and server

WHY IT MATTERS: The copies cannot align through the primary key.

WHAT TO CHECK: Compare Pixel eventID with CAPI event_id.

SYMPTOM: Event names do not align

WHY IT MATTERS: The same ID is not sufficient when names differ.

WHAT TO CHECK: Check event_name and casing on both paths.

SYMPTOM: Purchase fires before the order is confirmed

WHY IT MATTERS: An attempt may be represented as a completed purchase.

WHAT TO CHECK: Tie the server event to the correct order and payment state.

SYMPTOM: Purchase fires more than once

WHY IT MATTERS: Reloads, retries or multiple hooks can create duplicates.

WHAT TO CHECK: Review triggers, idempotency and order ID.

SYMPTOM: Incorrect currency or value

WHY IT MATTERS: The event’s commercial value becomes misleading.

WHAT TO CHECK: Reconcile custom_data with the order.

SYMPTOM: Product IDs do not match the commerce setup

WHY IT MATTERS: Products and events cannot connect as intended.

WHAT TO CHECK: Align content_ids with the catalogue ID structure.

SYMPTOM: Matching parameters are malformed

WHY IT MATTERS: Meta cannot use the information as expected.

WHAT TO CHECK: Check normalisation, hashing and non-hashed fields.

SYMPTOM: Events arrive unnecessarily late

WHY IT MATTERS: The signal has weaker data freshness.

WHAT TO CHECK: Review queues, retries and event_time.

SYMPTOM: Consent logic differs between browser and server

WHY IT MATTERS: The paths do not respect the same visitor decision.

WHAT TO CHECK: Propagate consent state through the whole data flow.

SYMPTOM: Nobody monitors Events Manager after launch

WHY IT MATTERS: New errors and data drift are discovered late.

WHAT TO CHECK: Schedule checks of Diagnostics, freshness and events.

15 — LIMITS

What CAPI does not fix

CAPI can give Meta stronger measurement inputs, but it is not a growth strategy by itself. It does not automatically fix:

poor creative

poor landing pages

a bad offer

low conversion rate

unprofitable unit economics

weak campaign structure

the wrong optimisation objective

Strong tracking provides stronger information. It cannot repair a weak offer or poor economics.

16 — ARCHITECTURE

How can Conversions API be implemented?

There is no universal winner. Choose based on event origin, commerce platform, technical resources, consent, destinations and maintenance. See the broader server-side vs browser-side tracking guide for ProfitMetrics and Reaktion.

Direct integration

Maximum architectural control; requires engineering ownership and maintenance.

Partner/platform integration

Faster implementation; capability and control depend on the partner.

Server-side GTM / middleware

Flexible routing and governance; adds infrastructure and specialist maintenance.

Ecommerce tracking platform

Commerce-focused workflows; evaluate platform fit, destinations, costs and reporting.

17 — READINESS

Is the foundation ready for a CAPI review?

Implementation Readiness Check

Is Meta Pixel working?
Is the correct dataset being used?
Are Purchase events confirmed in the backend?
Can one stable event ID be generated?
Can the same ID reach browser and server?
Is consent logic defined?
Are matching fields available?
Is Events Manager being monitored?
TRACKING FOUNDATION NEEDS WORK

A local educational self-assessment only. No answers are sent.

FAQ

Frequently asked questions about Meta Conversions API

Meta Conversions API is a connection that sends marketing events from business-controlled data sources such as a server, commerce platform, CRM or partner integration to Meta.

CAPI is the common abbreviation for Conversions API.

Yes. CAPI is a server-side connection to Meta, while the event source itself may be a backend, platform, CRM, partner or server-side tagging infrastructure.

No. Pixel sends web events from the browser, while CAPI sends from a server-controlled source. For web measurement, they can be complementary connections.

Not as a universal rule. Meta recommends redundant connections where they fit; the same event must then be aligned and deduplicated correctly.

event_id identifies a specific event occurrence and is recommended for deduplication. Pixel calls the browser parameter eventID, while the server event uses event_id.

Browser and server copies of the same action can be recognised through the same event name and event ID, allowing two technical messages to represent one logical event.

Event Match Quality describes how effectively customer information on website CAPI events can help Meta match an event to Meta accounts. It is not a performance or ROAS score.

Event coverage here compares expected business events with received events. It is not Event Match Quality or attribution accuracy.

Depending on the event and use case, a server event can contain event_name, event_time, action_source, event_source_url, user_data, custom_data and event_id.

Meta requires hashing for email, phone and several other contact fields. They must be normalised to Meta specifications and SHA-256 hashed; SDKs can perform hashing.

Server delivery does not depend on browser JavaScript or browser cookies, although permitted browser and click identifiers may still be used. Quality depends on available signals.

No. CAPI does not remove requirements for consent, lawful processing, data minimisation, Meta terms or respect for visitor privacy choices.

Use a controlled test order and Meta’s testing tools in Events Manager to inspect event name, connection method, parameters, sources, deduplication and timing.

Events Manager shows received events, connection method, Diagnostics and relevant quality indicators. Reconcile Purchase events with backend data as well.

META ADS TRACKING

A strong CAPI setup is about more than getting a green checkmark

Browser events, server events, matching, deduplication and campaign optimisation need to work together. JLDigital helps ecommerce brands treat tracking and Meta Ads as one connected system.

See how we work with Meta Ads