GTM, dataLayer és widget: útmutató ügynökségeknek
A Bookinda foglalási eseményei, paraméterei, a dataLayer formátuma, a hozzájárulási jelzések és a weboldalba ágyazott foglaló mérése
GTM, dataLayer és widget
Ez a cikk a szalon marketingesének vagy ügynökségének szól: milyen eseményeket ad a Bookinda foglaló, milyen formában, és hogyan mérhető a szalon Bookinda-oldalán és a saját weboldalába ágyazott foglalóban.
Események
| A vendég lépése | GA4 / dataLayer | Meta | TikTok | Google Ads |
|---|---|---|---|---|
| A foglaló megnyílik | booking_open | |||
| Látja a kínálatot | view_item_list | ViewContent | ViewContent | |
| Szolgáltatást választ | add_to_cart | AddToCart | AddToCart | |
| Időpontot választ | select_time_slot | SelectTimeSlot (egyéni) | ||
| Az adatai megadásához ér | begin_checkout | InitiateCheckout | InitiateCheckout | |
| Fizet vagy véglegesít | add_payment_info | AddPaymentInfo | AddPaymentInfo | |
| A foglalás kész | booking_completed | Schedule | Schedule | Foglalás címke |
| Az online fizetés sikeres | purchase | Purchase | Purchase | Online fizetés címke |
- booking_completed minden foglalásnál megy (jóváhagyásra váró és fizetés nélküli is), purchase csak online fizetésnél.
- A Meta Schedule / Purchase eseménye ugyanazt az azonosítót kapja, mint a szerveroldali Conversions API-küldés (schedule_ / purchase_ előtag + foglalás-azonosító), így a Meta nem számolja kétszer. A TikTok ugyanezt az event_id-t kapja, de csak a böngészőből: szerveroldali TikTok-küldés nincs.
Paraméterek
- ecommerce: currency, value, transaction_id (foglalásnál a foglalás azonosítója, fizetésnél deposit_ előtaggal), items (item_id, item_name, item_category, price, quantity), payment_type.
- A korábbi, lapos kulcsok is megmaradtak az eseményen (value, currency, transaction_id, items, foglalásnál service_name és approval_pending), így a már beállított GTM-változók nem romlanak el.
- booking_surface: booking_page (a Bookinda-oldal), widget (a weboldalba ágyazott foglaló), embed (a régi, iframe-es beágyazás).
- widget_id: a mentett widget azonosítója, ha több widget van több oldalon.
- location_id: a helyszín azonosítója, ha már ismert.
- new_customer (első foglalás a szalonnál): csak a booking_completed és a purchase eseményen.
- approval_pending: csak a booking_completed eseményen.
- payment_type: card, transfer, on_site, barion, simplepay, teya.
Név, e-mail-cím és telefonszám soha nem kerül az eseményekbe.
A dataLayer formátuma
A GA4 e-commerce sémát követjük. Minden e-commerce esemény előtt ürítjük az előzőt, így a GTM nem fésüli össze a termékeket:
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: "booking_completed",
booking_surface: "widget",
widget_id: "w_8f2c",
new_customer: true,
ecommerce: {
transaction_id: "cmb7f3e21",
value: 18900,
currency: "HUF",
items: [{ item_id: "svc_102", item_name: "Arckezelés, 60 perc",
item_category: "Kozmetika", price: 18900, quantity: 1 }]
}
});
A GTM-ben egyéni eseményindítóval (Custom Event, eseménynév: booking_completed) és dataLayer-változókkal (ecommerce.value, ecommerce.transaction_id) építhető a GA4 vagy bármilyen más címke.
A szalon Bookinda-oldalán
- A GTM-konténert a Bookinda tölti be, nonce-szal, így a Custom HTML címkék is futnak, az egyéni JavaScript-változókkal együtt. A konténer a szalon címén (szalon.bookinda.hu) és saját domainjén fut.
- Nem töltődik be a bookinda.hu fő címén, a vendégfiókban, a belépésnél, a lemondásnál, az átfoglalásnál és a fizetési oldalakon. Akkor sem, ha a címben foglalási kulcs van, vagy ha ugyanebben a böngészőben ugyanezen a címen munkatársi belépés él (a mérési módot ilyenkor privát ablakban próbáld).
- A konténert csak a szalon tulajdonosa állíthatja be, mert tetszőleges kódot futtathat a foglalóoldalon.
- A Google hozzájárulási mód (Consent Mode v2) jelei a konténer előtt a dataLayer-ben vannak: alapból minden denied, a vendég döntése frissíti (analytics_storage, ad_storage, ad_user_data, ad_personalization). A címkék beépített hozzájárulás-ellenőrzése ezt használja.
- Alap módban a konténer csak a marketing-hozzájárulás után töltődik be, haladó módban azonnal. A Google-címkék a hozzájárulási jelzéseket maguktól követik, a többi címkénél (Meta, TikTok, LinkedIn és a többi) a konténerben állítsd be a hozzájárulás-ellenőrzést.
- Ha a konténer egy külső szkriptet tölt be, annak a hosztját engedélyeznünk kell (a gyakori hirdetési és elemző eszközöké engedélyezve van). Ha valami nem töltődik be, szólj az ügyfélszolgálatnak.
A saját weboldalba ágyazott foglaló (widget)
A mai widget a weboldalon belül fut, ezért:
- a fenti események a weboldal dataLayer-ébe kerülnek, és a weboldal gtag-ja is megkapja őket (a booking_open kivételével). Ezeket mindig átadjuk, a weboldal GTM-je és Google-címkéi a saját hozzájárulási beállításaik szerint dolgozzák fel;
- a Meta és a TikTok eseményeit a weboldal saját pixele kapja, de csak marketing-hozzájárulással (lásd lent);
- a weboldal süti-sávja adja át a vendég döntését. A sáv visszahívásában:
BookindaBookingWidget.setConsent({ analytics: true, marketing: true });
Ha a döntés már a widget betöltése előtt ismert, a widget szkriptje elé is beírhatod:
window.bookindaConsent = { analytics: true, marketing: false };
Ha a weboldal nem adja át a döntést, a weboldal már betöltött pixele számít jelnek (azt a weboldal süti-sávja csak elfogadás után tölti be). A szerveroldali Meta-küldés ilyenkor akkor megy, ha a pixel sütije (_fbp) megvan. A kifejezett átadás mindig erősebb.
A régi, iframe-es beágyazás
Az iframe-es foglaló öt eseményt ad át üzenetben: booking_open, view_item_list, begin_checkout, booking_completed és purchase. A beágyazó szkript a weboldal dataLayer-ébe tolja őket (ugyanabban a formában, a lapos kulcsokkal és az ecommerce blokkal), és egy bookinda:event DOM-eseményt is küld. A weboldal gtag-jának csak akkor adja tovább, ha a beágyazó kódban data-gtag="true" szerepel, így aki eddig a bookinda:complete eseményre mért, nem mér duplán. A keretben nem fut mérőkód: a Meta és a TikTok böngészős eseményét a weboldal a GTM-ből küldheti. A döntés átadása:
BookindaWidget.setConsent({ analytics: true, marketing: true });
A bookinda:complete esemény a foglalás adatait adja, személyes adat nélkül (azonosító, időpont, érték, szolgáltatások).
Ellenőrzés
- Mérési mód: a foglalóoldal címe után ?bk_debug=1. A mérőpanel lépésenként mutatja az eseményt, az adatokat és a címzetteket. A böngésző konzolján is megjelenik minden esemény.
- GTM Előnézet (Tag Assistant) a foglalóoldal vagy a weboldal címével.
