Рекламни платформи и онлайн магазини

TikTok Events API за Shopify: настройка и дедупликация

TikTok Events API изпраща покупките от Shopify към TikTok от вашия сървър. Научете за събитията, ttclid и _ttp, дедупликацията с event_id и тестването.

·Обновено на ·10 мин четене·От екипа на ROASaurus

Основни изводи
  • TikTok Events API изпраща събития за конверсия от сървър към TikTok, така че покупката да не зависи от това дали пикселът на TikTok работи в браузъра на купувача.
  • TikTok преименува CompletePayment на Purchase, но още приема старото име; за дедупликация пикселът и сървърът трябва да използват едно и също име.
  • TikTok дедуплицира събитие от пиксела и събитие от сървъра, когато и двете имат едно и също име на събитие и едно и също event_id, и записва първото копие, което получи.
  • Click ID ttclid, бисквитката _ttp, хешираните имейл и телефон, IP адресът и user agent са ключовете, които TikTok използва, за да съпостави събитие с човек.
  • Първо тествайте с код за тестово събитие и изключете пиксела във всяко друго приложение, което го изпраща, иначе TikTok брои покупките два пъти.

TikTok Events API е връзката на TikTok от сървър към сървър за данни за конверсии. Вместо да разчита само на пиксела на TikTok в браузъра на купувача, вашият магазин или инструмент като ROASaurus изпраща събития като покупки директно към TikTok. TikTok препоръчва да пускате Events API заедно с пиксела и да ги дедуплицирате с общо event_id.

Това ръководство обхваща какво изпраща Events API от магазин в Shopify, имената на събитията Purchase и CompletePayment, click ID-то и бисквитката, по които TikTok съпоставя, как работи дедупликацията, как се тества в TikTok Events Manager и как да настроите всичко в ROASaurus.

Какво е TikTok Events API?

Пикселът на TikTok е скрипт във вашия магазин. Той задейства събитията от браузъра на купувача, така че отчита само това, което се случва, докато скриптът се зарежда и работи. Блокер на реклами, грешка в скрипт или купувач, който затвори раздела, преди да се зареди потвърждението на поръчката, могат да го спрат.

Events API изпраща същия вид събитие от сървър. В Shopify най-надеждният запис на покупка е самата поръчка. Shopify съобщава за всяка платена поръчка чрез webhook, независимо дали скриптът в браузъра се е изпълнил. Това е идеята зад проследяването от страна на сървъра в Shopify.

Двете не са алтернативи. Съветът на TikTok е да споделяте събития и през двете, да ги поддържате съгласувани по пътя на пазаруване и да оставите TikTok да премахне дубликатите.

Пиксел на TikTok (браузър)
  • Работи в браузъра на купувача
  • Може да бъде спрян от блокери на реклами и грешки в скриптове
  • Споделя IP адреса и user agent по подразбиране
  • Задейства прегледи на страници и събития от разглеждането, докато се случват
Events API (сървър)
  • Работи на сървър, от данните на поръчката ви
  • Не зависи от зареждането на скрипт в браузъра
  • Изпращачът трябва да добави IP адреса и user agent
  • Изпраща всяка платена поръчка, дори когато пикселът не се е задействал
TikTok препоръчва и двете: пиксела за сигнали от браузъра и Events API за всяка поръчка, с дедупликация чрез едно event_id.

Кои събития ROASaurus изпраща към TikTok?

Четири момента в магазин в Shopify са важни за оптимизацията на TikTok: разглеждане на продукт, добавяне в количката, началото на плащането и покупката. ROASaurus изпраща и четирите към Events API и задейства същите четири през пиксела на TikTok, със същите ID-та на събитията. Прегледите на страници минават само през пиксела.

