Formunuz çalışıyor, başvurular e-postanıza düşüyor, ama GA4 (Google Analytics 4) raporunda form gönderimi yok ya da sayı tutmuyor. Bu çok yaygın bir durumdur ve çoğu zaman formun nasıl çalıştığıyla ilgilidir. Bu rehberde nedeni bulmayı, sizin formunuza uyan yöntemi seçmeyi ve kurulumu test etmeyi adım adım anlatıyoruz.
GA4’ün kendi form ölçümü neden yetmez?
GA4’ün gelişmiş ölçüm özelliğinde “Form etkileşimleri” adlı bir seçenek vardır. Açıksa iki olay toplar: form_start (kişi forma ilk kez dokundu) ve form_submit (form gönderildi). Bu ayar veri akışı ayarlarındadır ve hesabınızda açık ya da kapalı olabilir.
Kâğıt üzerinde kolay görünür, ama pratikte çoğu sitede güvenilir değildir:
- Denemeyi sayar, başarıyı değil. Gönder düğmesine basıldığında tetiklenebilir. Zorunlu alan boş olduğu için form gitmese bile olay oluşabilir.
- AJAX formları kaçırır. Sayfa yenilenmeden gönderilen formlar (modern temaların ve form eklentilerinin çoğu) tarayıcının standart gönderim olayını üretmeyebilir. GA4 de bu durumda hiçbir şey görmez.
- Başka alan adındaki formları göremez. Typeform, HubSpot ya da Google Forms gibi bir hizmetten iframe ile (sayfaya gömülü ayrı bir pencere olarak) yüklenen formlar sizin sitenizin parçası değildir.
- Her formu karıştırır. Arama kutusu, bülten aboneliği ve iletişim formu aynı
form_submitolayına düşer.
Bu yüzden form gönderimini ölçmek için kendi olayınızı kurmanızı öneririz. Google’ın potansiyel müşteri için önerdiği olay adı generate_lead’dir. Bu yazının geri kalanında bu adı kullanıyoruz.
Formunuz için hangi yöntem uygun?
Dört yöntem vardır. Hangisinin size uyduğu, formun gönderimden sonra ne yaptığına bağlıdır.
| Yöntem | Ne zaman uygun? | Güvenilirlik | Dikkat |
|---|---|---|---|
| Teşekkür sayfası | Form gönderilince ayrı bir sayfaya (ör. /tesekkurler) yönlendiriyorsa | Orta | Sayfa doğrudan açılırsa ya da yenilenirse fazladan sayar |
| GTM form gönderim tetikleyicisi | Klasik, sayfayı yenileyerek gönderilen HTML formlarında | Orta | AJAX formlarda çoğu zaman çalışmaz; doğrulama hatasında da tetiklenebilir |
| Başarı mesajı görünürlüğü | AJAX formu “Teşekkürler” mesajı gösteriyorsa | Orta-iyi | Mesajın metni ya da yeri değişirse bozulur |
| dataLayer push | Geliştiriciye ya da form koduna erişiminiz varsa | En iyi | Kodu yazan kişiyle birlikte kurulmalı |
Teşekkür sayfası en kolay yöntemdir. GTM’de (Google Etiket Yöneticisi) sayfa yolu /tesekkurler olan bir sayfa görüntüleme tetikleyicisi kurarsınız. Sayfanın arama motorlarında görünmemesi ve menüden bağlantı verilmemesi gerekir.
GTM form gönderim tetikleyicisi (Form Submission), standart formlarda iş görür. Tetikleyici ayarlarındaki “Doğrulamayı kontrol et” (Check Validation) seçeneği, tarayıcının engellediği gönderimleri saymamaya yardım eder.
Başarı mesajı görünürlüğü için GTM’de “Öğe görünürlüğü” (Element Visibility) tetikleyicisi kullanılır. Teşekkür mesajının CSS seçicisini verir ve “DOM değişikliklerini gözlemle” seçeneğini açarsınız. WordPress’teki bazı form eklentileri de başarılı gönderimde kendi olayını üretir. Örneğin Contact Form 7, wpcf7mailsent adlı bir olay yayar.
dataLayer push en sağlam yöntemdir. dataLayer, sitenizin GTM’e mesaj bıraktığı ortak bir listedir. Form sunucudan “başarılı” yanıtı aldığı anda bu listeye bir olay eklenir. Böylece yalnız gerçekten gönderilen formlar sayılır.
dataLayer ile form takibi nasıl kurulur?
Kurulum dört adımdır: kod, değişken, tetikleyici, etiket.
- SiteForm başarıyla gönderilir
- dataLayer
generate_lead - GTMÖzel etkinlik tetikleyicisi, GA4 etiketi
- GA4Anahtar etkinlik
- Google AdsDönüşüm (isteğe bağlı aktarım)
1. Geliştiriciye kodu ekletin
Formun başarılı gönderildiği yere (sunucu yanıtı geldikten sonra) şu satırlar eklenir:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ event: 'generate_lead', form_id: 'iletisim' });
form_id, hangi formdan geldiğini ayırmak içindir: iletisim, teklif, ucretsiz_kontrol gibi. Buraya ad, e-posta ya da telefon yazmayın. Google Analytics kişisel bilgilerin gönderilmesine izin vermez.
2. GTM’de değişken oluşturun
GTM’de Değişkenler bölümünde yeni bir kullanıcı tanımlı değişken açın. Türü “Veri katmanı değişkeni” (Data Layer Variable), değişken adı form_id olsun.
3. Tetikleyiciyi kurun
Tetikleyiciler bölümünde yeni bir tetikleyici açın. Türü “Özel etkinlik” (Custom Event), etkinlik adı generate_lead olsun. Ad büyük-küçük harfe duyarlıdır; koddaki adla birebir aynı yazın.
4. GA4 olay etiketini ekleyin
Etiketler bölümünde “Google Analytics: GA4 Etkinliği” (GA4 Event) türünde bir etiket oluşturun:
- Ölçüm kimliği alanına GA4 kimliğinizi (
G-ile başlar) yazın. - Etkinlik adı:
generate_lead. - Etkinlik parametrelerine
form_idekleyin ve değerini 2. adımdaki değişkenden seçin. - Tetikleyici olarak 3. adımdaki özel etkinliği bağlayın.
Teşekkür sayfası ya da öğe görünürlüğü yöntemini seçtiyseniz yalnız tetikleyici değişir. Etiket aynı kalır.
Kurulumu nasıl test edersiniz?
Yayına almadan önce iki araçla test edin:
- GTM Önizleme. GTM’de “Önizle” (Preview) düğmesine basın ve sitenizi açın. Formu gerçekten doldurup gönderin. Soldaki olay listesinde
generate_leadgörünmeli ve GA4 etiketiniz “Tetiklendi” (Fired) bölümünde olmalı. - GA4 DebugView. GA4’te Yönetici bölümündeki DebugView ekranını açın (menü yeri hesap diline göre değişebilir). Önizleme modundaki ziyaretiniz burada görünür.
generate_leadolayına tıklayıpform_idparametresini kontrol edin.
Bir de hatalı gönderimi test edin. Zorunlu bir alanı boş bırakıp gönderin. Bu durumda generate_lead oluşmamalı.
Sitenizde çerez bandı varsa testten önce analitik çerezlere izin verin. Reddederseniz olaylar DebugView’da görünmeyebilir.
Olayı anahtar etkinlik yapmak
GA4’te dönüşümlerin yeni adı anahtar etkinliktir (key event). Olayı raporlarda dönüşüm olarak görmek için:
- GA4’te Yönetici bölümünde Etkinlikler listesini açın.
generate_leadsatırındaki “Anahtar etkinlik olarak işaretle” seçeneğini açın.- Olay listeye henüz düşmediyse Anahtar etkinlikler ekranında yeni bir anahtar etkinlik oluşturup adını
generate_leadolarak yazabilirsiniz.
form_id değerini raporlarda görmek istiyorsanız, onu özel tanımlar bölümünde etkinlik kapsamlı bir özel boyut olarak kaydedin. Kaydetmeden önce gelen veriler bu boyutta görünmez.
Google Ads’e nasıl aktarılır?
GA4 ve Google Ads hesaplarınız bağlıysa, generate_lead anahtar etkinliğini Google Ads’e dönüşüm olarak aktarabilirsiniz. Google Ads’te Hedefler → Dönüşümler bölümünde yeni dönüşüm işlemi oluşturur, kaynak olarak Google Analytics 4’ü seçersiniz. Menü adları hesap diline göre değişebilir.
Dikkat edilecek iki nokta var:
- Aynı başvuru için hem GA4’ten aktarılan hem de Google Ads etiketiyle ölçülen bir dönüşüm varsa, ikisini birden birincil yapmayın. Yoksa her başvuru iki kez sayılır ve teklif stratejisi yanlış öğrenir.
- Aktarılan dönüşümler Google Ads’e gecikmeyle düşer. Bugünün rakamı yarın değişebilir.
En sık yapılan hatalar
- İki olayı birden anahtar etkinlik yapmak.
form_submitdagenerate_leadda işaretliyse her başvuru iki kez sayılır. Yalnızgenerate_leadkalsın. - Olay adını farklı yazmak.
Generate_Lead,generate-leadvegenerate_leadGA4 için üç ayrı olaydır. - Denemeyi başarı saymak. Tetikleyici gönder düğmesinin tıklanmasına bağlıysa, hatalı gönderimler de sayılır.
- Teşekkür sayfasını açık bırakmak. Menüden, site haritasından ya da e-postadan bağlantı verilen teşekkür sayfası her ziyarette başvuru üretir.
- Kişisel bilgi göndermek. E-posta adresini olay parametresine koymak hem Google politikasına hem KVKK’ya aykırıdır.
- Yayınlamayı unutmak. GTM’de yaptığınız değişiklik “Gönder” (Submit) ile yayınlanmadıkça sitede çalışmaz.
Kurulum bittikten sonra her ay bir test başvurusu gönderip olayın hâlâ geldiğini kontrol edin. Tema ya da form eklentisi güncellemesi takibi sessizce bozabilir. Hızlı bir genel kontrol için 5 dakikalık ölçüm kontrolüne bakın. Başvurularınızın hangi kampanyadan geldiğini görmek için reklam bağlantılarınıza UTM parametresi ekleyin.