Connecting Meta (Facebook and Instagram)
How the Meta Conversions API integration will work, including pixel deduplication with shared event IDs and iOS recovery.
On this page · 9 sections
Coming soon. Conversion forwarding to Meta through the Conversions API is not live yet. This article describes the setup that will apply when it launches. In the meantime, Convultra still captures fbclid click IDs and attributes Meta-referred conversions in your dashboard, so your data will be ready to forward on day one.
What the Meta integration will do
- Recover iOS 14.5+ conversions. When a user opts out of tracking on iOS, the Meta Pixel cannot see them. A server-side event still reaches Meta.
- Better campaign optimization. More conversion data helps Meta’s delivery algorithm find the right audiences.
- Higher match rates. The Conversions API uses several identifiers to match an event to an ad interaction.
- No double counting. If you keep the Meta Pixel running, Convultra sends the same event ID with both, and Meta deduplicates. See Meta is showing more purchases than my store.
Requirements
| Requirement | Details |
|---|---|
| Meta Business account | With access to at least one ad account. |
| Ad account access | Admin or advertiser access. View-only does not work. |
| Tracking installed | The Convultra script or plugin is recording events. |
| Pixel ID (recommended) | Needed for deduplication between browser Pixel events and server-side events. |
You will not need a System User token or manual Conversions API configuration. Convultra will handle authentication through OAuth and refresh tokens automatically.
Setup
1. Go to Integrations
Open Integrations, find the Meta card and click Connect.
2. Sign in with Facebook
A Facebook sign-in window opens. Sign in with the account that has access to your Meta Business and ad account. Convultra requests:
ads_managementto manage conversions for your ad accountsbusiness_managementto access your business assets
Tokens are stored encrypted and refresh automatically.
3. Select your ad account
Convultra lists the ad accounts your login can reach. Select the one that should receive conversions. You can connect several; each is configured independently.
4. Enter your Pixel ID (recommended)
If you run the Meta Pixel on your site, enter its Pixel ID here. It lets Convultra and Meta deduplicate events tracked by both the pixel and the server. Find it in Meta Events Manager under Data Sources → Your Pixel → Settings.
Pixel ID: 123456789012345
Without a Pixel ID, Meta cannot match browser and server events, and running both would inflate your counts. If you do not use the pixel at all, skip this step.
5. Enable enhanced conversions (optional)
Toggle Enhanced Conversions on to send SHA-256 hashed customer data such as email and phone. This raises Meta’s Event Match Quality (EMQ) score. See Enhanced conversions.
6. Send a test conversion
Click Send a test conversion on the card to open the Conversion Test Center. On success you see a confirmation with the event name, Meta’s fbtrace_id and a timestamp. On failure, read the error. Common causes: an invalid Pixel ID, insufficient permissions, or an expired token (disconnect and reconnect). A low EMQ warning is not an error; enable enhanced conversions and send more fields.
7. Done
Conversions will be forwarded automatically through the Conversions API.
Click ID
Convultra captures Meta’s click identifier from your landing page URLs today:
| Click ID | Parameter | Description |
|---|---|---|
| fbclid | ?fbclid=... | Appended when someone clicks a Facebook or Instagram ad |
The SDK captures fbclid on page load and stores it server-side, so it is available when forwarding launches.
iOS 14.5+ recovery
Apple’s App Tracking Transparency lets users opt out of cross-app tracking. When they do, the Meta Pixel in the browser cannot attribute their conversions. Server-side forwarding avoids the limitation:
- The event is sent from Convultra’s server to Meta’s server, not from the user’s browser.
- Meta matches it using hashed user data and the
fbclidcaptured at click time. - Conversions invisible to the pixel are recovered and attributed.
Deduplication
When both the Meta Pixel and Convultra send the same conversion:
- Convultra generates a unique
event_idfor the conversion. - The same
event_idis included in the browser pixel event and the server-side event. - Meta uses
event_idplusevent_nameto count the conversion once.
{
"event_name": "Purchase",
"event_time": 1705340400,
"event_id": "evt_abc123def456",
"event_source_url": "https://example.com/thank-you",
"action_source": "website",
"user_data": {
"em": ["a1b2c3d4e5f6..."],
"ph": ["7a8b9c0d1e2f..."],
"fbc": "fb.1.1705340000.AbCdEfGh",
"fbp": "fb.1.1705339000.1234567890"
},
"custom_data": {
"value": 49.99,
"currency": "USD",
"order_id": "TXN-67890"
}
}
Deduplication requires the Pixel ID from step 4.
Server-side event matching
Meta uses several data points to match an event to an ad click. Convultra sends whatever is available:
| Parameter | Source | Description |
|---|---|---|
fbclid (as fbc) | URL parameter | Click ID captured on landing |
fbp | Browser cookie | Facebook browser ID from _fbp |
em | userData.email | SHA-256 hashed email |
ph | userData.phone | SHA-256 hashed phone |
fn / ln | userData.first_name / last_name | SHA-256 hashed name |
ct / st / zp | userData.city / state / zip | SHA-256 hashed location |
country | userData.country | SHA-256 hashed country code |
client_ip_address | Automatic | The visitor’s IP |
client_user_agent | Automatic | The visitor’s user agent |
More parameters mean a higher EMQ score and better attribution.
Conversion delivery
The Conversion delivery page will show every event sent to Meta, with timestamp, event name and data, click ID, the deduplication event_id, delivery status (pending, retrying, success or failed), Meta’s fbtrace_id for debugging in Events Manager, and any error details.
Meta accepts a conversion up to 7 days after the click. Retrying a failed delivery after that is refused. See Events show as pending and never send.
Troubleshooting
| Problem | What to do |
|---|---|
| Low Event Match Quality | Enable enhanced conversions and send more user data fields. |
| Duplicate conversions in Meta | Configure the Pixel ID so Meta can deduplicate. |
| Events missing from Events Manager | Meta can take a few hours to process. Check the Conversion delivery page for delivery confirmation. |
| Permission denied | The connected account needs advertiser access to the ad account. |
| OAuth token errors | Disconnect and reconnect from Integrations. |
| iOS conversions still missing | Confirm fbclid is arriving on landing URLs and enhanced conversions is on. |