Действие на купувачаСъбитие в TikTokПиксел (браузър)Events API (сървър)
Разглежда страницаПреглед на страницаДаНе
Разглежда продуктViewContentДаДа
Добавя в количкатаAddToCartДаДа
Започва плащанеInitiateCheckoutДа, с пиксела за страницата за плащанеДа
Завършва поръчкаCompletePaymentДа, с пиксела за страницата за плащанеДа, от поръчката
Всяко събитие, което минава и по двата пътя, носи едно ID на събитието, така че TikTok да може да запази едно копие.

В настройките на пиксела можете да махнете отметката от събития от сървъра, които не искате да изпращате, и да добавите филтри, като държава или минимална стойност на поръчката.

Purchase или CompletePayment?

TikTok преименува събитието си за покупка. Текущото име е Purchase. Старото име, CompletePayment, още работи: TikTok преобразува старите имена от своя страна, показва ги под новото име в отчитането, аудиториите и оптимизацията и казва, че CompletePayment ще се поддържа безсрочно. TikTok моли новите настройки на пиксела да използват Purchase.

ROASaurus изпраща CompletePayment, както в пиксела, така и в Events API. В TikTok Events Manager и Ads Manager тези събития се показват като Purchase. За дедупликацията има значение двете копия на една покупка да използват едно и също име на събитие, и те го правят.

Как TikTok съпоставя събитие с купувач?

Едно събитие помага на кампаниите ви само ако TikTok може да го свърже с човека, който е видял или кликнал върху рекламата. TikTok нарича тези идентификатори ключове за съпоставяне (match keys), а ръководството му за Events API ви моли да подавате обратно всички подходящи ключове за съпоставяне, за да повишите процента на съпоставяне. Events Manager показва резултата като оценка Event Match Quality, претеглена средна стойност на това колко често присъства всеки ключ за съпоставяне.

Ключ за съпоставянеОткъде идваИзпраща се като
ttclidClick ID, който TikTok добавя към URL адреса на целевата страница, когато някой кликне върху рекламаСтойността както е
бисквитка _ttpFirst-party бисквитка на пиксела на TikTok в домейна на вашия магазинСтойността както е
ИмейлПоръчката в ShopifySHA-256 хеш
ТелефонПоръчката в ShopifySHA-256 хеш
external_idID на клиента в Shopify или ID на посетителя в ROASaurusSHA-256 хеш
IP адрес и user agentСесията на купувача при плащане или поръчкатаСтойността както е
TikTok изисква имейл, телефон и external_id да бъдат хеширани. Click ID, бисквитката, IP адресът и user agent се изпращат такива, каквито са.

TikTok отбелязва, че пикселът споделя IP адреса и user agent по подразбиране, но Events API изисква те да бъдат добавени ръчно. ROASaurus ги взема от сесията на купувача при плащане или от поръчката, ако няма сесия. Два други ключа изискват внимание в Shopify.

ttclid: click ID на TikTok

Когато купувач кликне върху реклама в TikTok, TikTok добавя ttclid към URL адреса на целевата страница. Ако магазинът ви не го запази на тази първа страница, той е изгубен до момента, в който пристигне поръчката, няколко страници по-късно. ROASaurus чете ttclid на целевата страница, съхранява го с ID на посетителя, записва го в количката в Shopify и го добавя към събитието от сървъра, когато поръчката постъпи.

_ttp: бисквитката на пиксела

Бисквитката _ttp е first-party бисквитка, която пикселът на TikTok използва във вашия домейн. ROASaurus я чете във витрината и при плащането и я изпраща като ttp в събитието от сървъра. Това е още една причина да държите пиксела включен до Events API.

