A mobile audience, an in-app browser, and almost nothing that persists
The click leaves the Snapchat app inside an in-app browser that shares nothing with the main one. If the click identifier is not captured server-side on arrival, it will no longer exist when the order is placed.
The problem
Why Snapchat measures so poorly without a server send
Everything that makes this channel effective works against browser-side measurement.
The in-app browser is a dead end
What is written in the app's internal browser does not exist in Safari or Chrome. A buyer who returns outside the app is, as far as measurement is concerned, an entirely new person.
A mobile audience in a hurry
Sessions are short and tabs close fast. The order confirmation page, where the pixel fires, is precisely the one least likely to be reached and held.
Lower volume, less tolerance
On a smaller-volume channel, a handful of missing conversions is enough to make a campaign look unprofitable. The margin for error is thinner here than elsewhere.
Match keys
What Snapchat accepts, and what we send
Personal data is SHA-256 hashed on your server. IP address and user agent are not, per version 3 of the API.
- sc_click_id
- The Snapchat click identifier, captured when the visitor lands. It is the strongest key on this channel and also the most fragile: it disappears as soon as the browsing context changes.
- sc_cookie1
- The identifier set by the Snapchat pixel, sent unhashed. It takes over when the click identifier is gone, which happens as soon as the buyer leaves the app.
- em, ph, external_id
- Email, phone and customer id, SHA-256 hashed. The phone is normalised from the buyer's actual country, never an assumed one.
- client_ip_address, client_user_agent
- Sent in the clear, with the visitor's real values. Version 3 of the API does not want a hashed IP, unlike the previous version.
Snapchat's rules
Constraints we respect on your behalf
Taken from the Conversions API parameter reference.
Consent denied, nothing sent
If the visitor declines advertising tracking, nothing goes to Snapchat. Unspecified consent limits the payload to click identifiers, with no personal data.
IP and user agent unhashed
Version 3 expects both fields in the clear. Hashing them, as the previous version did, means sending a value Snapchat cannot match, with no error anywhere to say so.
Deduplication with the pixel
The pixel and the server send must share a transaction identifier, otherwise the same sale is counted twice. Trackful generates it deterministically from the order.
Your platforms
Snapchat on Shopify and on WooCommerce
Shopify
The theme extension captures the click identifier on the landing page and carries it across visits. The Web Pixel and the webhook feed the same purchase, deduplicated.
Trackful for ShopifyWooCommerce
The click identifier is stored in a server-set cookie valid for one year, which escapes the limits applied to cookies written in JavaScript.
Trackful for WooCommerceSetup
Connected in minutes
- 1
Enter the pixel
Pixel id and access token, from your Snapchat Events Manager.
- 2
Send a test
A test conversion goes out immediately and you confirm Snapchat received it.
- 3
Switch the channel on
Once delivery is confirmed, leave the channel running. Trackful alerts you if sends stop landing.
Questions
Frequently asked
Should I keep the Snapchat pixel?
Yes. The pixel and the Conversions API complement each other, and the shared transaction identifier stops the same sale being counted twice. The pixel also remains useful for browsing events.
Why is the in-app browser a problem?
Because it has its own storage, separate from Safari or Chrome. An identifier written during the in-app visit is unreadable when the buyer returns from their usual browser. Capturing it server-side on arrival is the only way to keep it.
Does Snapchat accept backdated conversions?
We could not find a publicly documented age window for this channel. Trackful therefore does not filter events on that basis here, rather than inventing a limit that would drop valid conversions.
Is my customer data sent in the clear?
Email, phone and customer id are SHA-256 hashed on your server. IP address and user agent are sent in the clear, because version 3 of the Snapchat API requires it.
Trackful is not affiliated with or endorsed by Snap. Snapchat is a trademark of Snap Inc., referenced here to identify the service Trackful sends your conversions to.
Stop paying for results you cannot measure
Every day without Trackful is a day you make ad decisions with only 60% of the data. Install Trackful in 5 minutes and see the difference.