TikTok Pixel: setup and help

Quick start

  1. Upload the mprtiktokpixel ZIP through Modules > Module Manager > Upload a module.
  2. Click Configure and enter Pixel ID using the identifier for your intended TikTok Pixel.
  3. Review Exclude employees, Respect marketing consent and the standard event switches.
  4. Set Enable TikTok Pixel to Yes and save. Configure marketing/service and matching-data permissions in your consent tool.
  5. Open a customer browser with those permissions and check PageView, ViewContent, a successful AddToCart and InitiateCheckout.
  6. For server purchases, enable Enable TikTok Events API, enter Events API access token, save and verify the shared worker.
  7. Place a test order and check Purchase plus its queue result. To use Send API probe, first save a Test event code; clear the code after validation.

Requires PrestaShop 1.6 or later and PHP 7.1 or later.

Setup manual

Install and configure

Follow the steps in Quick start.

TikTok Pixel settings

Open Configure from Module Manager. You need an existing Pixel for your TikTok account. The configuration page shows required setup notices, tracking readiness and Events API diagnostics.

Setting Default What you configure
Enable TikTok Pixel No Enable the browser integration and configured server paths.
Pixel ID Empty The active validator accepts 1 to 128 letters, digits, underscores or hyphens. Enter the real ID, not a loader script.
Exclude employees Yes Add employee exclusion to the shared staff/opt-out policy.
Respect marketing consent Yes Require the applicable marketing/service decision.
Persist consent withdrawals No Persist authenticated withdrawals so older queued work can be suppressed.

Browser tracking requires both marketing/service permission and permission to send matching data. Storage permission alone is insufficient. The module supports consent decisions from Cookies Revolution, Cookie Banner, Cookiebot, OneTrust and TCF; configure and test the decisions your shop supplies. Unknown permission holds tracking. A detected supported CMP still applies if you turn off the module's consent switch.

The module also checks safe page/referrer context, staff state, ownership and outbound rules. It uses a verified Pixel-specific ttq instance. Remove duplicate or ambiguously initialized TikTok loaders before testing.

Standard event switches

All standard event switches default to Yes. Turn off any events you do not need.

Setting What it sends
Track PageView A Pixel page call on tracked pages.
Track ViewContent Product view with available catalogue data.
Track AddToCart A confirmed successful cart quantity increase.
Track InitiateCheckout Detected checkout entry with private cart context.
Track Search Search context with a sanitized query.
Track AddToWishlist Supported addedToWishlist success events with product identity.
Track CompleteRegistration Permitted account creation, consumed through private visitor context.
Track Purchase Eligible order confirmation and optional server purchase admission.

The module loads https://analytics.tiktok.com/i18n/pixel/events.js for your Pixel. Cart events require a confirmed successful quantity increase; an add-button click or updateCart notification alone is insufficient. Events include product IDs and quantity. Current prices and cart value are included only when confirmed.

Purchase data uses Purchase; CompletePayment is an internal alias. It includes the stable order-based event ID, order reference when available, value, currency and purchased contents. The default purchase value policy includes tax and shipping and subtracts discounts. These are provider defaults in this module, not separate settings fields.

Contact and product engagement settings

Track phone-link clicks, Track actual chat starts, Track successful contact forms and Track product engagement default to No. Phone clicks and supported actual Tawk chat starts map to Contact, with coarse signal metadata. Forms need a server-confirmed success receipt.

Confirmed form event defaults to Lead. Select SubmitForm only if you need that older mapping. Send confirmed forms through the server API defaults to No; turn it on only together with the form signal and API credentials. A form is sent from the server only when its receipt, the visitor's consent and the click attribution were recorded at submission; otherwise it is held. Form values are not copied into the event.

Use Product engagement thresholds for a JSON object. An empty stored field uses package defaults: 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_product_engagement behavior is once per product/session when storage is allowed.

Configure custom browser events

Track custom events defaults to No. Custom event rules starts empty. Add rules before enabling the switch. Names start with a letter and use letters, digits, underscores or hyphens, with a 50-character limit. Up to 50 rules and 50 distinct names are processed. Standard events, including PageView, Purchase, Contact, SubmitForm, Download and Subscribe, are reserved.