Пример: покупка, както ROASaurus я изпраща към Events API (хешовете са съкратени)
{
  "event_source": "web",
  "event_source_id": "CXXXXXXXXXXXXXXXXXXX",
  "data": [{
    "event": "CompletePayment",
    "event_time": 1793016000,
    "event_id": "order-5512345678901",
    "user": {
      "email": "a3f1…9c2e",
      "phone": "7b40…11d8",
      "external_id": "e05c…4a7f",
      "ttclid": "E.C.P.v3…",
      "ttp": "2Xb7…",
      "ip": "203.0.113.24",
      "user_agent": "Mozilla/5.0 (iPhone; …)"
    },
    "page": { "url": "https://example-store.com/checkouts/…/thank-you" },
    "properties": {
      "currency": "USD",
      "value": 84,
      "content_type": "product",
      "contents": [{ "content_id": "44123456789", "content_name": "Linen shirt", "quantity": 2, "price": 42 }],
      "order_id": "5512345678901"
    }
  }]
}

Как работи дедупликацията?

Когато пикселът и Events API отчетат една и съща покупка, TikTok получава две събития за една поръчка. За да запази само едно, TikTok се нуждае от две стойности, които да са еднакви и в двете копия: името на събитието и event_id. Тогава TikTok записва първото получено копие за измерване и отчитане, така че поръчката се брои веднъж. Това работи за съвпадащи копия, които пристигат в рамките на 48-часов прозорец от първото.

ROASaurus изгражда ID на събитието за покупка от ID на поръчката в Shopify. Покупката от поръчка 5512345678901 има ID на събитието order-5512345678901, както в пиксела за страницата за плащане, така и на сървъра. Събитията във витрината, като разглеждания на продукти и добавяния в количката, получават случайно ID, когато се случат, и копието от браузъра и копието от сървъра го споделят.

Плащането е завършеноПикселът за страницата за плащане задейства CompletePayment с event_id order-5512345678901.
Платена поръчкаShopify изпраща платената поръчка на ROASaurus чрез webhook.
Events APIROASaurus изпраща CompletePayment със същото event_id и хеширани данни от поръчката.
TikTokСъщото име и същото event_id: една покупка се брои.
Две копия на една покупка стигат до TikTok. Общото event_id позволява на TikTok да я преброи веднъж.

Ето какво означава това за числата. Вземете примерен магазин с 200 поръчки за една седмица. Пикселът се задейства за 150 от тях. Другите 50 купувачи са използвали блокер на реклами, отказали са маркетинговите бисквитки или са си тръгнали, преди да се зареди страницата за потвърждение. Events API изпраща всичките 200.

Събития Purchase, които TikTok записва за една седмица (примерен магазин, 200 поръчки)
Само пиксел
150
Само Events API
200
Пиксел и Events API, различни ID-та
350
Пиксел и Events API, общо event_id
200
Без общо event_id 150 поръчки се броят два пъти. С него TikTok записва всяка от 200-те поръчки по веднъж.

350 е числото, от което трябва да се безпокоите. То би направило броя на покупките в TikTok, а и основания на него ROAS, с 75% по-високи от реалността, защото 350 ÷ 200 = 1.75. TikTok използва тези събития и за оптимизация и таргетиране, така че наддаването му би се учило от 150 покупки, които не са се случили.

Защо покупките се броят два пъти в Shopify?

Двойното отчитане се случва, когато TikTok получи две копия на покупка, които не може да съпостави. Проверете тези причини, преди да се доверите на скок в покупките в TikTok:

  • Два инструмента изпращат един и същ пиксел. Приложението за канал за продажби на TikTok в Shopify също може да изпраща събития за вашия пиксел. ID-тата на неговите събития не съвпадат с тези, които използва ROASaurus, така че TikTok брои всяка поръчка два пъти. Изключете пиксела в това приложение.
  • Пикселът е и в кода на темата ви. Кодов фрагмент на пиксел, поставен в темата, задейства собствени събития без вашите ID-та на събития. Премахнете го и оставете един инструмент да зарежда пиксела.
  • На едната страна липсва event_id. Покупка от сървъра без event_id или с ново случайно ID не може да бъде съпоставена с копието от пиксела.
  • Имената на събитията се различават. TikTok дедуплицира само идентични събития. И двете копия на една покупка трябва да използват едно и също име на събитие.

