Generate a System User access token in Meta Business Manager with the ads_management and business_management permissions and store it server-side
Collect event parameters server-side at conversion time: event_name, event_time (Unix timestamp), event_source_url, and user_data fields (em, ph, client_ip_address, client_user_agent) hashed with SHA-256 where required
POST to the Graph API events endpoint at /{pixel_id}/events using the current Graph API version (v22.0 or later) with the event payload and your access token
Include an event_id field that matches the event_id set in the browser Pixel to enable deduplication across client-side and server-side hits
Use the test_event_code parameter (available in Events Manager) during development to validate that events appear in the Test Events tool before going to production
Monitor the Diagnostics panel in Events Manager for data quality scores and resolve any missing required parameters reported there
Known gotchas
Deduplication relies on the event_id matching exactly between the browser Pixel and the CAPI call; mismatches or missing event_id fields cause double-counting in attribution
All personally identifiable user_data fields must be lowercase and SHA-256 hashed before sending; sending unhashed values violates Meta policy and can cause account restrictions
German and EU regulators have scrutinized CAPI implementations under GDPR; ensure your privacy policy and consent mechanism explicitly covers server-side data transmission to Meta before deploying
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp