Snapchat Conversions API
This guide explains how to configure the Conversions API events AdTarget sends to Snapchat when users join your Telegram channel.
When Are Events Sent?
AdTarget sends an event to Snapchat only for attributed joins — meaning joins where AdTarget can match the Telegram join back to a specific ad click on your landing page. This requires the invite_link to be present in Telegram’s webhook.
Events are sent when a user clicks your tracked invite link and Telegram reports it in the webhook (reliable for private channels).
Events are NOT sent for organic joins — users who find your channel via search, direct links, or forwarded messages. These joins still appear in your AdTarget dashboard but are marked as “organic.”
Public channel limitation: Due to a Telegram API limitation, even users who click your tracked link may be treated as organic joins on public channels. Telegram’s app (especially Android) often converts invite-link joins into “direct joins” for public channels, stripping the attribution data. Learn more →
Available Event Types
AdTarget maps its event types to Snapchat’s standard events:
| AdTarget Event | Snapchat Event | Best For | Snapchat Optimization |
|---|---|---|---|
| Lead | SIGN_UP | Lead generation campaigns | Optimizes for signups |
| Purchase | PURCHASE | Purchase-focused campaigns | Optimizes for purchase actions |
| CompleteRegistration | SIGN_UP | Signup-focused campaigns | Optimizes for signups |
| Subscribe | SUBSCRIBE | Subscription campaigns | Optimizes for subscription intent |
| Custom | CUSTOM_EVENT_1 | Specialized tracking | Custom optimization |
Choosing the Right Event
Running lead gen ads? Use Lead (maps to Snapchat’s SIGN_UP) — This tells Snapchat “this person signed up / became a lead.”
Selling a product or service? Use Purchase (maps to PURCHASE) — Best when you want Snapchat to optimize for buyers. Pair it with a value and currency in your channel’s conversion config for value-based optimization.
Running signup campaigns? Use CompleteRegistration (maps to SIGN_UP) — Signals a completed registration action.
Promoting a channel subscription? Use Subscribe (maps to SUBSCRIBE) — Matches the user action (joining = subscribing).
Need a non-standard event? Use Custom (maps to CUSTOM_EVENT_1) — For specialized tracking scenarios that don’t fit the standard types.
Tip: Match your event type to your campaign objective in Snapchat Ads Manager for best results.
Configuring Events
Event types are configured per channel. Each channel defaults to CompleteRegistration when first detected.
To change a channel’s event type:
- Go to your site’s Settings → Channels tab
- Click Setup (or Edit) on the channel row
- Select your event type in the dialog
- Click Save
Event Parameters
Each event AdTarget sends to Snapchat includes these parameters:
Required Parameters
| Parameter | Description |
|---|---|
event_type | The Snapchat event name (SIGN_UP, PURCHASE, etc.) |
timestamp | ISO 8601 timestamp of the join (milliseconds) |
event_tag | Tag for event categorization |
Attribution Parameters
| Parameter | Description |
|---|---|
sc_click_id | The Snapchat Click ID (ScCid) from the ad click |
User Data
| Parameter | Source | Hashed? |
|---|---|---|
hashed_external_id | Telegram user ID | Yes (SHA-256) |
hashed_ip_address | IP from landing page visit | No (sent as-is) |
user_agent | Browser from landing page visit | No (sent as-is) |
The external_id (Telegram user ID) is SHA-256 hashed before sending, as required by Snapchat. IP address and user agent are sent as-is per Snapchat’s Conversions API specifications.
Custom Fields
| Parameter | Description |
|---|---|
price | Event value (if configured per channel) |
currency | Currency code (defaults to "USD") |
description | Channel title or custom name from channel config |
Event Deduplication
AdTarget includes a unique event_id with each event to prevent duplicates:
event_id: "adtarget_{conversion_id}"This ensures the same conversion isn’t counted twice, even if retried.
Testing Events
Test in Production
The most reliable way to test end-to-end:
- Click your own Snapchat ad (or use a test ad)
- Visit your landing page
- Join your Telegram channel via the tracked invite link
- Check Snapchat Events Manager within 5-10 minutes
Verify in Snapchat Ads Manager
- Go to Events Manager
- Select your pixel
- Look for your event type with recent timestamps
- Verify the event shows as “Received”
Event Matching
Snapchat matches your events to users for attribution. Higher match quality means better optimization.
Match Quality Factors
| Factor | Impact |
|---|---|
| ScCid present | High - Direct click attribution |
| User agent + IP | Medium - Probabilistic matching |
| External ID | Medium - Cross-device matching |
Improving Match Quality
- Capture ScCid: Ensure your landing page URL preserves the
ScCidparameter - Send events promptly: Shorter time between click and conversion improves matching
- Consistent user journey: Keep users on your domain before redirecting to Telegram
Common Event Configurations
Lead Generation
AdTarget Event: Lead → Snapchat Event: SIGN_UP
When: User joins channel
Use Case: "Get subscribers" campaignsPurchase Tracking
AdTarget Event: Purchase → Snapchat Event: PURCHASE
When: User joins channel
Use Case: "Buy now" campaigns with value-based optimizationContent Subscription
AdTarget Event: Subscribe → Snapchat Event: SUBSCRIBE
When: User joins channel
Use Case: "Subscribe to channel" campaignsTroubleshooting
Events not matching?
- Check
ScCidis in the landing page URL - Verify Snapchat Pixel is also on the landing page
- Ensure cookies aren’t blocked
Low event match rate?
- Reduce time between click and conversion
- Verify
ScCidis being captured from the URL - Ensure IP and user agent are available
Duplicate events?
- AdTarget handles deduplication automatically via
event_id - If seeing duplicates, contact support
Best Practices
- Match event type to campaign objective for better optimization
- Use the same event type consistently within a campaign
- Monitor event delivery in Snapchat Events Manager regularly
- Test before scaling ad spend
Next Steps
Your Snapchat integration is complete! Start running ads and watch your conversions flow into Snapchat.
Need help optimizing? Contact our support team.