[
  {"event":"GalleryBrowse","trigger":"click","selector":".product-cover img","params":{"content_type":"product"},"once":false},
  {"event":"SizeGuideView","trigger":"url","contains":["/size-guide"],"params":{"content_type":"page"}},
  {"event":"ContactIntent","trigger":"controller","controllers":["contact"],"modules":["contactform"]},
  {"event":"ConfiguratorChanged","trigger":"event","dom_event":"product:configured","params":{"configurator_step":"finish"},"once":false}
]
document.dispatchEvent(new CustomEvent('product:configured'));

Use selector, contains, controllers/modules, or dom_event for the corresponding trigger. once defaults to true for all rule types in this module. The active runtime uses configured parameters and does not merge arbitrary DOM-event detail. Use configured rules instead of the old window.mprtkpxTrack helper.

Events API settings

Setting Default What you configure
Enable TikTok Events API No Enable eligible server purchases and optional confirmed forms.
Events API access token Empty Enter the token for the same Pixel. A nonempty token must have at least 8 characters.
Test event code Empty Enter 1 to 128 letters, digits, underscores or hyphens for test deliveries and the API probe. Clear it for production.
Send IP address and user agent Yes Retained permission control for original request match data. It does not authorize worker/operator IP or user-agent substitution.
Events API queue batch limit 20 Set 1 to 100 purchase queue events per worker run.

actionValidateOrder records the consent and identifiers from the buyer's own session and queues an eligible Purchase. A callback, webhook or a request without the buyer's session cannot provide them. The worker checks the original and current consent, matching permission, staff policy, destination and outbound rules again. A purchase without matching identifiers is held. An API token on its own is not enough to send purchases.

Server delivery covers purchases and optional server-confirmed forms. Standard browsing events and custom JSON rules send through the browser. Other frontend calls cannot be sent through the Events API.

Ensure your shared MPR cron runner executes:

task: send_tiktok_events_api_conversions
callable: mprtiktokpixel::cronProcessTikTokConversions
schedule: every:300
context: any
timeout: 30

Purchases use queue provider tiktok_events_api. The same worker processes a separate confirmed-form channel, with a batch of 20 for that channel. Browser and server purchases share the module's order-based event ID; validate provider reporting rather than assuming every queued event is accepted or attributed.

The module sends the purchase when the order is validated, which can be before the payment has settled. There is no setting to wait for a paid status, and no later resend when an order becomes paid.

Verify and troubleshoot

Check readiness, queue counts and recent HTTP/error rows in the configuration page. Use a customer browser and provider test tools to check page view, product view, successful cart change, checkout, registration and a test order. Test refusal and withdrawal as separate paths.

Send API probe needs a saved Test event code, credentials, tracking ownership and outbound permission. It sends a PageView marked with the test code, with an empty user object and your shop's root URL, not a made-up purchase. A successful probe shows that the connection works; it does not test real purchases or attribution. Clear the code after testing.

Retry failed events returns eligible failed purchase and form rows to pending. Rows without consent or recorded data, rows TikTok rejected permanently and rows whose delivery is uncertain stay as they are. Review the recorded reason before retrying.

If the Pixel does not load, check enabled state, Pixel ID, marketing/service and matching permissions, staff policy, safe URLs, duplicate SDKs and blocked requests. If cart or wishlist events are missing, confirm the expected success signals in your theme.

If purchases are missing from the server queue, check that the buyer's consent and identifiers were recorded when the order was validated; the confirmation page cannot add them later. Check API credentials, worker runs and matching identifiers. If custom JSON fails to save, check names, reserved events, trigger fields and rule limits.

The module does not create a product feed, catalogue or ad campaign. Configure those separately if you use them.

Disable or uninstall

Set Enable TikTok 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. Shared consent and delivery records are managed separately. Manage the Pixel and historical reports in TikTok.

Reference screenshots

Use the setting names above when a reference screenshot differs from your installed version.

TikTok Pixel, Tiktok pixel events

TikTok Pixel, Tiktok purchase tracking

TikTok Pixel, Admin tiktok custom events

TikTok Pixel, Tiktok click attribution

Questions

No questions about this module yet

Ask anything about installation, compatibility or setup. Answers appear here.

