Blog ·
Cara Tracking Konversi Booking Villa Bali: Panduan GA4 dan GTM untuk Direct Booking
Cara Tracking Konversi Booking Villa Bali: Panduan GA4 dan GTM untuk Direct Booking
Banyak pemilik villa di Bali tahu persis berapa booking yang masuk lewat OTA, tetapi nyaris buta terhadap apa yang terjadi di website mereka sendiri. Padahal di situlah margin sebenarnya berada. Cara tracking konversi booking villa Bali yang benar adalah fondasi untuk menggeser tamu dari OTA berkomisi tinggi ke direct booking.
Tanpa tracking yang terhubung dari klik iklan sampai konfirmasi booking, setiap rupiah budget Google Ads adalah tebakan. Anda tidak tahu campaign mana yang menghasilkan tamu dan mana yang hanya membakar budget.
Artikel ini menjelaskan cara memasang tracking konversi booking yang benar — dari Google Tag Manager, dataLayer, Google Analytics 4, sampai menghubungkannya ke Google Ads.
Kenapa tracking konversi adalah fondasi direct booking
Anda tidak bisa menumbuhkan apa yang tidak Anda ukur. Untuk villa dan hotel di Bali, tracking konversi menjawab tiga pertanyaan bisnis yang konkret:
- Berapa biaya untuk mendapatkan satu direct booking? — Cost per acquisition (CPA) dari setiap channel.
- Di langkah mana funnel Anda bocor? — Berapa tamu yang mulai booking tapi tidak menyelesaikan? Di halaman mana mereka pergi?
- Berapa persen pendapatan yang sudah bergeser dari OTA? — Dengan tracking yang benar, Anda bisa membandingkan booking OTA vs direct dalam rupiah, bukan estimasi.
Tanpa jawaban untuk tiga pertanyaan ini, Anda tidak bisa membuat keputusan budget, harga, atau strategi channel yang akurat.
Arsitektur tracking: GTM → dataLayer → GA4 → Google Ads
Tracking konversi booking bukan satu tools. Ini adalah rangkaian empat komponen yang harus bekerja bersama:
- Google Tag Manager (GTM): Tempat semua tag dan trigger dikelola. GTM adalah "panel distribusi" — sekali dipasang di website, tim marketing bisa menambah atau mengubah tracking tanpa developer.
- dataLayer: Array JavaScript yang menjembatani website/booking engine dengan GTM. Setiap tindakan penting (klik booking, mulai checkout, pembayaran selesai) didorong ke dataLayer sebagai event.
- Google Analytics 4 (GA4): Menerima event dari dataLayer lewat GTM, mencatatnya sebagai konversi, dan melaporkan darimana tamu datang.
- Google Ads Conversion Tracking: Menerima data konversi dari GA4 sehingga campaign bisa dioptimasi berdasarkan booking nyata, bukan sekadar klik.
Hasilnya satu loop tertutup: booking engine → dataLayer → GTM → GA4 → Google Ads.
Inilah bedanya "sudah pasang GA4" dengan "benar-benar mengukur booking." Tanpa loop ini, GA4 Anda hanya mencatat pageview — bukan transaksi.
Langkah 1: Petakan funnel booking Anda
Sebelum menyentuh kode, petakan dulu langkah-langkah yang dilalui tamu dari datang ke website sampai booking selesai:
- Landing — Tamu tiba di homepage atau landing page.
- View room — Tamu melihat halaman kamar atau villa.
- Start booking — Tamu klik "Book Now" atau pilih tanggal.
- Checkout — Tamu mengisi data dan masuk ke halaman pembayaran.
- Confirmation — Booking selesai, halaman konfirmasi tampil.
Setiap langkah ini akan menjadi event di dataLayer. Funnel yang jelas memudahkan debugging — jika ada langkah yang tidak mengirim event, Anda tahu persis di mana letak masalahnya.
Langkah 2: Kirim event lewat dataLayer
dataLayer adalah array JavaScript yang didorong (push) setiap kali terjadi tindakan penting. Untuk booking engine, event yang wajib dikirim:
// Tamu melihat halaman kamar
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'view_item',
ecommerce: {
items: [{
item_name: 'Ocean Suite',
item_id: 'OCEAN-001',
price: 3200000,
currency: 'IDR'
}]
}
});
// Tamu klik "Book Now"
window.dataLayer.push({
event: 'begin_checkout',
ecommerce: {
value: 3200000,
currency: 'IDR',
items: [...]
}
});
// Booking selesai
window.dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: 'BOOK-20260624-001',
value: 9600000,
currency: 'IDR',
items: [...]
}
});
Yang penting: setiap event harus punya value (nilai transaksi dalam rupiah). Tanpa value, GA4 dan Google Ads hanya tahu "ada 1 booking" tanpa tahu nilainya — dan Anda tidak bisa menghitung ROAS.
Langkah 3: Konfigurasi GTM
Setelah dataLayer mengirim event dengan benar, konfigurasi GTM untuk menangkapnya:
- Buat GTM container di tagmanager.google.com.
- Pasang GTM snippet di
<head>website. - Buat Data Layer Variables untuk
ecommerce.value,ecommerce.transaction_id,ecommerce.currency. - Buat Google Tag (GA4 Configuration) — satu tag untuk menginisialisasi GA4 di semua halaman.
- Buat GA4 Event Tags untuk
view_item,begin_checkout, danpurchase— masing-masing dipicu oleh Custom Event trigger yang sesuai. - Buat Google Ads Conversion Tracking Tag — dipicu oleh event
purchase, kirim conversion value dari dataLayer.
Gunakan GTM Preview Mode untuk memverifikasi setiap event sebelum publish. Pastikan setiap langkah di funnel muncul di preview dengan nilai yang benar.
Langkah 4: Tandai konversi bernilai rupiah di GA4
Setelah event mengalir ke GA4:
- Buka Admin → Events di GA4.
- Tandai
purchasesebagai conversion. - Tandai
begin_checkoutsebagai conversion (opsional — untuk mengukur drop-off di checkout). - Pastikan currency dan value parameter muncul di laporan Conversions.
Setelah dikonfigurasi, GA4 akan menampilkan berapa banyak booking yang terjadi, berapa nilainya, dan dari channel mana tamu datang.
Langkah 5: Hubungkan ke Google Ads — tutup loop
Langkah terakhir adalah menghubungkan GA4 ke Google Ads agar conversion data mengalir ke campaign:
- Di Google Ads: Tools → Linked Accounts → Google Analytics 4.
- Pilih property GA4 yang sama dengan website Anda.
- Import conversion
purchasedari GA4 ke Google Ads. - Set conversion action ke Primary dan pastikan attribution model sesuai (data-driven recommended).
Setelah terhubung, Google Ads akan menampilkan:
- Conversions: Berapa booking yang dihasilkan setiap campaign.
- Conversion value: Total nilai booking dari setiap campaign.
- ROAS (Return on Ad Spend): Revenue ÷ ad spend.
Ini metrik yang benar-benar penting — bukan CTR, bukan CPC, bukan impressions.
Cross-domain tracking: jika booking engine di subdomain terpisah
Banyak villa punya website di villaanda.com tapi booking engine di booking.villaanda.com atau platform eksternal. Tanpa cross-domain tracking, sesi tamu terputus saat pindah domain — dan Google Ads kehilangan jejak konversi.
Untuk mengatasinya di GTM:
- Edit GA4 Configuration tag.
- Di Fields to Set, tambahkan
cookie_domaindengan nilaiauto. - Di Configure Tag → Cross-Domain Tracking, tambahkan domain booking engine.
- Test dengan GTM Preview: pastikan
_gacookie tetap sama saat tamu pindah dari website utama ke booking engine.
Checklist sebelum go-live
Sebelum menyatakan tracking "sudah beres", jalankan checklist ini:
- GTM snippet terpasang di semua halaman website dan booking engine.
- dataLayer mengirim
view_item,begin_checkout,purchasedengan value dan currency yang benar. - Semua event muncul di GTM Preview Mode dengan parameter lengkap.
- GA4 Real-Time report menampilkan event dalam hitungan detik.
-
purchaseditandai sebagai conversion di GA4. - Conversion value tampil di laporan GA4.
- GA4 terhubung ke Google Ads, conversion
purchaseter-import. - Google Ads menampilkan conversion data (tunggu 24-48 jam setelah klik pertama).
- Tidak ada halaman konfirmasi yang bisa di-refresh tanpa menghasilkan duplikat booking (cek
transaction_idunique).
Kesimpulan
Tracking konversi booking villa Bali bukan proyek IT yang rumit — ini adalah disiplin marketing yang menentukan apakah budget iklan Anda menghasilkan tamu atau hanya laporan yang terlihat bagus.
Mulai dari funnel yang jelas, dataLayer yang mengirim event dengan value, GTM yang menangkap dan meneruskannya, GA4 yang mencatatnya, dan Google Ads yang menggunakannya untuk optimasi. Setiap langkah harus diverifikasi — jangan percaya sampai Anda melihat event muncul di Real-Time report dengan mata sendiri.
Alpha Digital menyediakan GA4 dan GTM setup khusus untuk hospitality, termasuk konfigurasi booking engine tracking dan koneksi ke Google Ads.