# Google Tag Manager (GTM)

## Kapan memakai GTM, kapan tidak

GTM dipakai untuk memasang pelacakan **tanpa menyentuh kode tema**. Cocok ketika sebuah situs butuh banyak tag (GA4, Google Ads, Meta Pixel, TikTok, pelacak klik, pelacak formulir).

Kalau kebutuhannya hanya satu-dua tag sederhana, tag langsung di situs lebih ringan. Menambah GTM berarti menambah satu berkas JavaScript yang harus dimuat — dan pada situs yang lambat, itu memperburuk waktu blokir.

## Tiga unsur utama

| Unsur | Perannya |
|---|---|
| **Tag** | Apa yang dikirim (mis. kirim event ke GA4) |
| **Pemicu (trigger)** | Kapan dikirim (mis. klik pada tautan tertentu) |
| **Variabel** | Data yang dipakai tag atau pemicu (mis. teks yang diklik, halaman) |

Alur kerjanya: pemicu menyalakan tag, tag membaca variabel.

## dataLayer

Jembatan antara situs dan GTM. Situs menaruh data ke `dataLayer`, lalu GTM membacanya. Pola yang paling berguna untuk kita:

1. Situs mengirim peristiwa ke `dataLayer` saat pengunjung melakukan hal penting (klik WhatsApp, isi formulir).
2. GTM menangkapnya lewat pemicu **Custom Event**.
3. Tag GA4 mengirimkannya sebagai event.

## Pemicu yang paling sering dipakai di pekerjaan kita

- **Klik tautan keluar** — menangkap klik ke `wa.me`, `api.whatsapp.com`, atau tautan mitra.
- **Klik semua elemen** dengan filter CSS — mis. `a[href*="wa.me"]`.
- **Pengiriman formulir** — sangat berguna untuk situs klinik dan properti.
- **Custom event** dari dataLayer.
- **Scroll** dan **penglibatan** — untuk mengukur kedalaman bacaan.

## Data yang sebaiknya dikirim bersama konversi

Untuk konversi WhatsApp, kirim sekurangnya: `link_url`, `page_location`, dan penanda jenis tombol (promo, konsultasi, atau tautan dalam paragraf). Ini memungkinkan kita menilai tombol mana yang benar-benar dipakai orang.

## Jebakan lapangan

1. **Tag tidak jalan karena pemicu meleset.** Uji selalu dengan Preview mode dan GA4 Realtime.
2. **Lupa menandai peristiwa utama.** Event masuk, tetapi tidak pernah dihitung sebagai konversi.
3. **Pelacakan ganda.** Dua tag mengirim event yang sama karena dipasang lewat plugin **dan** GTM. Selalu periksa apa yang sudah ada sebelum menambah.
4. **Mengubah GTM tanpa memeriksa versi.** Larutan wajib: lihat versi terbit terakhir sebelum mengubah, dan simpan versi baru sebelum menerbitkan.
5. **Perubahan tertahan.** Pada beberapa container (mis. StudioSoft v5) perubahan tidak bisa diterbitkan lewat API karena keterbatasan izin — harus diklik manual oleh pemilik akun di antarmuka.

## Sumber resmi

- Ringkasan Tag Manager: https://support.google.com/tagmanager/answer/6102821
- Tentang tag: https://support.google.com/tagmanager/answer/3281060
- Tentang pemicu: https://support.google.com/tagmanager/answer/7679316
- Variabel: https://support.google.com/tagmanager/answer/6106899
- GTM API: https://developers.google.com/tag-platform/tag-manager/api/v2

## Catatan penerapan

- **StudioSoft:** container `GTM-WQX6PGNR`; tag klik WhatsApp sudah disiapkan tetapi penerbitan tertahan — perlu Bos menekan Publish di antarmuka.
- **LEIT:** container `GTM-PT463QNW`.
- **DAS, TSC, TSLaw:** tanpa GTM. DAS dan TSLaw memakai Google Tag Site Kit (`GT-`), dan justru ini penyebab event buatan tidak sampai ke GA4.
- Aturan kerja: setiap kali memasang pelacakan baru, **uji dengan Realtime GA4** — jangan percaya bahwa tag "sudah dipasang" hanya karena tersimpan.
