Snapchat Ads
Datafly Signal delivers conversion events to Snapchat server-to-server, replacing the client-side Snap Pixel with lightweight server-side delivery. This provides reliable campaign attribution and ad performance measurement without loading vendor JavaScript.
Prerequisites
Before configuring Snapchat Ads in Signal, you need a Snapchat Business account with a Snap Pixel created and an API key generated.
Create a Snapchat Business Account
- Go to business.snapchat.com and click Create Account.
- Enter your business name, email, and business details.
- Complete the account setup and verify your email address.
Create a Snap Pixel
- In Snapchat Ads Manager, navigate to Events Manager in the left sidebar.
- Click New Event Source > Snap Pixel.
- Name your Pixel (e.g. “Website Pixel”) and click Create.
- Note the Pixel ID — a UUID format string (e.g.
abc123de-f456-7890-gh12-ijkl34567890).
You do not need to install the Snap Pixel JavaScript snippet on your website. Signal replaces the client-side tag with server-side delivery.
Generate an API Key
- In Snapchat Ads Manager, go to Business Settings > API Access (or navigate to business.snapchat.com/ad-accounts).
- Click Generate API Key for server-side event delivery.
- Copy the API Key immediately — it may only be shown once.
Store the API key securely. If you lose it, you will need to generate a new one.
Configure in Signal
Now that you have your Pixel ID and API key, configure the integration in Signal.
Configuration Fields
| Field | Required | Description |
|---|---|---|
pixel_id | Yes | Your Snap Pixel ID (UUID format). Found in Snapchat Ads Manager under Events Manager. |
api_key | Yes | API key for server-side event delivery. Generated in Snapchat Business Manager under API Access. |
Vendor Click IDs
Signal automatically captures the following Snapchat click identifiers from URL parameters:
| Vendor ID | Parameter | Description |
|---|---|---|
sccid | sccid | Snapchat click ID. Used for click-through attribution. |
scid | scid | Snapchat campaign ID. Used for campaign-level attribution. |
These are captured automatically by the Datafly.js collector and forwarded with conversion events.
Management UI Setup
- Go to Integrations > Add Integration > Snapchat Ads.
- Enter your
pixel_idandapi_key. - Select consent categories (typically
advertising). - Click Save.
Management API Setup
curl -X POST http://localhost:8084/v1/admin/integrations \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"source_id": "src_abc123",
"vendor": "snapchat_ads",
"name": "Snapchat Ads Production",
"enabled": true,
"config": {
"pixel_id": "abc123de-f456-7890-gh12-ijkl34567890",
"api_key": "ak_snap_abc123..."
},
"consent_categories": ["advertising"]
}'Event Mapping
| Datafly Event | Snapchat Event | Notes |
|---|---|---|
page (page view) | PAGE_VIEW | Sent for every page view |
Order Completed | PURCHASE | Requires price, currency, transaction_id |
Product Added | ADD_CART | Includes item_ids, price |
Checkout Started | START_CHECKOUT | Includes price, currency |
Product Viewed | VIEW_CONTENT | Includes item_ids, content_type |
Lead Generated | SIGN_UP | Lead form submission |
Signed Up | SIGN_UP | User registration |
Products Searched | SEARCH | Includes search_string |
Product Added to Wishlist | ADD_TO_WISHLIST | Includes item_ids |
| Custom events | CUSTOM_EVENT_1 – CUSTOM_EVENT_5 | Mapped to Snapchat custom event slots |
Identity Signals
Automatic Signals
These are sent automatically by Signal — no configuration needed:
| Signal | Description |
|---|---|
sccid | Snapchat click ID, captured from URL parameters. |
scid | Snapchat campaign ID, captured from URL parameters. |
| IP address | Visitor’s IP address, forwarded from the original request. |
| User agent | Visitor’s User-Agent string, forwarded from the original request. |
User-Provided Signals
When a user is identified via _df.identify(), additional signals improve match quality:
| Signal | Description |
|---|---|
| Email (hashed) | User’s email address, SHA-256 hashed before sending. |
| Phone (hashed) | User’s phone number, SHA-256 hashed before sending. |
All PII hashing is performed server-side by the Delivery Worker before the data leaves your infrastructure.
Testing Your Integration
Step 1: Send a Test Event
- Trigger a page view or conversion event on your website.
- Check the Signal event debugger in the Management UI to confirm the event was captured and delivered.
Step 2: Verify in Snapchat Events Manager
- In Snapchat Ads Manager, go to Events Manager > your Pixel.
- Click on the Overview tab to see received events.
- Events should appear within a few minutes.
Step 3: Validate Attribution
- Create a test campaign with a small audience.
- Confirm that conversion events are attributed correctly in campaign reports.
- Check that
sccidclick IDs are being matched for click-through attribution.
Troubleshooting
| Problem | Solution |
|---|---|
| Events not appearing in Snapchat | Verify the pixel_id and api_key are correct. Check that the API key has not been revoked. |
| Authentication errors | Regenerate the API key in Snapchat Business Manager and update the integration config in Signal. |
Missing sccid or scid | These are captured from URL parameters when users click Snapchat ads. They will not be present for organic traffic. |
| Low match rate | Add user identity signals (email, phone) via _df.identify() when users log in or submit forms. |
| Events delayed | Snapchat may take up to 15 minutes to display server-side events. Allow time before investigating further. |
| Custom events not mapping | Snapchat supports up to 5 custom event slots (CUSTOM_EVENT_1 through CUSTOM_EVENT_5). Ensure your events are mapped to available slots. |
Visit Snapchat Ads documentation for full API documentation and credential setup instructions.