Bandlov vidjeti hodisalarini saytingizda tinglang

Vidjet sahifangizga u qachon ochilgani, mehmon qaysi ekranda ekani, nimani tanlagani va qachon band qilgani haqida xabar beradi. Bu window hodisalaridan voronka qurish, xabar koʻrsatish yoki ularni istalgan analitika vositasiga yuborish uchun foydalaning.

7 daq oʻqish Marketing, kuzatuv va integratsiyalar 12.09.2026 yangilandi

Bandlov vidjeti saytingizga joylangach, mehmon unda nima qilayotganini sahifaga xabar qilib turadi: panel ochilishi va yopilishi, bandlovning har bir ekrani, har bir javob va bandlovning oʻzi. Bularning har biri window obyektidagi brauzer hodisasi, shuning uchun dasturchingiz — yoki Google Tag Manager bilan ishlaydigan kishi — bandlov voronkasini qurishi, kimdir band qilganda sahifani oʻzgartirishi yoki qadamlarni istalgan analitika vositasiga yuborishi mumkin.

Hodisalar

HodisaQachon yuboriladievent.detail nimani qoʻshadi
taptime:openSuzuvchi bandlov paneli ochiladi. Sahifa ichidagi shakl doim ochiq, shuning uchun u bu hodisani hech qachon yubormaydi.
taptime:closeSuzuvchi panel yopiladi — mehmon uni qanday yopishidan qatʼi nazar.
taptime:stepBandlovning biror ekrani koʻrsatiladi.step, step_index, step_count
taptime:choiceMehmon ekrandagi savolga javob beradi.step, field, value, label
taptime:bookingBandlov qilinadi.confirmed, booking_id, event_id, party_size, service_name, value, currency
taptime:eventYuqoridagilarning har biri, ikkinchi marta.event — u takrorlayotgan hodisaning nomi: open, close, step, choice yoki booking

Har bir hodisa oʻz maʼlumotlarini event.detail ichida olib keladi. Ikki maydon doim bor: company — joylash kodingizdagi data-company qiymati — va booking_type: stollar uchun reservation, xizmatlar uchun appointment.

Hodisani tinglang

Vidjet turgan sahifaning oʻziga window.addEventListener va hodisa nomi yozilgan skript qoʻshing. U joylash kodidan oldin ham, keyin ham turishi mumkin. Quyidagi skript bandlov tasdiqlangach “Hozir band qiling” bannerini yashiradi:

Mehmon band qilgach bannerni yashirish
<script>
  window.addEventListener('taptime:booking', function (event) {
    if (event.detail.confirmed) {
      document.getElementById('book-banner').hidden = true;
    }
  });
</script>

Bandlov darhol tasdiqlansa, confirmed qiymati true boʻladi, jamoangiz hali qabul qilishi kerak boʻlgan soʻrov boʻlsa — false. value (currency bilan birga) qabulda xizmat narxini, stol bandlovida esa konversiyalarni kuzatish uchun siz belgilagan bandlov qiymatini bildiradi; ikkalasi ham boʻlmasa, u null boʻladi.

Ekranlar va javoblar

taptime:step ekran nomini detail.step ichida beradi. Mehmon qaysi ekranlarni koʻrishi u nimani band qilayotganiga va sozlamalaringizga bogʻliq:

  • location — mehmon filiallaringizdan birini tanlaydi. Faqat bir nechta filialingiz boʻlsa va vidjet bittasiga bogʻlanmagan boʻlsa.
  • party — mehmonlar soni. Faqat stollar uchun.
  • service va specialist — nima band qilinadi va qaysi mutaxassisga. Faqat qabullar uchun.
  • when — kun va vaqt.
  • seating, zone va table — ichkarida yoki tashqarida, zalning biror qismi, aniq bir stol. Faqat stollar uchun va faqat siz yoqqan tanlovlar.
  • details — mehmonning ismi va aloqa maʼlumotlari.
  • done — bandlov qilingandan keyingi tasdiq ekrani.

step_index va step_count — mehmon shakl tepasida koʻradigan raqamlar, masalan, “2 / 5”. Filiallar roʻyxati va tasdiq ekrani raqamlanmagan, shuning uchun u yerda ikkalasi ham null. Ekranlar soni sozlamalaringizga bogʻliq boʻlgani uchun raqamni emas, qadam nomini tekshiring.

taptime:choice javobni detail.field ichida nomlaydi: branchId, partySize, date, time, seating, zoneId, tableId, serviceId yoki specialistId. detail.value — tanlangan narsa: raqam, id, 2026-09-18 koʻrinishidagi sana yoki 2026-09-18 19:30 koʻrinishidagi vaqt; detail.label esa mehmon tugmada koʻrgan matn, masalan, xizmat yoki filial nomi. “Istalgan” tanlansa, value null boʻlib yuboriladi.

Barcha hodisalarni Google Tag Manager'ga yuboring

