Facebook Conversions API (CAPI) - Server-Side Events
Pricing
from $0.01 / 1,000 results
Facebook Conversions API (CAPI) - Server-Side Events
Send offline conversions & server-side events to Meta Conversions API. Track purchases, leads & custom events for Facebook and Instagram ads attribution. Send a single conversion event Send multiple events List all pixels in ad account Get pixel details and stats Validate before sending
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
The Howlers
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Send offline conversions and server-side events to Meta Conversions API. Track purchases, leads, and custom events with automatic PII hashing for Facebook and Instagram ads.
BYOK (Bring Your Own Key) -- you provide your own API credentials.
Before You Start
This actor requires your own API credentials to fetch real data.
Where to get your key: Facebook Marketing API access token
You can test with Demo Mode first (free, no key needed) to see the output format before committing.
Quick Start
Test with Demo Mode (free, no API key needed)
{"demoMode": true,"eventSourceUrl": "https://example.com"}
Run with real data
{"demoMode": false,"task": "send_event","accessToken": "YOUR_API_KEY_HERE","eventName": "Purchase","country": "US","eventSourceUrl": "https://example.com","currency": "USD","contentType": "product","actionSource": "website","isAlreadyHashed": false}
Input Parameters
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
task | string | "send_event" | Yes* | The operation to perform |
accessToken | string | - | Yes* | Facebook Marketing API access token |
pixelId | string | - | No | Facebook Pixel ID to send events to |
testEventCode | string | - | No | Test event code from Events Manager (for testing only) |
eventName | string | "Purchase" | No | Standard or custom event name |
customEventName | string | - | No | Name for custom event (if eventName is CustomEvent) |
events | string | - | No | JSON array of event objects for batch sending |
email | string | - | No | Customer email (will be hashed) |
phone | string | - | No | Customer phone (will be hashed) |
firstName | string | - | No | Customer first name (will be hashed) |
lastName | string | - | No | Customer last name (will be hashed) |
city | string | - | No | Customer city (will be hashed) |
state | string | - | No | Customer state (will be hashed) |
country | string | "US" | No | Customer country code |
zipCode | string | - | No | Customer zip/postal code (will be hashed) |
externalId | string | - | No | Your unique customer identifier |
fbclid | string | - | No | Facebook click ID from URL parameter |
fbp | string | - | No | Facebook browser ID cookie value |
fbc | string | - | No | Facebook click ID cookie value |
eventTime | string | - | No | Event timestamp (ISO 8601 or Unix timestamp) |
eventSourceUrl | string | - | No | URL where the conversion occurred |
value | number | - | No | Monetary value of the conversion |
currency | string | "USD" | No | ISO 4217 currency code |
orderId | string | - | No | Unique order/transaction identifier |
contentIds | string | - | No | Comma-separated product/content IDs |
contentType | string | "product" | No | Type of content |
actionSource | string | "website" | No | Where the conversion originated |
isAlreadyHashed | boolean | false | No | Set to true if PII data is already SHA256 hashed |
webhookUrl | string | - | No | URL to receive results via webhook |
demoMode | boolean | true | No | Run with sample data for testing (no external API calls) |
*Required when Demo Mode is off.
Pricing
This actor uses pay-per-event billing:
| Event | Description | Price |
|---|---|---|
| Conversion Sent | Each conversion event sent to Meta CAPI | $0.01 |
Demo mode is free -- no charges for sample data.
Troubleshooting
"API key is required"
You have Demo Mode turned off but didn't provide an API key. Either:
- Turn Demo Mode on to test with sample data
- Add your API key in the input
"API error 403" or "Unauthorized"
Your API key is invalid, expired, or doesn't have access to this specific API endpoint. Double-check your key and account permissions.
"API error 429" or "Rate limit"
Too many requests. Wait a minute and try again, or reduce the number of items per run.
No results or empty dataset
Check the run log for error messages. Common causes:
- Invalid input format (check the examples above)
- API key without proper permissions
- The target data doesn't exist or is too small to track
How do I test without an API key?
Enable Demo Mode in the input. This returns realistic sample data so you can verify the output format works for your workflow.
Built by John Rippy | Actor Arsenal
