Bu sayfa, web sitelerinde kendi izin çözümlerini kullanan ve izin modunu entegre etmek isteyen geliştiriciler içindir. İzin moduna giriş için İzin moduna genel bakış başlıklı makaleyi okuyun. Kullanıcı izni almak için kullanıcı rızası yönetim platformu (CMP) kullanıyorsanız CMP ile izin modunu ayarlama hakkında daha fazla bilgi edinin.
İzin modunu temel veya gelişmiş şekilde uygulayabilirsiniz. Bir uygulama yöntemi ve varsayılan olarak ayarlanacak ayarları seçmek için şirketinizin yönergelerini inceleyin. Temel ve gelişmiş izin modu karşılaştırması hakkında daha fazla bilgi edinin.
Başlamadan önce
İzin modunu uygulamadan önce aşağıdakileri göz önünde bulundurun:
Etiket Yöneticisi'ni kullanıyor ve kendi banner'ınızı kullanmak istiyorsanız önerilen yaklaşım, banner'ınızı Etiket Yöneticisi kapsayıcısı üzerinden yüklemektir. Bunun için izin modu şablonu oluşturmanız gerekir. Alternatif olarak, Topluluk Şablon Galerisi'ndeki izin modu şablonlarını da kullanabilirsiniz.
gtag.js kullanıyorsanız Google etiketini web sitenizin her sayfasına yüklediğinizden emin olun. İzin modu kodu, web sitenizin her sayfasına eklenir.
İzin modunu ayarlama
İzin modunu ayarlamak için yapmanız gerekenler:- Kullanıcı izin vermeden önce: Varsayılan izin durumunu ayarlayın.
- Kullanıcının izin ayarlarınızla etkileşimine göre izin durumunu güncelleyin.
Varsayılan izin durumunu ayarlama
Kullandığınız her izin türü için varsayılan bir değer belirleyin. Varsayılan olarak izin modu değeri ayarlanmaz.
En iyi uygulama, varsayılan izin ayarlarının kapsamını ziyaretçilerinize izin banner'larını gösterdiğiniz bölgelerle sınırlamaktır. Böylece, izin banner'larının gerekli olduğu bölgelerde ölçüm korunabilir ve Google etiketleri, davranışlarını buna göre ayarlar. Ayrıca, izin banner'ı bulunmadığında veya geçerli olmadığında tüm ölçüm verilerinin kaybedilmesini önlersiniz. Bölgeye özgü davranış başlıklı makaleyi inceleyin.
Varsayılan ölçüm özelliklerini ayarlamak için sitenizin her sayfasında, ölçüm verileri gönderen komutlardan (config
veya event
gibi) önce gtag('consent',
'default', ...)
komutunu çağırın.
Örneğin, tüm parametreler için varsayılan olarak izin vermeyi reddetmek istiyorsanız:
gtag('consent', 'default', {
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'analytics_storage': 'denied'
});
İsteğe bağlı: Asenkron kullanıcı rızası yönetim platformlarıyla entegrasyon
Banner'ınız eşzamansız olarak yükleniyorsa her zaman Google etiketlerinizden önce çalışmayabilir. Bu tür durumları ele almak için, verilerin gönderilmeden önce ne kadar süre bekleneceğini kontrol etmek üzere bir milisaniye değeriyle birlikte wait_for_update
değerini belirtin.
Örneğin, belirli bir sayfada ad_storage
'ü varsayılan olarak reddetmek ancak CMP'nizin izin durumunu güncellemesine izin vermek için wait_for_update
değerini kullanın. Aşağıdaki kodda ad_storage
varsayılan olarak denied
değerini alır ve izin aracına, etiketler tetiklenmeden önce gtag('consent', 'update', ...)
'yi çağırması için 500 milisaniye süre verilir:
gtag('consent', 'default', {
'ad_storage': 'denied',
'wait_for_update': 500
});
Google Etiket Yöneticisi'ni kullanırken Etiket Yöneticisi izin API'lerini kullanarak kendi şablonunuzu oluşturun. Aşağıdaki örnek başlangıç noktası olarak referans olarak kullanılabilir.
setDefaultConsentState
ve updateConsentState
izin durumlarını yönetmek için Etiket Yöneticisi'ne özgü API'leri kullanın. gtagSet
API'si, ads_data_redaction
ve URL geçiş ayarlarını uygun şekilde isteğe bağlı olarak ayarlamak için kullanılabilir.
İzin durumunu güncelleme
Kullanıcının izin durumunu göndermek için update
komutunu kullanın. İzin modu, izin seçimlerini kaydetmediğinden kullanıcı izin yönetim çözümünüzle etkileşime geçtiğinde izin durumunu güncelleyin. Kullanıcı izin verdikten sonra seçimini saklamanız ve sonraki sayfalarda update komutunu çağırırken kullanmanız gerekir.
Tüm izin türleri için doğru değerlerin ayarlandığından emin olmak size aittir. Desteklenen türler hakkında ayrıntılı bilgi için API referansını okuyun.
Aşağıdaki kod örneğinde, kullanıcı tüm seçenekleri kabul ettiğinde izin durumunun nasıl granted
olarak güncelleneceği gösterilmektedir:
<script>
function allConsentGranted() {
gtag('consent', 'update', {
'ad_user_data': 'granted',
'ad_personalization': 'granted',
'ad_storage': 'granted',
'analytics_storage': 'granted'
});
}
</script>
<!-- Invoke your consent function when a user interacts with your banner -->
<body>
...
<button onclick="allConsentGranted()">Yes</button>
...
</body>
İzin modu şablonu kullandığınızda kullanıcı banner'la etkileşime geçtiğinde kullanıcı rızası otomatik olarak güncellenir.
İzin modu şablonunu kendiniz oluşturursanız setDefaultConsentState
ve updateConsentState
izin durumlarını yönetmek için Etiket Yöneticisi'ne özel API'leri kullanın. gtagSet
API, ads_data_redaction
ve URL geçiş ayarlarını uygun şekilde isteğe bağlı olarak ayarlamak için kullanılabilir.
Uygulama örneği
Aşağıdaki örnekte, birden fazla izin modu parametresi varsayılan olarak denied
olarak ayarlanmıştır. Kullanıcı izin tercihlerini belirttikten sonra ilgili parametreler granted
olarak güncellenir.
Buradaki kod sırası çok önemlidir. İzin kodunuz sıra dışı bir şekilde çağrılırsa izin varsayılanları çalışmaz. İşletmenizin gereksinimlerine bağlı olarak ayrıntılar değişiklik gösterebilir ancak genel olarak kod aşağıdaki sırayla çalışmalıdır:
Google etiketini yükleyin. Bu, varsayılan snippet'inizdir. Varsayılan snippet,
gtag('consent', 'default', ...)
çağrısı içerecek şekilde güncellenmelidir (aşağıya bakın).İzin çözümünüzü yükleyin. İzin çözümünüz eşzamanlı olmayan bir şekilde yüklüyorsa bunun doğru sırada gerçekleşmesini sağlamak için Eşzamanlı olmayan izin yönetimi platformlarıyla entegrasyon başlıklı makaleyi inceleyin.
İzin çözümünüz tarafından kullanılmıyorsa kullanıcı izin verdikten sonra
gtag('consent', 'update', ...)
işlevini çağırın.
<script>
// Define dataLayer and the gtag function.
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
// Set default consent to 'denied' as a placeholder
// Determine actual values based on your own requirements
gtag('consent', 'default', {
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'analytics_storage': 'denied'
});
</script>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID ">
</script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'TAG_ID');
</script>
<!-- Create one update function for each consent parameter -->
<script>
function consentGrantedAdStorage() {
gtag('consent', 'update', {
'ad_storage': 'granted'
});
}
</script>
<!-- Invoke your consent functions when a user interacts with your banner -->
<body>
...
<button onclick="consentGrantedAdStorage">Yes</button>
...
</body>
Etiket Yöneticisi kullanan sitelerde, ziyaretçi izin seçimleriyle ilgili güncellemeleri yönetmek için bir CMP kullanmanızı öneririz. CMP'ler, izin modunu yönetmek için bir etiket oluşturmak üzere Topluluk Şablon Galerisi'nde şablonlar sağlar.
Şablon kullanamıyorsanız sayfanızdaki kodu aşağıdaki gibi güncelleyebilirsiniz. Buradaki kod sırası çok önemlidir. İzin kodunuz sıra dışı bir şekilde çağrılırsa izin varsayılanları çalışmaz.
<script>
// Define dataLayer and the gtag function.
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
// Set default consent to 'denied' as a placeholder
// Determine actual values based on your own requirements
gtag('consent', 'default', {
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'analytics_storage': 'denied'
});
</script>
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX ');</script>
<!-- End Google Tag Manager -->
<!-- Create one update function for each consent parameter -->
<script>
function consentGrantedAdStorage() {
gtag('consent', 'update', {
'ad_storage': 'granted'
});
}
</script>
<!-- Invoke your consent functions when a user interacts with your banner -->
<body>
...
<button onclick="consentGrantedAdStorage()">Yes</button>
...
</body>
İzin modu v2'ye yükseltme
Google'ın gizlilik odaklı dijital reklamcılık ekosistemine yönelik devam eden taahhüdü kapsamında, AB kullanıcı rızası politikamızın yaptırımını daha sıkı hale getiriyoruz.
Google'ın Avrupa Ekonomik Alanı'ndaki (AEA) trafik için izin modu güncellemeleri hakkında daha fazla bilgi edinin.
İzin modu kullanıcılarının ad_storage
ve analytics_storage
'a ek olarak iki yeni parametre göndermesi gerekir:
Alan adı | İzin Verilen Değerler | Açıklama |
---|---|---|
ad_user_data
|
'granted' | 'denied'
|
Reklamcılıkla ilgili kullanıcı verilerinin Google'a gönderilmesi için izni belirler. |
ad_personalization
|
'granted' | 'denied'
|
Kişiselleştirilmiş reklamcılığa yönelik izni belirler. |
İzin modu ile ilgili diğer özellikler
Gelişmiş izin özellikleri arasında şunlar yer alır:
- Google etiketi kullanıcı arayüzünü kullanarak verilerinizi hangi Google hizmetleriyle paylaşacağınızı ayarlayın.
- Coğrafi bir bölge için davranışı ayarlayın.
- Kullanıcılar çerezlere izin vermediğinde URL'lerde reklam tıklaması, istemci kimliği ve oturum kimliği bilgilerini iletin.
- Kullanıcılar reklam çerezleri için izin vermediğinde reklam bilgilerini tamamen çıkartın (kaldırın).
Bölgeye özgü davranış
Belirli bölgelerdeki kullanıcılar için etiketlerinizin varsayılan davranışını değiştirmek istiyorsanız izin komutunuzda bir bölge belirtin. Bir bölge değeri sağlayarak varsayılan ayarları kullanıcılarınızın coğrafi konumlarına göre hassaslaştırabilirsiniz. Bölgeleri tanımlama hakkında daha fazla bilgi için Coğrafi kimlikler konusuna bakın.
Aşağıdaki örnekte, İspanya ve Alaska'daki kullanıcılar için analytics_storage
denied
olarak, tüm kullanıcılar için ise ad_storage
denied
olarak ayarlanmıştır.
gtag('consent', 'default', {
'analytics_storage': 'denied',
'region': ['ES', 'US-AK']
});
gtag('consent', 'default', {
'ad_storage': 'denied'
});
Etiketinizi oluşturmak için bir şablon kullanıyorsanız şablonda bölgeye özgü davranışı ayarlama kontrolleri bulunabilir. Kendi şablon etiketinizi oluşturuyorsanız bölgeye özgü davranış ayarlama hakkında daha fazla bilgi için İzin modu şablonu oluşturma başlıklı makaleyi inceleyin.
En belirgin parametre önceliklidir
Aynı sayfada, bir bölge ve alt bölgenin değerlerini içeren iki varsayılan izin komutu varsa daha belirli bir bölgeye sahip olan komut geçerli olur. Örneğin, ad_storage
değerini ABD bölgesi için granted
, ABD-CA bölgesi için denied
olarak ayarladıysanız Kaliforniya'dan gelen bir ziyaretçi için daha spesifik olan ABD-CA ayarı geçerli olur.ad_storage
Bu örnekte, ABD-CA'dan gelen bir ziyaretçi için ad_storage
, denied
olarak ayarlanır.
Bölge | ad_storage |
Davranış |
---|---|---|
ABD | 'granted' |
ABD'de bulunan ve Kanada'da bulunmayan kullanıcılar için geçerlidir |
US-CA | 'denied' |
ABD-CA'daki kullanıcılar için geçerlidir |
Belirtilmedi | 'granted' |
'granted' varsayılan değerini kullanır. Örnekte, ABD veya ABD-CA'da olmayan ziyaretçiler için geçerlidir.
|
URL'lerde reklam tıklaması, istemci kimliği ve oturum kimliği bilgilerini iletme
Bir kullanıcı bir reklamı tıkladıktan sonra web sitenize ulaştığında, reklamla ilgili bilgiler açılış sayfası URL'lerinize sorgu parametresi olarak eklenebilir. Önemli etkinliklerin doğruluğunu artırmak için bu bilgiler genellikle alanınızdaki birinci taraf çerezlerinde depolanır.
Ancak ad_storage
denied
olarak ayarlanırsa bu bilgiler yerel olarak depolanmaz. ad_storage
denied
olduğunda reklam tıklaması ölçüm kalitesini artırmak için isteğe bağlı olarak URL geçişini kullanarak sayfalar arasında URL parametreleri aracılığıyla reklam tıklamaları hakkında bilgi iletmeyi seçebilirsiniz.
Benzer şekilde, analytics_storage
denied
olarak ayarlanırsa URL iletme, sayfalar arasında çerez olmadan etkinlik ve oturuma dayalı analizleri (önemli etkinlikler dahil) göndermek için kullanılabilir.
URL aktarımını kullanmak için aşağıdaki koşulların karşılanmış olması gerekir:
- Google etiketiniz izin bilincine sahip ve sayfa üzerinde yer alıyor.
- Reklamveren, URL iletme özelliğini etkinleştirmiştir.
- Sayfada izin modu uygulanmış olmalıdır.
- Giden bağlantı, geçerli sayfanın alanıyla aynı alanı ifade eder.
URL'de GCLID veya DCLID mevcuttur (yalnızca Google Ads ve Floodlight etiketleri)
Bu özelliği etkinleştirmek için url_passthrough
parametresini true
olarak ayarlayın.
Varsayılan snippet'e, config
komutlarından önce aşağıdaki komutu ekleyin:
gtag('set', 'url_passthrough', true);
Etiketinizi oluşturmak için bir şablon kullanıyorsanız URL iletmeyi ayarlamak için şablonda kontroller bulunabilir. Şablon etiketini kendiniz oluşturuyorsanız gtagSet
özel şablon API'sini kullanarak URL aktarımı ayarlama hakkında daha fazla bilgi için İzin modu şablonu oluşturma başlıklı makaleyi inceleyin.
Alternatif olarak, Dönüşüm Bağlayıcı ve/veya analiz etiketlerinde ayarlamak için aşağıdaki seçenekleri kullanabilirsiniz
Google Ads ve Floodlight etiketleri için:
Bu özelliği etkinleştirmek için bir dönüşüm bağlayıcı etiketi oluşturun (veya mevcut bir etiketi kullanın) ve Tüm sayfa URL'lerine bağlamayı etkinleştir seçeneğinin işaretlendiğinden emin olun. Dönüşüm bağlayıcı etiketi oluşturma talimatları için temel kurulum bölümüne bakın.
Google Analytics etiketleri için:
- Etiket Yöneticisi'nde Ayarlanacak Alanlar'a gidin ve Etiket Yapılandırması > Ayarlanacak Alanlar'ı seçin.
- Ayarlanacak Alanlar bölümü genişletildiğinde Satır Ekle'yi tıklayın.
- Alan Adı için
url_passthrough
yazın. - Değer için "true" değerini girin.
- Etiketi kaydedin ve yayınlayın.
Alternatif olarak, GTM yükleme snippet'inden önce sitenizin her sayfasında url_passthrough
parametresini true
olarak ayarlayabilirsiniz.
window.dataLayer = window.dataLayer || [];
function gtag(){window.dataLayer.push(arguments);}
gtag('set', 'url_passthrough', true);
URL geçişi kullanıldığında, kullanıcılar web sitenizdeki sayfalarda gezinirken bağlantılara birkaç sorgu parametresi eklenebilir:
gclid
dclid
gclsrc
_gl
wbraid
En iyi sonuçlar için aşağıdakilerden emin olun:
- Sitenizdeki yönlendirmeler yukarıdaki tüm sorgu parametrelerini iletir.
- Analiz araçlarınız, sayfa URL'lerindeki bu parametreleri yoksayar.
- Bu parametreler site davranışınızı etkilemez.
Reklam verilerini çıkartma
ad_storage
denied
olduğunda reklamcılık amacıyla yeni çerezler ayarlanmaz. Ayrıca, daha önce google.com ve doubleclick.net'te ayarlanan üçüncü taraf çerezleri, spam ve sahtekarlıkla mücadele dışında kullanılmaz. Google'a gönderilen verilerde, URL parametrelerindeki reklam tıklama bilgileri dahil olmak üzere tam sayfa URL'si yer almaya devam eder.
ad_storage
denied
olduğunda reklam verilerinizi daha fazla çıkartmak için ads_data_redaction
değerini true
olarak ayarlayın.
gtag('set', 'ads_data_redaction', true);
ads_data_redaction
true
ve ad_storage
denied
olduğunda, Google Ads ve Floodlight etiketleri tarafından ağ isteklerinde gönderilen reklam tıklama tanımlayıcıları çıkartılır. Ağ istekleri de çerezsiz bir alan üzerinden gönderilir.
Etiketinizi oluşturmak için bir şablon kullanıyorsanız bu şablonda reklam verilerini daha fazla çıkartmak için kontroller bulunabilir. Şablon etiketini kendiniz oluşturuyorsanız reklam verilerini azaltma hakkında daha fazla bilgi için İzin modu şablonu oluşturma başlıklı makaleyi inceleyin.
Genel sorunlar
Geçiş sayfasında izin güncellenmiyor
Gelişmiş izin modunu uygularken kullanıcının izin verdiği sayfada bir güncelleme komutu çağırmanız gerekir.
Bir sayfa izin reddedilerek yüklendikten sonra izin değişikliğinden sonra izin verilerek yeniden yüklendiğinde Google etiketleri orijinal sayfadaki önemli veri noktalarını kaybedebilir. Sonraki raporlar eksik olabilir.
Örneğin, Google Analytics'te izin verilen birçok oturumda session_start etkinliği eksik olabilir.
Bu sorunu önlemek için kullanıcının izin durumu değiştiğinde güncelleme komutunu çağırın.
İzin, sayfa yeniden yüklenmeden hemen önce güncellendi
Bazı durumlarda, bir izin türü "reddedildi" durumundan "verildi" durumuna güncellendiğinde Google etiketleri bu güncellemeye dayalı ölçümler gönderebilir. Güncelleme komutu sayfa yüklenirken çağrılırsa tarayıcı bu ağ trafiğini tamamlanmadan iptal edebilir. Sonraki raporlar eksik olabilir.
Mümkünse güncelleme komutlarının sayfanın yüklenmesinden çok önce günlüğe kaydedilmesini sağlayın.
Sonraki adımlar
Eski etiket kontrolleri
ga.js, analytics.js veya conversion.js gibi eski etiketleri kullanıyorsanız gtag.js veya Google Etiket Yöneticisi'ne geçin.
Diğer eski etiketlerin gizlilik denetimleri hakkında daha fazla bilgi edinmek için aşağıdaki dokümanlara bakın: