autoPage: false. Your page-view tag sends page views. Without this, the pixel also sends one when it loads, and you get two.- No
spaoption. Sendsequen("page", …)from a tag on every page load and every route change instead.
Load the pixel
- Google Tag Manager
page_type and item_id from your data layer. In Google Tag Manager, wrap each call in <script> tags in a Custom HTML tag.
Send events
Each event tag or rule gets onesequen(…) call, filled from your data layer. Most can start as copies of tags you already have: copy the tag, keep its trigger and variables, and swap the call.
From a GA4 ecommerce data layer
If your site already pushes GA4 ecommerce events to the data layer, map them like this:
GA4’s
index starts at 0, and Sequen’s rank starts at 1. For example, a Google Tag Manager tag on the view_item_list event, with a Data Layer Variable DLV - ecommerce for ecommerce:
From the Meta or TikTok pixel
Field changes:
- Item ids. Meta’s
content_ids, or thecontent_idof each entry in TikTok’scontents, becomeitem_ids. When there is only one, as onViewContentandAddToWishlist, send it asitem_idinstead. - Items. Each entry in
contentsbecomes an entry initems, withitem_id,quantityandprice. - Revenue.
valuebecomesrevenue. Addorder_id. - Customer id. TikTok’s
ttq.identify({ external_id })becomesuserIdin the load tag, orsequen("identify", id). Send the raw customer id, not a hash, and never an email address or phone number. - Consent. Meta’s
fbq("consent", "revoke" / "grant")and TikTok’sholdConsent/grantConsent/revokeConsentbecomeconsent: "pending"ininit, thensequen("consent", "granted")orsequen("consent", "denied"). - Cookies. TikTok’s
ttq.disableCookie()becomescookies: falseininit.
Test
Adddebug: true to the init options, for example only in your tag manager’s development environment, and follow Test, then go live.
