The usual WooCommerce setup: Snapchat for WooCommerce
Most stores start with Snapchat for WooCommerce, the free extension listed by WooCommerce on WordPress.org and in the Woo Marketplace. It syncs your product catalog to Snapchat for Dynamic Ads, installs the Snap Pixel and, according to Woo's documentation, sets up a Conversions API token in Snap's Business Manager so it can send events server to server as well. It connects through a WordPress.com (Jetpack) account and replaces the older Snapchat Pixel for WooCommerce plugin, which you should remove (plugin page and docs, checked October 2026).
For catalog sync and Dynamic Ads it's the natural choice, and you can keep it. The questions on this page are about the purchase signal: does every paid order reach Snap, with the ad click, exactly once?
Why WooCommerce loses Snapchat sales
- The in-app browser. A tap on a Snap ad opens your store inside Snapchat. Buyers who then switch to Safari or Chrome to pay with saved cards start a new session with new cookies, and the pixel there doesn't know about the click.
- Coming back later. Someone sees your product on Snapchat, closes the app and buys days later by typing your URL. Without a stored click, that order looks like direct traffic.
- Payment methods that leave your site, such as PayPal, iDEAL in a bank app, Klarna or a hosted card page. The buyer pays and closes the tab, so the order-received page where browser tags report the purchase never loads.
- Ad blockers and strict privacy settings, which block the Snap Pixel.
- Cookie banners and script-delay settings in optimization plugins, which can hold the pixel back on exactly the page that matters.
What Snap needs to link a purchase to an ad
Snap's event for a completed order is PURCHASE. To match it to a person and an ad, Snap uses what arrives with the event:
- ScCid: Snapchat's click id, added to your landing URL when someone taps an ad.
- The _scid cookie the Snap Pixel sets in the browser.
- Hashed email and phone number (SHA-256).
- IP address and user agent from the visit.
- Order id, value and currency.
Which WooCommerce orders should count as PURCHASE
Snap optimizes purchase campaigns toward the purchases you report. If unpaid orders count, it learns to find people who start a bank transfer and never finish it. Only paid orders belong in Snap:
- Processing or Completed after a successful payment: send it.
- On hold (bank transfer, cash on delivery): wait until the order is actually paid.
- Pending payment, Failed, Cancelled, Refunded or a checkout draft: don't send it.
- Processing turning into Completed is the same order and must not create a second PURCHASE.
How Settl sends WooCommerce orders to Snapchat
The Settl Tracking plugin saves the ScCid when a visitor lands from a Snap ad and keeps it in a first-party cookie for 90 days. If the Snap Pixel has set its _scid cookie, the plugin reads that too. At checkout the click is stored on the order itself, and hashed email and phone go along too, which helps Snap match buyers who switched browsers before paying.
When WooCommerce marks the order paid, the plugin passes it to Settl, which sends a PURCHASE event to the Snapchat Conversions API from the server. It carries the order number as order_id, the value and currency, the ScCid and _scid, hashed email and phone, and the visitor's IP address and user agent. Custom statuses you use after payment, such as Shipped, still count as paid.
Every hour Settl asks the plugin for the paid orders of the past week and sends any that are missing, so a hosting hiccup or a slow payment confirmation doesn't cost you the sale. With server-side shopping steps switched on, page views, product views, searches, add to cart and checkout starts go to Snap from the server as well.
How Snap removes duplicates, and how to avoid double counts
Snap treats a pixel event and a Conversions API event as one conversion when they belong to the same pixel, have the same event name and share an identifier. The first check is the pixel's client_dedup_id against the API's event_id, within 48 hours. For PURCHASE there's a fallback: the pixel's transaction_id against the API's order_id, within 30 days (Snap's developer docs, checked October 2026).
Settl's plugin doesn't add the Snap Pixel to your store, so its event ids won't match a pixel from another plugin. What can match is the order: Settl sends the WooCommerce order number as order_id. If your Snap Pixel reports the same order number as transaction_id, Snap can merge the two. If it doesn't, or a second plugin also sends PURCHASE through its own Conversions API connection, pick one source for purchases.
To check, compare a week of PURCHASE events in Snap Events Manager with your paid WooCommerce orders from Snapchat. Purchases close to double the real number mean two sources are reporting the same sales.
Your options on WooCommerce (checked October 2026)
Snapchat for WooCommerce is free, published by WooCommerce, and covers catalog sync, the pixel and a Conversions API connection in one place. If Snapchat is a small channel for you, that may be all you need.
Pixel and server-side plugins such as Conversios let you configure the Snap Pixel and Conversions API next to other platforms from one settings screen. Connector services such as Datahash or AbleCDP link WooCommerce to Snap through their own platforms. A Google Tag Manager server container gives you full control if you're comfortable running and maintaining it.
Settl focuses on the purchase: paid orders only, the click kept for 90 days, sent from the server and rechecked every hour. The same plugin covers Meta, TikTok, Google Analytics 4 and Google Ads, Pinterest, X, Microsoft Advertising and Reddit, so you don't need a separate setup per platform.
How to check it works
Tap one of your own Snap ads on your phone and check that ScCid is still in the address bar when your store opens. A redirect or link shortener that drops it means no click can be saved.
Then place a real order with a payment method that leaves your site and close the tab right after paying. In Snap Events Manager, a PURCHASE with your order's value should still appear. Judge Snapchat over a week or more: buyers who saw your ad often come back later, and the saved click is what lets Snap see its part.