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
SERVER PATH
event: Purchase source: browser eventID: ORDER-DEMO-001 value: 799 DKK
Simplified illustrative architecture. No data is sent.
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
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.
Purchase
WHAT IT MEANSDescribes which standard or custom action happened.
WHY IT MATTERSThe field tells Meta which kind of action the payload represents.
COMMON IMPLEMENTATION MISTAKENames differ between browser and server.
Meta: Parameters · Server Event Parameters
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.
Select a stage for a simplified example. Purchase should represent a genuinely confirmed order.
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
T+0BROWSER
T+0.2SERVER
T+1.0META
All default times are illustrative. No performance penalty is calculated.
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.
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.
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
Actual Event Match Quality: Calculated by Meta
No score is generated, and no information is collected or sent.
Meta: Event Match Quality
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.
Purchase
- Value
- 799 DKK
- Product
- SKU-123
- Quantity
- 1
WHAT → custom_data
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
ORDER-DEMO-001
ORDER-DEMO-001
Educational only. Fictional IDs; no customer or order data is used.
Meta: Deduplicate Pixel and server events · Server Event Parameters
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
Simplified educational check. No values leave this page.
Meta: Deduplication guidance
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
Mathematical event-count comparison only. All numbers are illustrative/user-entered—not benchmarks or attribution accuracy.
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.
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
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.
| Event | Browser received | Server received | Deduplication | Matching inputs | Freshness | Diagnostics |
|---|---|---|---|---|---|---|
| Purchase | OK | OK | OK | CHECK | OK | CHECK |
| AddToCart | OK | OK | OK | CHECK | CHECK | OK |
| InitiateCheckout | OK | MISSING | CHECK | CHECK | OK | CHECK |
| ViewContent | OK | CHECK | CHECK | OK | OK | OK |
Educational mockup — not the real Meta interface. States are fictional and illustrate a QA mindset only.
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.
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.
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.
Is the foundation ready for a CAPI review?
Implementation Readiness Check
A local educational self-assessment only. No answers are sent.
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.
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