FAQ
Do I need both the pixel and the Conversions API? Meta recommends both. The pixel sees browser-only signals, and the server events survive ad blockers, iOS tracking prevention and closed tabs. With only a pixel ID the add-on runs the browser pixel alone. Add an access token to switch on the server side.
Will events be counted twice?
No. Each event has one event_id, used by the browser and the server, so Meta deduplicates the pair. Purchases use an ID derived from the order, which stays the same on reloads and late payments. Events are counted twice only if another integration loads the same pixel, such as the core Facebook pixel add-on or a pixel pasted into the theme. The settings page warns about other Meta pixel add-ons. Disable them or remove the code from the theme.
Does the checkout wait for Meta? No. Server events are written to a queue and sent after the page has been delivered, or by cron. If Meta is slow or down, events are retried later, for up to 7 days.
Which data is sent to Meta, and is it hashed?
Email, phone, names, city, state, zip, country, date of birth and the customer ID are normalised and hashed with SHA-256 on your server. The IP address, user agent and the _fbp/_fbc browser IDs are sent unhashed, as Meta requires. You can switch off any field, or the IP address, in the settings.
Is it GDPR compliant? The add-on supports compliant setups: with a consent banner nothing loads and nothing is sent before marketing consent, and declining drops the waiting events. Whether your setup is compliant depends on your banner, your privacy policy and your agreements with Meta. Ask your legal advisor.
Which consent banners are supported?
The CS-Cart cookie dialog (GDPR add-on), the Kavio Labs Cookie Consent add-on, and any banner that calls kvMetaCapi.consent(true|false) or implements the small window.kvConsent contract described in the Developer guide.
My server events show “Failed” with error #190. The access token is invalid or was revoked. Create a new token in Events Manager (pixel → Settings → Conversions API), save it, and click Retry failed events in the event log.
I see events only under “Test events”. A test event code is set. Clear the Test event code field and save.
Purchases from payment gateways arrive late. The server Purchase is sent when the order reaches one of the purchase statuses (Processed, Complete or Open by default). For gateways that confirm payment after the redirect, that is the moment the payment notification arrives. The browser Purchase still fires on the thank-you page, with the same event ID.
Why do I need a cron job if delivery is automatic?
You do not have to set one up. On servers without fastcgi_finish_request the add-on starts a background request to itself. Some hosts block these loopback requests. A cron job every 5 minutes guarantees delivery in every setup.
Does the catalog feed work with product variations?
Yes. Every variation is its own item, grouped with item_group_id. With Content ID = Product code, products without a code use their ID in both the feed and the pixel.
Multi-Vendor: why does the marketplace pixel get one Purchase per checkout, and the vendor pixel one per vendor order? The marketplace sells the whole checkout, so its pixel reports one Purchase with the full value. A vendor’s pixel should report only that vendor’s sale, so it gets the vendor’s own order.
Do vendor pixels receive customer data? No hashed customer data is sent to vendor pixels. They receive the events of their products and orders, with the browser identifiers (fbp, fbc, IP address, user agent) that the pixel would collect itself.
Which Graph API version should I use?
The default v26.0 was the newest version when this release was built (released 29 July 2026). Meta supports each version for about two years. Update the setting when Meta announces a new version. No other change is needed.
Can I send my own events?
In the browser, call kvMetaCapi.send({name: 'Contact', id: 'unique-id', data: {}}). It uses the same pixels and consent handling. See the Developer guide.
The pixel disappeared and the admin panel shows a license notice. Open Add-ons → Manage add-ons → Server-Side Tracking for Meta Pixel and Conversions API → Settings → License. The status line says what is wrong: no key, a key for another add-on, a revoked license, or a domain that the license does not cover. Fix it and click Check now. See License.
Does the add-on work on my staging copy?
Yes. Subdomains of your licensed domain (for example staging.example.com) and local development hosts (localhost, private IP addresses, *.local, *.test) are covered by the same license.
What happens if your license server is down? Nothing visible: the add-on keeps the last verified result and keeps working for 14 days while it retries. The admin panel shows a notice from the first failed check.
Does the license check slow down my storefront? No. The check runs in the admin panel or from cron, once a day. The storefront only reads the stored result.
Is this add-on made by Meta? No. Meta, Facebook and Instagram are trademarks of Meta Platforms, Inc. This add-on is made by Kavio Labs and is not endorsed by Meta.
Still stuck?
Section titled “Still stuck?”Work through the troubleshooting guide, then contact support with your CS-Cart version, edition, PHP version and the add-on version (1.1.1).