taptime:event hodisasiga qoʻyilgan bitta tinglovchi ularning hammasini ushlaydi. Quyidagi skript har birini dataLayer obyektiga taptime_open, taptime_step, taptime_choice va hokazo nomlar bilan, detail maydonlari bilan birga yuboradi. Uni barcha sahifalarda ishga tushadigan Custom HTML tegiga yoki toʻgʻridan-toʻgʻri saytingizga qoʻying. Shundan keyin triggerlar, oʻzgaruvchilar va voronkani saytga qayta tegmasdan Tag Manager'da quring.

Vidjetning barcha hodisalari dataLayer ichida
<script>
  window.dataLayer = window.dataLayer || [];
  window.addEventListener('taptime:event', function (event) {
    window.dataLayer.push(Object.assign({ event: 'taptime_' + event.detail.event }, event.detail));
  });
</script>

Yana misollar

Mehmonlar qayerda toʻxtab qolishini voronka tahlilida (funnel exploration) koʻrish uchun har bir ekranni Google Analytics 4'ga alohida hodisa sifatida yuboring. Buning uchun sahifangizda gtag.js orqali oʻrnatilgan GA4 kerak:

Google Analytics 4'da bandlov voronkasi
<script>
  window.addEventListener('taptime:step', function (event) {
    if (typeof gtag !== 'function') return;
    gtag('event', 'booking_step', {
      step: event.detail.step,
      step_index: event.detail.step_index,
      booking_type: event.detail.booking_type
    });
  });
</script>

Mehmon panelni band qilmasdan yopsa, unga band qilishning boshqa yoʻlini taklif qiling — bu misolda yashirin “Bizga qoʻngʻiroq qiling” blokini koʻrsatib:

Panel bandlovsiz yopilganda telefon raqamini koʻrsatish
<script>
  var booked = false;
  window.addEventListener('taptime:booking', function () {
    booked = true;
  });
  window.addEventListener('taptime:close', function () {
    if (!booked) {
      document.getElementById('call-us').hidden = false;
    }
  });
</script>

Ishlashini tekshiring

  1. 1
    Eʼlon qilingan saytingizni oching

    Koʻp sayt konstruktorlari maxsus kodni muharrirda ishga tushirmaydi, shuning uchun jonli saytdan foydalaning.

  2. 2
    Brauzer konsolini oching

    Sahifada sichqonchaning oʻng tugmasini bosing, Inspect (brauzer tiliga qarab nomi boshqacha boʻlishi mumkin) bandini tanlang, soʻng Console yorligʻini oching.

  3. 3
    Quyidagi qatorni qoʻyib, Enter tugmasini bosing

    U vidjetning har bir hodisasini sodir boʻlishi bilan chiqarib boradi. Sahifani qayta yuklaguningizcha ishlaydi.

  4. 4
    Sinov bandlovini oxirigacha bosib chiqing

    Har bir ekran va javob konsolda paydo boʻladi, soʻngra bandlovning oʻzi. Keyin sinov bandlovini doskangizdan bekor qiling.

window.addEventListener('taptime:event', function (event) { console.log(event.detail.event, event.detail); });

Koʻp beriladigan savollar

Hodisalarni yoqishim kerakmi?

Yoʻq. Vidjet sahifada boʻlsa, ular doim yuboriladi. “Bandlovlarni saytim teglariga yuborish” kaliti faqat dataLayer obyektiga avtomatik yuborishni hamda sahifangizning oʻz GA4 va Meta Pixel teglarini boshqaradi.

Hodisadan mehmonning ismi, telefoni yoki elektron pochtasini oʻqiy olamanmi?

Yoʻq. Hodisalar ID'lar, vaqtlar, mehmonlar soni, xizmat va bandlov qiymatini olib keladi — kim band qilayotganini esa hech qachon. Mehmon maʼlumotlari uchun panel, webhook yoki REST API'dan foydalaning.

Tinglovchim umuman ishga tushmayapti.

Skript vidjet bilan bir sahifada ekanini va hodisa nomi ikki nuqtasi bilan birga aynan toʻgʻri yozilganini tekshiring: taptime:step. Tag Manager'da Custom HTML tegi eʼlon qilinganiga va barcha sahifalarda ishga tushishiga ishonch hosil qiling. Hodisalar umuman kelayotganini bilish uchun konsolni ochib, yuqoridagi sinov qatorini ishlatib koʻring.

Oʻz skriptim vidjetni ocha yoki yopa oladimi?

Ha. TapTime.open() suzuvchi panelni ochadi yoki sahifa ichidagi shaklgacha aylantiradi, TapTime.close() esa uni yopadi. Bitta sahifada ikki kompaniya boʻlsa, TapTime.open('your-company') oʻsha kompaniyaning vidjetini ochadi.

Bu maqola foydali boʻldimi?
Bu savolingizga javob bermadimi?

Bizga yozing va qaysi sahifada boʻlganingizni koʻrsating. Har bir xabarni odam oʻqiydi va javob siz yozgan tilda keladi.

Bizga yozing