Connect Facebook Conversions API to GeoRedir for server-side conversion tracking. Send purchase, lead, and signup events to Meta for better ad optimization and attribution.
8 min read
Facebook Conversions API (CAPI), also called Meta Conversions API, is a server-to-server integration that sends conversion events directly from your tracking platform to Meta's servers — bypassing the browser entirely.
Unlike the Meta Pixel (which runs in the visitor's browser), CAPI works server-side. This means:
Why This Matters for Affiliates
The flow has four steps:
click_idFacebook Ad → GeoRedir Smart Link → Offer Page → Conversion
↓
Advertiser Postback
↓
GeoRedir receives conversion
↓
GeoRedir → Meta CAPI (server-to-server)This means you don't need to install the Meta Pixel on the advertiser's page (which you usually can't control anyway). GeoRedir handles the CAPI event automatically when a postback conversion comes in.
Before setting up CAPI, make sure you have:
Postback First, CAPI Second
123456789012345)EAA...Keep Your Token Secret
Once saved, CAPI is enabled account-wide. You can then enable or disable it per smart link.
| Event Type | When to Use |
|---|---|
| Purchase | Completed sale or deposit |
| Lead | Signup, registration, or form submission |
| CompleteRegistration | Account creation |
| InitiateCheckout | Started checkout process |
| Subscribe | Subscription signup |
| ViewContent | Page view (sent on click, not conversion) |
Match Event to Your Offer
Purchase. If it fires on a signup, use Lead or CompleteRegistration. Using the wrong event type confuses Meta's optimization algorithm.If you're also running the Meta Pixel on a landing page you control, you need event deduplication to prevent Meta from counting the same conversion twice (once from the Pixel, once from CAPI).
GeoRedir handles this by sending an event_id with every CAPI event. This event_id is derived from the click_id:
CAPI Event:
event_name: "Purchase"
event_id: "georedir_abc123def456" ← unique per click
event_time: 1708905600
user_data: { ... }
custom_data: { value: 50.00, currency: "USD" }If you're also firing the same event from a browser Pixel, make sure the Pixel sends the same event_id. Meta will automatically deduplicate events with matching IDs.
No Pixel? No Problem
After setting up CAPI and generating some test conversions:
Meta assigns an Event Match Quality score based on how much user data is included. Higher EMQ = better attribution = better ad optimization.
| EMQ Score | Quality | What It Means |
|---|---|---|
| 8-10 | Excellent | Strong user matching, optimal for optimization |
| 6-7 | Good | Decent matching, most conversions attributed |
| 4-5 | Fair | Some conversions may not be attributed |
| 1-3 | Poor | Weak matching, Meta can't optimize effectively |
GeoRedir sends the following user data parameters (when available) to maximize EMQ:
client_ip_address — Visitor's IP from the original clickclient_user_agent — Visitor's browser User-Agent from the original clickfbc — Facebook click ID (extracted from fbclid URL parameter)fbp — Facebook browser ID (if available)country — Visitor's country code from geo-detectionevent_time — Timestamp of the conversionMaximize Your EMQ
fbc parameter. Make sure your Facebook ad URLs include the fbclid parameter (this is automatic for most ad formats). GeoRedir captures it on click and passes it to CAPI.Once CAPI is sending events, configure your Facebook ad campaigns to optimize for CAPI conversions:
Purchase)In Events Manager, you can see events broken down by source:
If CAPI is showing significantly more conversions than the Pixel, that's the gap you were missing before — those are the conversions ad blockers and iOS were hiding.
fbclid is preserved: Check that your Facebook ad URLs pass through the fbclid parameter and that GeoRedir captures itevent_idfbclid is being captured correctly.Purchase events for signups. Meta optimizes for the event you tell it to, so accuracy matters.value parameter in CAPI. This enables value-based optimization in Meta ads.Create your first geo-targeted smart link in under 2 minutes. Free plan available, no credit card required.
Free plan included • No credit card required • Upgrade anytime