Помощната статия за двойното отчитане преминава през същите проверки за Meta и другите платформи.

Как да тествате Events API в TikTok Events Manager?

TikTok Events Manager има раздел Test events както за събития от браузъра, така и за събития от сървъра. Използвайте го, преди да разчитате на данните:

  1. Копирайте код за тестово събитие

    В TikTok Events Manager отворете пиксела си и отидете на Test events. Копирайте кода за тестово събитие.

  2. Поставете го в ROASaurus

    Отворете Tracking & platforms, редактирайте пиксела на TikTok и поставете кода в полето Test event code. Събитията от сървъра вече го носят.

  3. Направете тестова поръчка

    Посетете магазина си, разгледайте продукт, добавете го в количката и завършете поръчка.

  4. Проверете и двете страни

    В Test events филтрирайте по събития от браузъра и от сървъра. Трябва да видите покупката и от двете. В ROASaurus Event log показва всяка доставка от сървъра като изпратена или неуспешна.

  5. Премахнете тестовия код

    Изтрийте кода за тестово събитие, когато приключите, така че събитията ви от сървъра на живо да не се изпращат вече като тестови.

TikTok може да отговори на заявка с HTTP 200 и пак да отхвърли събитието, с код за грешка в тялото на отговора. ROASaurus чете този код, така че отхвърленото събитие се показва като неуспешно в Event log, вместо да мине мълчаливо.

След един ден на реален трафик отворете прегледа на пиксела в Events Manager. Той изброява всяко събитие с метода му на свързване, оценката Event Match Quality и кога е било получено за последно. Подробностите за събитието включват информация за съпоставянето и дедупликацията, а Diagnostics изброява проблеми с качеството с насоки как да ги поправите.

Как да настроите TikTok Events API в Shopify с ROASaurus

Нужен ви е магазин в Shopify с приложението на ROASaurus и достъп до TikTok Events Manager. Страницата за интеграция с TikTok изброява всяко поле, което изпраща ROASaurus.

  1. Свържете магазина си в Shopify

    Отидете в Add a store › Shopify, кликнете върху Install app и включете вграждането на приложението ROASaurus в редактора на темата. Вграждането улавя ttclid и бисквитката _ttp на всяка страница. Ръководството за настройка на Shopify показва всяка стъпка.

  2. Добавете пиксела за страницата за плащане

    В Shopify admin › Settings › Customer events добавете персонализиран пиксел с име ROASaurus и поставете кодовия фрагмент от страницата си Tracking & platforms. Той задейства пиксела на TikTok при плащането, включително копието на покупката от браузъра.

  3. Създайте токен за достъп

    В TikTok Events Manager отворете пиксела си и генерирайте токен за достъп до Events API в настройките му. Копирайте токена и кода на пиксела.

  4. Добавете пиксела на TikTok в ROASaurus

    Отидете в Tracking & platforms, кликнете върху Add pixel в картата на TikTok и попълнете Pixel code и Events API access token. Оставете отметнато Also load the browser pixel (recommended, deduplicated), така че събитията от браузъра и от сървъра да споделят ID-та.

  5. Добавете разходи (по избор)

    Попълнете Advertiser ID for spend и Marketing API token. Тогава ROASaurus импортира разходите за TikTok, така че кампаниите в TikTok показват ROAS и CPA до другите ви канали.

  6. Тествайте, после пуснете на живо

    Изпратете тестова поръчка с код за тестово събитие, както е описано по-горе, после премахнете кода.

При включена опция Respect visitor consent, която е по подразбиране, ROASaurus следва избора на купувача в банера за бисквитки на Shopify. Когато купувач откаже маркетинговите бисквитки, ROASaurus не зарежда пиксела на TikTok за него, не задава ID на посетителя, така че кликванията му не се свързват с него, и не изпраща събитията му от разглеждането към TikTok. Платената му поръчка пак се изпраща към Events API от сървъра, с хеширани данни от поръчката и с IP адреса и user agent на поръчката, но без ttclid или _ttp. Ръководството за съгласието и поверителността обяснява какво се запазва и изпраща.