Known Issues

6

Tracking continues after consent changes

ResolvedUpdated:
Fixed in: 1.5.0
Tracking could use outdated consent or staff status, including on cached pages. Sending and customer matching now follow the current consent choices and exclusions.

Translated back-office text

ResolvedUpdated:
Fixed in: 1.4.0
Some back-office text remained in English even when another language was selected. Labels now use the available translations.

Module fails on PHP 7.1

ResolvedUpdated:
Fixed in: 1.3.7
The module could fail to load on shops running PHP 7.1. Compatibility with the supported PHP version has been restored.

Damaged translated text

ResolvedUpdated:
Fixed in: 1.3.6
Some translated module text displayed damaged punctuation or escaping. The affected translations have been repaired.

Compatibility with combined storefront assets

ResolvedUpdated:
Fixed in: 1.3.5
The module scripts or styles could be left out of PrestaShop asset combining. They now work with the shop performance settings.

TikTok pixel events fire before consent is granted when using a cookie banner

ResolvedUpdated:
Fixed in: 1.1.0

The TikTok pixel initializes and fires page_view immediately on script load, before the cookie consent banner has been accepted. This violates GDPR consent requirements.

Resolution note

Added integration with common cookie consent modules (including our Cookies Revolution). The pixel only initializes after marketing cookie consent is granted.

Feature Requests

12

Implemented

TikTok Events API purchase tracking with shared event IDs

Implemented
Queues purchase events for server delivery through TikTok Events API, using the same event ID as the browser pixel for deduplication. The access token and server tracking switch are configured in the module settings.

TikTok ecommerce events

Implemented
Track product views, cart additions, checkout starts, searches, wishlist additions and purchases with individual event switches.

TikTok Events API

Implemented
Send purchase events through the TikTok Events API, review queued events and retry failed deliveries from the back office.

Custom TikTok events

Implemented
Configure custom event rules for additional storefront interactions.

Tracking readiness checks

Implemented
See which TikTok connection settings are missing and whether browser and Events API tracking are ready.

Multilingual administration

Implemented
Use translated TikTok settings in German, French, Spanish, Italian and Polish.

One-click module updates

Implemented
Check for and install module updates from the back office.

Licence management

Implemented
View and manage the module licence from a dedicated back-office page.

Coordination with other TikTok integrations

Implemented
Respect the selected tracking integration for browser and Events API events, with a back-office explanation when another integration takes over.

Demo event previews

Implemented
Inspect the events produced by storefront actions in the live demo without sending those events to TikTok.

Optional contact and engagement events

Implemented
Enable additional contact and engagement signals when needed; these events are disabled by default.

Confirmed conversion reporting

Implemented
Report confirmed cart actions and check purchases for prior reporting before sending another event.

Changelog

v1.3.42026-08-19

  • AddedAdd TikTok custom event telemetry
  • AddedAdd TikTok Events API tracking
  • AddedAdd full TikTok Pixel ecommerce tracking
  • Addedcomplete FR/DE/ES/IT/PL translations
Older releases

v1.1.02026-05-19

  • Addedfull standard TikTok Pixel ecommerce event coverage: PageView, ViewContent, AddToCart, InitiateCheckout, Search, AddToWishlist, and Purchase.
  • Addedrich TikTok event payloads with product IDs, names, categories, values, currencies, item quantities, order IDs, and event IDs where available.
  • AddedAJAX-compatible AddToCart tracking and common PrestaShop wishlist tracking.
  • Addedcheckout-start detection for standard PrestaShop checkout routes and checkout-module URLs.
  • Addedevent toggles, employee exclusion, and marketing-consent gating in Back Office configuration.
  • Fixedconfig defaults so missing settings fall back safely without undefined-variable notices.
  • Addedthe shared MPR conversions package and refreshed shared admin/license/update/integrity package copies.
  • Confirmed lazy install-integrity banner, required Pixel ID warning, protected demo artifact, storefront Pixel script, and browser event output.

v1.0.22025-03-13

  • Previous public customer release.

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.
Launch demo shop

By downloading, you accept the demo terms and privacy policy.

By opening this demo you accept the demo terms and the privacy policy.

Loading...
Back to top