- Destinations
- Offline Conversions
Snapchat Offline Conversions API
Overview
Section titled “Overview”Signals sends conversions that happened away from your website to Snapchat: in-store purchases, phone orders, bookings and outcomes recorded in a CRM. Snapchat uses them to attribute conversions to your campaigns and to optimize delivery.
Use this destination when the conversion lives in a system Signals can read, such as a CRM, a file drop, a database or a warehouse.
Supported sources
Section titled “Supported sources”Sources supported by Snapchat Offline Conversions API
| Category | Supported |
|---|---|
| API | |
| CRM | |
| Database | |
| File & storage | |
| Warehouse |
Prerequisites
Section titled “Prerequisites”Before connecting Snapchat Offline Conversions API, make sure you have:
- A Snapchat Ads account.
- A Snapchat Business Manager account.
- A Pixel ID and an Access Token generated in Snapchat Ads Manager. See Authentication for where to find both.
- A source connected in the same project. The identifiers and event details Snapchat receives come from that source mapping, not from this destination.
Authentication
Section titled “Authentication”In Studio, open Destinations, find Snapchat, and click the Offline Conversions API tile. This connector uses credential entry.
- Enter your Pixel ID and Access Token.
- Click Finish.
| Field | What it is | Where to find it |
|---|---|---|
| Pixel ID | The identifier of the Snapchat asset events are written to. | Snapchat Ads Manager, Events Manager. |
| Access Token | A credential authorizing Datahash to send events on your behalf. | Ads Manager, then Business Details, then Conversions API Tokens, then Generate Token. |
There is no separate validation step on this connector, so the credentials are only exercised once events begin to flow. Check Events Manager after the first sync rather than assuming success.
Manage instance
Section titled “Manage instance”To change the instance, open it from Manage Instances, use the menu in the top right and choose Edit, update the fields and click Finish. Cancel keeps the previous configuration running, so updates apply only after you finish.
Deduplication
Section titled “Deduplication”Deduplication happens on the basis of the event ID. Map a stable value from your source, such as a transaction ID, so re-reading a file does not report the same conversion again.
The event ID is set by the source mapping, not here.
Data & identifiers
Section titled “Data & identifiers”Send identifiers already hashed where you can. Plain text also works: they are normalized and SHA-256 hashed before they reach Snapchat.
Required
Section titled “Required”| Field | When it is required |
|---|---|
| Event time | Always. UNIX timestamp. Use the time of the conversion, not the time of upload. |
| Event name | Always. |
| Last modified date | Always. |
| Action source | Always. Where the conversion happened. |
| Email address | One of email address or phone number. |
| Phone number | One of email address or phone number. Up to three values. |
| Currency | Purchase events only. The three-letter currency code. |
Recommended
Section titled “Recommended”All of these raise the share of conversions Snapchat can match to a person who saw your ads.
| Field | Format |
|---|---|
| First name | Letters only, lowercase, trimmed, no punctuation. |
| Last name | Letters only, lowercase, trimmed, no punctuation. |
| City | Letters only, lowercase, trimmed, no punctuation. |
| State or region | In the US, the two-character code in lowercase. Elsewhere, the region name in lowercase with no punctuation or spaces. |
Optional
Section titled “Optional”| Field | Format |
|---|---|
| Email address 2 and 3 | Two further addresses per person. |
| Gender | As your source records it. |
| Month and day of birth | Day and month only. |
| Country | Two-letter country code in lowercase. |
| Postcode | Lowercase, no spaces. |
| External ID | A unique ID of your own, such as a loyalty membership number. |
| Snapchat click ID | Present only where the person arrived from a Snapchat ad. Where you hold it, it is the strongest single match signal available. |
| Client user agent | Sent as your source holds it. |
| Client IP address | Sent as your source holds it. |
| Value | Optional here even on purchase events, unlike most other destinations. Send it anyway, or Snapchat cannot report revenue. |
| Transaction ID | A stable reference for the conversion. It is what deduplication depends on. |
| Product detail | Type, name, category, IDs, brand and quantity. |
| Number of items | How many items the conversion covered. |
| Subscription ID | Where the conversion relates to a subscription. |
| Delivery method | How the order was fulfilled. |
| Predicted lifetime value | Your own estimate for the customer. |
| Customer status | New, returning or reactivated. |
Best practices
Section titled “Best practices”- Send the value on purchase events even though it is optional, or your reporting will show conversions with no revenue attached.
- Map a stable transaction ID, or a re-read file will count every conversion again.
- Use the conversion time as the event time rather than the upload time.
- Check Events Manager after the first sync. There is no credential validation step to catch a bad token earlier.
Troubleshooting & FAQ
Section titled “Troubleshooting & FAQ”No events appearing in Events Manager. Because there is no validation step, a wrong Pixel ID or token surfaces here first. Re-check both, and confirm a source is connected and sending.
Conversions arrive with no revenue. The value field is not mapped. It is optional on this connector but nothing reports revenue without it.
Duplicate conversions. The transaction ID is missing or changes between exports.
Low match rates. Add the recommended name and location fields, and check formatting at source.
Delivery stopped. The access token may have expired or been revoked. Generate a new one in Ads Manager and update the instance.

