Meta’s Conversions API (CAPI) is the server-side companion to the browser Pixel. CAPI fires events from a backend server instead of from the customer’s browser, which means ad blockers, tracking preventions, and iOS 14.5 opt-outs do not break your attribution.
If you run Meta ads for a restaurant and do not have CAPI wired up, you are flying with Pixel data that is 20-40% incomplete. Here is the ten-minute version of how to fix that.
What you need
- A Meta Pixel (any restaurant already running ads has one)
- Access to Meta Events Manager (business.facebook.com/events_manager2)
- A DineRoute Pro or higher account
That’s it. No developer. No code deploys.
Step 1: Generate a CAPI access token
In Events Manager, open your Pixel. Click the Settings tab. Scroll to Conversions API. Click Generate access token.
Copy the token (it starts with EAA…). Treat it like a password. Anyone with this token can fire events on your Pixel.
Step 2: Paste it into DineRoute
In the DineRoute dashboard, go to Settings → Tracking → Conversions API access token. Paste it in. Save.
Step 3: Verify with Meta’s test events tool
Back in Events Manager, open Test events. Open your DineRoute page in another tab. Tap any platform button.
Within thirty seconds, you should see a platform_click event arrive with a match quality score. Aim for 8+ out of 10. If you’re under 6, see the troubleshooting section below.
What actually happens
When a customer taps “Order on DoorDash” on your routing page, two things fire in parallel:
- Browser Pixel — fires in the customer’s browser. Carries whatever user-matching data the browser has not stripped (usually fbc and fbp).
- Server-side CAPI — fires from DineRoute’s edge servers. Carries IP address, user agent, fbc, fbp, and any email or phone the customer submitted.
Both events share the same event_id. Meta deduplicates them into one canonical event. If the browser fires, Meta uses it. If the browser is blocked, Meta uses the server event. Either way, the event counts.
Troubleshooting low match quality
If Meta reports match quality under 6, you’re usually hitting one of three issues:
- Missing fbc/fbp: ad blockers are stripping them. Fix: make sure your customers see ads with
fbclidURL parameters. Meta passesfbclidautomatically; we capture it if present. - Unmatched IPs: large shared networks (Starbucks wifi, cellular CGNAT). Nothing to fix. Match quality self-corrects as volume grows.
- Missing customer identifiers: optional. If you collect email or phone on your routing page, add them to
user_data. Match quality jumps 1-2 points.
What this unlocks
Once CAPI is running and match quality is above 8, you can switch your campaign optimization from Link Click to platform_click. Give Meta 5-7 days to exit the learning phase. Expect CPA to drop 20-40% on most restaurant accounts.
That is the whole game. Ten minutes of setup, weeks of better spend efficiency.