Server-Side Tracking for Meta Pixel and Conversions API
Add-on ID: kv_meta_conversions_api · Edition: CS-Cart & Multi-Vendor · Latest version: 1.1.1 · Compatible with: CS-Cart & Multi-Vendor 4.17.2 – 4.21.x, PHP 7.4 – 8.3 · Changelog: view
The add-on sends your store’s shopping events to Meta through two channels at once: the Meta Pixel in the visitor’s browser and the Conversions API from your server. Each event carries the same event_id on both channels, so Meta counts it once, and the server copy still arrives when an ad blocker, Safari or iOS blocks the browser pixel. Customer data used for matching is normalised and SHA-256 hashed on your server before it leaves the store. Server events go through an asynchronous queue with retries, so pages and checkout never wait for Meta. Firing is consent-aware: nothing loads and nothing is sent before marketing consent when a consent banner is present. A product catalog feed (CSV or XML) uses the same content IDs as the pixel, ready for Advantage+ catalog ads. On Multi-Vendor, vendors can add their own pixel.
Key features
Section titled “Key features”- Standard events: PageView, ViewContent, Search, AddToCart, AddToWishlist, InitiateCheckout, AddPaymentInfo, Purchase, Lead (newsletter, call request) and CompleteRegistration. Each event can be switched on or off separately for the browser and for the server.
- Deduplication: one
event_idper event, shared byfbq('trackSingle', …, {eventID})and the Conversions API. Purchases use a stable ID derived from the order, so reloads and late payments never double count. - Advanced matching: email, phone (with country calling code), first and last name, city, state, zip, country, date of birth and external ID, normalised by Meta’s rules and hashed with SHA-256, for both the pixel and the server events.
- fbp/fbc handling:
_fbpand_fbcare read and passed with every server event. After consent the add-on creates them as first-party cookies on the server, and anfbclidfrom the ad click is kept until consent and turned into_fbc. - Async delivery with retries: events are queued and sent in batches right after the page is delivered (or by cron). Temporary errors are retried with backoff (1 min to 3 h). Meta’s 7-day limit is respected.
- Event log: every server event with its payload, Meta’s response, status and attempts, under Marketing → Meta events log, with filters and Send queued events now / Retry failed events actions.
- Test mode: a test event code routes server events to Test events in Events Manager, and a Send a test event button checks the pixel ID and token in one click.
- Consent-aware: works with the CS-Cart cookie dialog (GDPR add-on), with the Kavio Labs cookie consent add-on, and with any banner through a small documented JavaScript and PHP contract. Limited Data Use for US state privacy laws is one checkbox.
- Catalog feed: CSV or RSS 2.0 XML for Meta Commerce Manager with title, description, availability, price and sale price, link, images, brand, variation group, category path and MPN.
- Multi-Vendor: optional vendor pixels. A vendor’s pixel receives the events of their products and their own orders, and every vendor gets a catalog feed URL of their own.
- Conflict warning: the settings page warns when the core Facebook pixel add-on, or another Meta pixel add-on, is active on the same store.
- Graph API version as a setting. Default
v26.0, the version Meta released on 29 July 2026.
Compatibility
Section titled “Compatibility”| CS-Cart / Multi-Vendor | 4.17.2 – 4.21.x (tested on CS-Cart 4.17.2, Multi-Vendor 4.17.2 and Multi-Vendor 4.21.2) |
| PHP | 7.2.5 – 8.3 (the code is PHP 7.4-compatible; tested with PHP 8.1 and 8.3) |
| Themes | Responsive and themes based on it (Bright theme and child themes) |
| Optional | GDPR add-on (cookie dialog), Kavio Labs Cookie Consent, Product variations, Wishlist, Newsletters, Call requests |
How it works in one paragraph
Section titled “How it works in one paragraph”The page head gets a small configuration with the pixel ID, the hashed advanced-matching data and the events of the page, each with its event_id. At the same moment the server builds the Conversions API copy of each event (same name, same event_id, plus IP address, user agent, fbp, fbc and hashed customer data) and stores it in a queue table. Cart and wishlist changes are detected on the server by comparing the session cart at the start and the end of each request, so AJAX add to cart works without theme changes. When the page has been delivered, the queue is sent to Meta in batches. Before consent, the browser keeps its events in memory and the server keeps its copies in the session. Accepting sends both. Declining drops both. Purchases are sent from the server once, when the order reaches a paid status you choose, with the browser context saved at checkout.
Trademarks
Section titled “Trademarks”Meta, Facebook and Instagram are trademarks of Meta Platforms, Inc. This add-on is made by Kavio Labs and is not endorsed by Meta. “for Meta Pixel and Conversions API” describes compatibility only.
Documentation
Section titled “Documentation”- Installation: install, then set up Meta Events Manager step by step
- Configuration: every setting
- Usage: events, deduplication, consent, the queue and event log, the catalog feed, vendor pixels
- Developer guide: the consent contract, hooks, JavaScript API, data model
- FAQ