Blog
Sunucu tarafı etiketlemenin önünde bir çerez bildirimi: ne değişir, ne değişmez
Yayınlandı · Güncellendi · 4 dk okuma
Bu soru iki biçimde gelir. "Etiketler artık birinci taraf olduğuna göre hâlâ bir bildirime ihtiyacım var mı?" Evet. "Etiketler artık birinci taraf olduğuna göre bildirimim hâlâ çalışıyor mu?" Genellikle evet; ama bozulduğunda bunu sessizce yapar, bu yüzden emin olmak için yirmi dakika ayırmaya değer. Bu bir hukuki tavsiye değildir. İşleyişin bir açıklamasıdır; amacı, hukuk danışmanınız size ne yapmanızı söylerse söylesin kurulumunuzun gerçekten onu yapmasıdır.
Sunucu tarafı etiketleme izin konusunda neyi değiştirir: hiçbir şeyi
Birinci taraf bir ana makine adı, bir isteğin teknik bir özelliğidir. İzin değildir. Dün bir analiz çerezi ayarlamak için izne ihtiyacınız varsa bugün de vardır; çerezin artık google-analytics.com yerine metrics.yoursite.com tarafından ayarlanması bu durumu hiç etkilemez. Denetleyici kurumun sorusu neyi ve neden topladığınızdır, paketin yolda hangi sunucuya uğradığı değil.
Değişen şey, engellenen bir isteğin nereye gittiğidir. Reklam engelleyiciler ve tarayıcıların gizlilik özellikleri ana makine adına ve URL kalıbına göre engeller; googletagmanager.com'u da engellerler. Sizin kendi alan adınızı ise engellemezler. Böylece izin vermiş olduğu hâlde bir filtre listesi tarafından sessizce elenecek olan ziyaretçi artık sayılır. Faydanın tamamı budur ve bu yalnızca izin vermiş ziyaretçiler için bir faydadır.
İzin, GA4'ün mağazanızdan daha az dönüşüm raporlamasının dört nedeninin de ilkidir: GA4 neden eksik sayar ve hangi kısımlar geri kazanılabilir.
Tek paragrafta Consent Mode
Google'ın etiketleri, birkaç adlandırılmış izinden (analytics_storage, ad_storage, ad_user_data, ad_personalization) oluşan bir izin durumunu okur ve gönderdiklerini buna göre ayarlar. Ziyaretçi karar vermeden önce izin yöneticisi varsayılan olarak denied (reddedildi) durumunu gönderir; ziyaretçi seçimini yaptığında bir güncelleme gönderir. Reddedilmiş durumda Google etiketi yine tetiklenir ama çerezsiz bir ping gönderir: istemci kimliği yok, çerez yok; yalnızca bir sayfanın görüntülendiğine dair bir sinyal, o kadar. analytics_storage izni verildiğinde ise tam isabeti gönderir. Sunucu konteyneri hangisi gönderildiyse onu alır ve izin sinyalleri isabetle birlikte taşınır; böylece sunucu tarafındaki GA4 etiketi de aynı şekilde davranır.
Sıra önemlidir ve SignalHost'un etiketleri kendi koşullarını eklemez
İzin yöneticisinin Google etiketinden önce yüklenmesi gerekir; böylece etiket ilk kez değerlendirildiğinde varsayılan durum hazır olur. Çoğu izin yöneticisi tam da bunun için bir wait_for_update değeri sunar: etiketin, reddedildiğini varsaymadan önce bir izin durumu için beklediği birkaç yüz milisaniye.
SignalHost'un web konteynerinizde oluşturduğu öğeler hiçbir izin koşulu taşımaz. Bu bilinçli bir tercihtir. Google'ın kendi etiketleri Consent Mode'a uyar; Google etiketine elle bir izin kontrolü eklenip altındaki GA4 etkinlik etiketlerine hiç eklenmemesi, aşağıdaki iki hatanın ilkidir.
Birinci hata: Google etiketini koşula bağlayıp etkinlik etiketlerini bağlamamak
Ölçümü sunucu konteyneri üzerinden yönlendiren, Google etiketidir. Bir GA4 etkinlik etiketi (örneğin bir purchase etiketi) kendi başına da gönderim yapabilir. Google etiketi izni beklerken etkinlik etiketleri beklemezse, etkinlik etiketleri izinden önce tetiklenir ve verileri doğrudan Google'a gönderir; üstelik bunu, bildirimi hâlâ açık olan bir sayfadan yapar. Konteyner sayfası hiçbir sorun göstermez, çünkü bu isabetler konteynerden hiç geçmemiştir.
Ya hiçbir şeyi elle koşula bağlamayın ve bu işi Consent Mode'a bırakın ya da gönderim yapabilen her etiketi koşula bağlayın. Tutarlı bir orta yol yoktur.
İkinci hata: kendi yükleyicinizi tanımayan, engelleme yapan bir izin yöneticisi
Bazı izin yöneticileri, izin verilene kadar betikleri engelleyerek çalışır: script öğelerini URL'ye göre yakalar ve bekletirler. Listeleri googletagmanager.com'u tanır. exxz2gdaz1jz.yoursite.com'u ise tanımazlar, çünkü hiç kimsenin listesi tanıyamaz: yükleyicinin ana makine adı ve dosya adı yalnızca sizin konteynerinize özgüdür. Bu yüzden engelleme modunda yükleyici koşulsuz olarak geçirilebilir. Consent Mode yerine engellemeye güveniyorsanız bu, izinden önce tetiklenen bir etiket demektir.
İki çözüm var. Yükleyicinin URL'sini, analiz araçlarınız hangi kategoriye giriyorsa o kategoride, izin yöneticisinin engelleme kurallarına elle ekleyin. Ya da (daha iyisi, çünkü çerezsiz pingi de doğru şekilde ele alır) Google'ın etiketleri için Consent Mode'a güvenin ve engellemeyi yalnızca onu desteklemeyen betikler için kullanın. Kendi sitemiz, otomatik engelleme modundaki bir izin yöneticisini Consent Mode ile birlikte çalıştırıyor; Google etiketi izin yöneticisinin betiğinden sonra yer alıyor ve biri bu sırayı değiştirirse depodaki bir test başarısız oluyor.
Sunucu tarafı ve diğer hedefler
İzin durumu sunucu konteynerine her isabetin içinde ulaşır ve sunucu tarafındaki GA4 etiketi onu tarayıcı tarafındaki etiketin okuyacağı şekilde okur. Bizim tarafımızda hiçbir şey izin vermez ya da izni genişletmez; çerezsiz bir ping, çerezsiz bir ping olarak kalır.
Bir reklam platformu bağlarsanız (Meta, TikTok, Reddit, Pinterest, Snapchat veya LinkedIn) aynı isabetler onu da besler, ama yalnızca ad_storage izni vermiş ziyaretçilerden. Sunucu, her isabetin taşıdığı izin durumunu okur; reklamı reddetmiş ya da henüz yanıt vermemiş hiç kimse için bu platformlara hiçbir şey gitmez: ne etkinlik ne çerez. Google Ads dönüşümleri, Google'ın kendi etiketleri gibi Consent Mode'a uyar ve hiçbir zaman bir tıklamaya bağlanmayan çerezsiz bir sinyal olarak gönderilir; yeniden pazarlama ise izni bekler. Bunların hepsi, bildirimin Consent Mode'u ayarlamasına bağlıdır: Consent Mode olmayan bir sayfa hiçbir izin durumu göndermez ve her isabet izin verilmiş sayılır. Bunu, buradaki her şeyi kontrol ettiğiniz gibi kontrol edin: siteyi bildirime yanıt vermeden açın, ağ sekmesini izleyin ve dışarı neyin çıktığına bakın.
"Daha fazla dönüşüm eşleştir" özelliğini açarsanız Google etiketi, ziyaretçinin bir forma yazdığı e-posta adresini alır; böylece reklam platformları bir dönüşümü kişiyle eşleştirebilir. Tarayıcı bu adresi, ziyaretçi ne seçmiş olursa olsun gönderir. SignalHost, reklam izninin reddedildiği her isabetten bu adresi, isabet daha ileri gitmeden uç sunucuda (edge) kaldırır ve platformlar onu yalnızca karma (hash) hâlinde alır.
Kontrol listesi
- Sayfada izin yöneticisinin betiği Google etiketinden önce yer alıyor.
- Etiket yüklenmeden önce, wait_for_update ile birlikte varsayılan olarak denied izin durumu gönderiliyor.
- Konteynerdeki hiçbir etiketin elle eklenmiş bir izin koşulu yok ya da gönderim yapabilen her etiketin var.
- Bildirim yanıtlanmamışken ağ sekmesi çerezsiz bir ping (istekte gcs=G100) gösteriyor, tam isabet göstermiyor.
- Kabul ettikten sonra aynı sayfa tam bir isabet gösteriyor ve konteyner sayfası onu sayıyor.
- İzin yöneticisi URL'ye göre engelliyorsa yükleyicinin URL'si kurallarında yer alıyor.