След като разходите са синхронизирани, кампаниите в TikTok се появяват в отчетите за атрибуция до Meta, а анализът на креативите добавя статистиките за видео на TikTok по реклами. ROASaurus приписва поръчките на кликванията върху реклами и UTM-ите, които е записал, и брои конверсии след преглед (view-through) само като моделирана оценка в своя модел Clicks & views, така че общите му суми обикновено се различават от TikTok Ads Manager. За другите платформи с проследяване от страна на сървъра вижте ръководството за Pinterest Conversions API и ръководството за Meta Conversions API.

Източници

  1. TikTok For Business: About Events API
  2. TikTok Ads Manager: About Event Deduplication
  3. TikTok Ads Manager: How to Adopt TikTok's Updated Standard Events
  4. TikTok Ads Manager: How to set up matching events with Events API
  5. TikTok Ads Manager: About diagnostic and monitoring tools in TikTok Events Manager

В ROASaurus

Продължете да четете

Рекламни платформи и онлайн магазиниПроследяване на конверсии при плащане при доставка и външни страници за плащанеПроследяване на конверсии при плащане при доставка: защо пикселите пропускат такива поръчки, както и поръчките от външни страници за плащане, кога да изпратите покупката и как да се справите с отказани поръчки.Рекламни платформи и онлайн магазиниПроследяване на конверсии в CCV Shop: ръководство за настройкаПроследяване на конверсии в CCV Shop: изпращайте платените поръчки към Meta и TikTok с подписан webhook, свържете ги с кликванията върху реклами, настройте, тествайте и обработвайте късните плащания.Рекламни платформи и онлайн магазиниEnhanced conversions на Google Ads в ShopifyEnhanced conversions добавят хеширани данни за клиентите към покупките в Google Ads от Shopify. Как работят, с какво се различават от офлайн импортите и как се настройват.
ЧЗВ

Въпроси и отговори

Едно и също ли са CompletePayment и Purchase в TikTok?

Да. CompletePayment е старото име на събитието за покупка на TikTok. TikTok го преобразува от своя страна, показва го като Purchase в отчитането и казва, че ще продължи да поддържа старото име.

Нужен ли ми е още пикселът на TikTok, ако използвам Events API?

TikTok препоръчва да използвате и двете. Пикселът добавя сигнали от браузъра, като бисквитката _ttp, Events API изпраща всяка поръчка, а общо event_id пречи на TikTok да брои покупка два пъти.

Какво е ttclid?

ttclid е click ID, който TikTok добавя към URL адреса на целевата страница, когато някой кликне върху реклама. Запазете го, когато купувачът пристигне, и го изпратете с покупката, така че TikTok да може да свърже поръчката с кликването.

Колко дълго TikTok чака, за да дедуплицира събития?

TikTok дедуплицира събития със същото име на събитие и event_id, които пристигат в рамките на 48-часов прозорец от първото. Записва първото получено копие за измерване и отчитане.

Нужно ли ми е и приложението на TikTok в Shopify?

Не. Ако го запазите, изключете пиксела в приложението на TikTok. Неговите събития имат различни ID-та, така че TikTok би броил всяка покупка два пъти.

Изпращат ли се покупките, когато купувач откаже бисквитките?

При включена опция Respect visitor consent ROASaurus не зарежда пиксела и не свързва click ID-та с този купувач. Платената поръчка пак се изпраща от страна на сървъра с хеширани данни от поръчката и с IP адреса и user agent на поръчката.

Всяка продажба, проследена до рекламата, която я е донесла

Проследяване от страна на сървъра, печалба и пожизнена стойност на клиента в едно приложение. 14-дневен безплатен пробен период, без кредитна карта.

Започнете безплатния си пробен период →