Snapchat Pixel: setup and help
Quick start
- Upload the
mprsnapchatpixelZIP through Modules > Module Manager > Upload a module. - Click Configure and enter Pixel ID using 8 to 128 letters, numbers, underscores or hyphens, as required by the form.
- Review Exclude employee browsing, which defaults to No, and choose the standard event switches you need.
- Set Enable Snapchat Pixel to Yes and save. Configure marketing/service consent in your CMP before browser testing.
- Open a customer browser with the required consent and confirm
PAGE_VIEW,VIEW_CONTENTand a successfulADD_CART. - For server purchases, enable Enable Conversions API events and Capture buyer purchase evidence, enter Conversions API access token, and save before placing the test order.
- Place a test order and inspect
PURCHASE, its matching IDs and queue outcome. Verifysend_snapchat_conversions; use real consented test traffic rather than the non-sending API probe.
Requires PrestaShop 1.6 or later and PHP 7.1 or later.
Setup manual
Install and configure
Follow the steps in Quick start.
Snapchat Pixel settings
Open Configure from Module Manager. You need a Pixel for your intended Snapchat account. The settings page contains event switches, custom JSON, Conversions API fields and diagnostics.
| Setting | Default | What you configure |
|---|---|---|
| Enable Snapchat Pixel | No | Enable the integration after entering a Pixel ID. |
| Pixel ID | Empty | The configuration form requires 8 to 128 letters, digits, underscores or hyphens. |
| Exclude employee browsing | No | Enable it to add employee exclusion to the shared staff policy. Opt-out/internal-traffic rules still apply. |
| Capture buyer purchase evidence | No | Turn on before testing server purchases. Records the buyer's consent, and whether the buyer is a staff member, when the order is validated. |
| Persist consent withdrawals | No | Enable private persistence that suppresses earlier accepted purchase/contact work after a marketing withdrawal. |
This form has no Respect cookie consent switch. The active browser runtime checks marketing/service permission through the shared reader. It supports Cookies Revolution, Cookie Banner, Cookiebot, OneTrust and TCF signals. Unknown consent holds delivery. Configure and test the consent decision your shop supplies.
The runtime also checks destination ownership, staff state, outbound policy and Pixel binding. It refuses to adopt an unrelated existing snaptr or foreign Snapchat SDK. Remove duplicate Pixel loaders from your theme or other modules.
Standard events
All standard switches default to Yes. Turn off events you do not need.
| Setting | Trigger |
|---|---|
| Track PAGE_VIEW | Eligible storefront page. |
| Track VIEW_CONTENT | Product page with available catalogue data. |
| Track ADD_CART | Confirmed successful cart quantity increase. |
| Track ADD_TO_WISHLIST | Supported wishlist success event with product identity. |
| Track START_CHECKOUT | Detected checkout entry with private cart context. |
| Track SEARCH | Search context with a sanitized term. |
| Track PURCHASE | Eligible order confirmation and optional server purchase admission. |
| Track SIGN_UP | Permitted registration marker retrieved privately after account creation. |
Add-to-cart events come from the shared detector that waits until the shop reports a successful cart change, not from button clicks. The sign-up marker expires after 30 seconds and is checked before the event is sent.
Browser output loads https://sc-static.net/scevent.min.js. Product and purchase data can include available IDs, contents, quantity, value and currency. Purchase events use a stable event identity derived from the order. Browser client_dedup_id and server event_id support correlation; confirm the result in your Snapchat reporting.
Contact signals and custom slots
Track phone-link clicks, Track actual chat starts, Track successful contact forms and Track product engagement default to No. Phone target, Chat target, Form target and Engagement target start empty.
Select an explicit account-configured CUSTOM_EVENT_1 through CUSTOM_EVENT_5 target for each enabled signal. Enabled signals must use distinct slots. Actual chat starts use the supported Tawk notification. Forms require a server-confirmed success receipt.
Send confirmed forms through the server API defaults to No. Turn it on only together with the form signal, a form slot and API credentials; it sends forms from visitors whose original click attribution was recorded. Form field values are not added to the match data. The event is held when the slot, the receipt, the source URL or the matching data is missing.
Use Product engagement thresholds for JSON configuration. Defaults are 3 gallery interactions, 1 variant change, 1 detail interaction or 45 seconds, with a 1500 ms option throttle. Counts accept 1 to 20, dwell 5 to 600 seconds, and throttle 250 to 60000 ms. The default high-intent event is limited per product/session when storage is allowed.
Configure custom events
Track custom events defaults to No. Custom event rules starts empty. Add at least one valid rule before enabling the switch. Choose snap_event_name explicitly for every rule. The readable event is kept as custom_event_name; the outgoing Snapchat event uses its selected slot.
[
{"event":"GalleryBrowse","trigger":"click","selector":".product-images img,.images-container img","snap_event_name":"CUSTOM_EVENT_1","params":{"property":"product_gallery"},"capi":true,"once":false},
{"event":"SaleLandingView","trigger":"url","urls":["/sale","/promo"],"snap_event_name":"CUSTOM_EVENT_2","capi":true},
{"event":"ContactPageView","trigger":"controller","controllers":["contact"],"snap_event_name":"CUSTOM_EVENT_3","capi":false},
{"event":"BrandModuleVisit","trigger":"controller","modules":["ps_brandlist"],"snap_event_name":"CUSTOM_EVENT_4","capi":true},
{"event":"SizeGuideOpened","trigger":"event","dom_event":"mpr:size-guide-opened","snap_event_name":"CUSTOM_EVENT_5","capi":true,"once":false}
]
document.dispatchEvent(new CustomEvent('mpr:size-guide-opened'));
Use 1 to 64 letters, digits, underscores or hyphens in event. The parser processes up to 20 rules, 20 URL/controller/module entries per rule and 30 parameters per object. It strips reserved identity fields such as event_id, client_dedup_id, event_source_url and snap_event_name from params so rules cannot supply delivery identity.
once defaults to false for clicks and true for URL, controller and DOM-event rules. capi defaults to true; the server copy is sent only with the visitor's original consent, a visitor who is not staff, and usable matching data. Rules use their configured parameters; the old data-mpr-snapchat-* element attributes are not read.
Conversions API settings and worker
| Setting | Default | What you configure |
|---|---|---|
| Enable Conversions API events | No | Enable eligible server conversions. |
| Conversions API access token | Empty | Enter the token for this Pixel. |
| Test event code | Empty | Set a provider test code for real test deliveries. Clear it for production. |
| Queue batch limit | 20 | Set 1 to 100 events per worker run. |
Server purchases need Capture buyer purchase evidence turned on before the order is placed. A callback, webhook or cron request cannot stand in for the buyer's session. The worker uses the stored consent and attribution and checks withdrawals, staff status, ownership and outbound rules again. A purchase recorded without this data is held.
Original Snapchat attribution may include ScCid from a query/cookie and _scid from a cookie. The module does not retain these identifiers in its own cookies or browser storage for 30 days, or read all alternative names for them. Availability depends on the original buyer journey. Server purchase matching discards worker IP/user-agent data and includes optional customer hashes only with the corresponding matching permission.
The module forwards eligible non-purchase browser events to the Conversions API through a private session token. Purchases use their own order pipeline, and sign-ups are queued by the module itself on the first page view after the account is created.
Ensure your shared MPR cron runner executes:
task: send_snapchat_conversions
callable: mprsnapchatpixel::cronProcessSnapchatConversions
schedule: every:300
context: any
timeout: 30
The shared queue uses provider snapchat, with a separate confirmed-form channel. Queue cleanup uses 30 days for sent rows and 90 days for other old rows. Review ambiguous or terminal delivery rather than assuming every failure is safe to resend.
Verify and troubleshoot
Check readiness rows, token status, queue counts and recent errors in the configuration page. Retry failed events returns eligible failed Snapchat event and form rows to pending. It cannot send rows that lack consent data, were withdrawn, or whose destination changed.
The displayed Send API probe action does not fabricate a conversion. It instructs you to use Snapchat Events Manager test traffic with a real consented event and a configured test code. Confirm both browser events and server queue outcomes with a test order.
If the SDK is absent, check enabled state, Pixel ID, marketing/service consent, staff policy, ownership, assets and blocked or duplicate SDKs. Test outside your employee browser if employee exclusion is on.
If server purchases are missing, check that Capture buyer purchase evidence was on before the order, then the API credentials, the buyer's original session and consent, matching identifiers and worker runs. Reloading the confirmation page later cannot add data that was not recorded with the order. If custom events fail to save, add an explicit slot and check rule limits and trigger fields.
Disable or uninstall
Set Enable Snapchat Pixel to No and save to pause this integration. Uninstall through Module Manager to remove its menu, cron registration and module configuration. The shared queue table is kept if another module uses the conversion package; otherwise its uninstall helper drops that table. Delivery records are kept separately by the shared schema. Manage your Pixel and historical reports in Snapchat.
Reference screenshots
Use the setting names above when a reference screenshot differs from your installed version.
![]()
![]()
![]()
Questions
No questions about this module yet
Ask anything about installation, compatibility or setup. Answers appear here.
Known Issues
8
Consent changes were not respected consistently
Staff traffic exclusions were inconsistent
Available translations did not appear
Module icon appeared blank
Module could fail to load on PHP 7.1
Tracking requests failed on PrestaShop 9
Asset combination could break storefront tracking
Diagnostics were not fully translated
Feature Requests
12
Implemented
Queued server events for Snapchat Conversions API
Snapchat shop event tracking
Snapchat Conversions API
Custom event configuration
Conversion delivery checks
Back-office module updates
Installation checks
Additional administration languages
Tracking ownership coordination
Event preview without sending
Optional contact and engagement events
Confirmed cart and coordinated purchase tracking
Changelog
v1.3.72026-05-27
- AddedValidate Snapchat custom events
- AddedAdd Snapchat conversion cron readiness
- AddedAdd Snapchat Conversions API tracking
- AddedComplete snapchat pixel tracking release
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedLocalize snapchat pixel diagnostics
- FixedHarden Snapchat Pixel custom-event readiness
Older releases
v1.3.02026-05-22
- AddedSnapchat Conversions API v3 support with queueing, retry handling, API probe diagnostics, and server-side purchase/browser event payloads
- AddedCAPI deduplication by sending the same browser client_dedup_id as the server event_id
- AddedScCid and _scid capture for stronger Snapchat attribution, alongside hashed customer and IP/user-agent match data
- Addedwishlist, sign-up, and configurable custom event tracking, including demo Gallery Browse coverage
- Addedfloating demo telemetry monitor, live event stream, CAPI readiness preview, and demo auto-configuration
- Refreshed shared MPR admin and conversion packages for current release parity
v1.3.02026-05-22
- AddedSnapchat Conversions API v3 support with queueing, retry handling, API probe diagnostics, and server-side purchase/browser event payloads
- AddedCAPI deduplication by sending the same browser client_dedup_id as the server event_id
- AddedScCid and _scid capture for stronger Snapchat attribution, alongside hashed customer and IP/user-agent match data
- Addedwishlist, sign-up, and configurable custom event tracking, including demo Gallery Browse coverage
- Addedfloating demo telemetry monitor, live event stream, CAPI readiness preview, and demo auto-configuration
- Refreshed shared MPR admin and conversion packages for current release parity
v1.1.02026-05-20
- Addedrequired configuration checks for Pixel ID and browser tracking state
- Addedlazy install-integrity banner on the configuration page
- Addedshared package parity for admin, license, update, integrity, schema, config, compat, and conversions helpers
v1.3.12026-05-08
- Addeddirect add-to-cart click fallback so Classic/Hummingbird themes still emit ADD_CART when the PrestaShop updateCart event bus is attached after the module header script
- Preserved server-side CAPI bridge deduplication for add-to-cart fallback events
v1.2.02026-03-03
- Addedstandard browser Pixel events: PAGE_VIEW, VIEW_CONTENT, ADD_CART, START_CHECKOUT, SEARCH, and PURCHASE
- Addedproduct, cart, checkout, search, and order payloads with content IDs, value, currency, item count, order ID, event ID, and client deduplication ID where available
- Addedevent toggles in the Back Office configuration page
- Addedinstall-integrity and required-configuration warnings when the Pixel ID is missing
- Updatedthe release package to the shared MPR packaging and integrity stack
v1.0.02025-03-26
- InitialSnapchat Pixel integration for PrestaShop
- Addedasynchronous Snap Pixel loader
- Addedpurchase tracking on order confirmation
- AddedMPR license, support, update, and integrity Back Office tabs
Demo
Test the full module before you buy
Buy a licence later and keep your settings.
- Your 30-day demo Test it on your own shop for 30 days from the first install.
- Ready demo shop Explore a ready demo shop in your browser.
- No registration No account, email or store domain needed.
By downloading, you accept the demo terms and privacy policy.
By opening this demo you accept the demo terms and the privacy policy.