Bu sayfa, web sitelerinde kendi izin çözümlerini kullanan ve izin modunu entegre etmek isteyen geliştiriciler içindir. İzin moduyla ilgili giriş bilgileri için İzin moduna genel bakış başlıklı makaleyi inceleyin. 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 seçmek ve hangi varsayılanları ayarlayacağınızı belirlemek için şirketinizin yönergelerini inceleyin. Temel ve gelişmiş izin modu 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ıyorsanız ve kendi banner'ınızı korumak istiyorsanız banner'ınızı Etiket Yöneticisi kapsayıcısı üzerinden yüklemeniz önerilir. Bunu yapmak için izin modu şablonu oluşturmanız gerekir. Alternatif olarak, Topluluk Şablon Galerisi'ndeki bir izin modu şablonunu 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 şunları yapmanız gerekir:- 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ışlar başlıklı makaleyi inceleyin.
gtag.js
Varsayılan ölçüm özelliklerini ayarlamak için sitenizin her sayfasında, ölçüm verilerini gönderen komutlardan (ör. config veya event) önce gtag('consent',
'default', ...) komutunu çağırın.
Örneğin, tüm parametreler için varsayılan olarak izni reddetmek üzere:
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 milisaniye değeriyle birlikte wait_for_update değerini belirtin.
Örneğin, belirli bir sayfada ad_storage'yı varsayılan olarak reddetmek ancak CMP'nizin izin durumunu güncellemesine izin vermek için wait_for_update kullanın. Aşağıdaki kodda, ad_storage varsayılan olarak denied olur ve izin aracına, etiketler tetiklenmeden önce gtag('consent', 'update', ...)'yi çağırması için 500 milisaniye verilir:
gtag('consent', 'default', {
'ad_storage': 'denied',
'wait_for_update': 500
});
Etiket Yöneticisi
Google Etiket Yöneticisi'ni kullanıyorsanız Etiket Yöneticisi izin API'lerini kullanarak kendi şablonunuzu oluşturun. Başlangıç noktası olarak başvurabileceğiniz örneği aşağıda bulabilirsiniz.
İzin durumlarını yönetmek için Etiket Yöneticisi'ne özgü API'leri kullanın
setDefaultConsentState ve updateConsentState. gtagSet API, ads_data_redaction ve URL geçişi ayarlarını isteğe bağlı olarak uygun şekilde ayarlamak için kullanılabilir.
İzin durumunu güncelleme
gtag.js
Kullanıcının izin durumunu göndermek için update komutunu kullanın. İzin modu, izin tercihlerini kaydetmediğinden kullanıcı, izin yönetim çözümünüzle etkileşime girer girmez izin durumunu güncelleyin. Kullanıcı izin verdikten sonra seçimini saklayın ve sonraki sayfalarda güncelleme komutunu buna göre çağırın.
Tüm izin türleri için doğru değerlerin ayarlandığından emin olmak sizin sorumluluğunuzdadır. Desteklenen türlerle ilgili tüm ayrıntılar için API referansını inceleyin.
Aşağıdaki kod örneğinde, kullanıcı tüm seçenekleri kabul ettiğinde izin durumunun granted olarak nasıl 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>
Etiket Yöneticisi
İzin modu şablonu kullandığınızda kullanıcı izin banner'ıyla etkileşimde bulunduğunda kullanıcı izni otomatik olarak güncellenmelidir.
İzin modu şablonunu kendiniz oluşturuyorsanız izin durumlarını yönetmek için Etiket Yöneticisi'ne özel API'leri setDefaultConsentState ve updateConsentState kullanın. gtagSet API, ads_data_redaction ve URL geçişi ayarlarını isteğe bağlı olarak ayarlamak için kullanılabilir.
Uygulama örneği
Aşağıdaki örnekte, varsayılan olarak birden fazla izin modu parametresi denied olarak ayarlanır. Kullanıcı izin tercihlerini belirttikten sonra ilgili parametreler granted olarak güncellenir.
gtag.js
Buradaki kodun sırası çok önemlidir. İzin kodunuz sırası dışında çağrılırsa varsayılan izinler çalışmaz. İşletme şartlarına bağlı olarak ayrıntılar değişebilir ancak genel olarak kod aşağıdaki sırayla çalışmalıdır:
Google etiketini yükleyin. Bu, varsayılan snippet kodunuzdur. Varsayılan snippet,
gtag('consent', 'default', ...)işlevine yapılan bir çağrıyı içerecek şekilde güncellenmelidir (aşağıya bakın).İzin çözümünüzü yükleyin. Kullanıcı rızası çözümünüz eşzamansız olarak yükleniyorsa bunun doğru sırada gerçekleştiğinden nasıl emin olacağınızla ilgili bilgileri Eşzamansız kullanıcı rızası yönetim platformlarıyla entegrasyon başlıklı makalede bulabilirsiniz.
İzin çözümünüz tarafından işlenmiyorsa kullanıcı izin verdikten sonra
gtag('consent', 'update', ...)komutunu ç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
Etiket Yöneticisi'ni kullanan sitelerde, ziyaretçi izin tercihlerinin güncellenmesini 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 kullanmak mümkün değilse bunun yerine sayfanızdaki kodu aşağıdaki şekilde güncelleyebilirsiniz. Buradaki kodun sırası çok önemlidir. İzin kodunuz sırası dışında çağrılırsa varsayılan izinler ç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 parametrelerine 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. |
Daha fazla izin modu özelliği
Gelişmiş izin özellikleriyle şunları yapabilirsiniz:
- Google etiketi kullanıcı arayüzünü kullanarak hangi Google hizmetleriyle veri paylaşacağınızı ayarlayın.
- Coğrafi bölge için davranış ayarlama
- 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 izni reddettiğinde reklam bilgilerini tamamen çıkarın (kaldırın).
Bölgeye özgü davranış
Belirli bölgelerden gelen ziyaretçiler için geçerli olacak varsayılan izin durumlarını ayarlamak üzere gtag izin varsayılan komutunuzda bir bölge (ISO 3166-2'ye göre) belirtin. Bölge değerlerini kullanarak bölgesel düzenlemelere uyabilirsiniz.
Belirli bölgeler için varsayılanlar ayarlayabilir, ardından diğer tüm bölgeler için farklı bir varsayılan ayarlayabilirsiniz. Bölge parametresi içermeyen bir gtag izin varsayılan komutu, başka bir bölgeye özgü komut kapsamına girmeyen tüm ziyaretçiler için varsayılan değeri ayarlar.
gtag.js
Aşağıdaki örnekte, İspanya ve Alaska'dan gelen kullanıcılar için analytics_storage değeri denied olarak, tüm kullanıcılar için ad_storage değeri ise denied olarak ayarlanır.
gtag('consent', 'default', { 'analytics_storage': 'denied', 'region': ['ES', 'US-AK'] }); gtag('consent', 'default', { 'ad_storage': 'denied' });
Etiket Yöneticisi
Etiketinizi oluşturmak için bir şablon kullanıyorsanız şablonda, bölgeye özgü davranışları ayarlamaya yönelik kontroller olabilir. Şablon etiketini kendiniz 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ölge değerleriyle iki varsayılan izin komutu varsa daha belirli bir bölgeye sahip olan komut geçerli olur. Örneğin, ABD bölgesi için ad_storage ayarını granted, ABD-CA bölgesi için ad_storage ayarını denied olarak belirlediyseniz Kaliforniya'dan gelen bir ziyaretçi için daha spesifik olan ABD-CA ayarı geçerli olur. Bu örnekte, ABD-CA'dan gelen bir ziyaretçinin ad_storage değeri denied olarak ayarlanır.
| Bölge | ad_storage |
Davranış |
|---|---|---|
| ABD | 'granted' |
ABD'de bulunan ve CA'da olmayan kullanıcılar için geçerlidir. |
| ABD-CA | 'denied' |
ABD ve Kanada'daki kullanıcılar için geçerlidir. |
| Belirtilmedi | 'granted' |
'granted' varsayılan değerini kullanır. Örnekte, ABD'de veya ABD-CA'da bulunmayan ziyaretçiler için geçerlidir.
|
URL'lerde reklam tıklaması, istemci kimliği ve oturum kimliği bilgilerini iletme
Bir kullanıcı reklamı tıkladıktan sonra web sitenize ulaştığında, reklamla ilgili bilgiler açılış sayfası URL'lerinize sorgu parametresi olarak eklenebilir. Önemli etkinlik doğruluğunu artırmak için bu bilgiler genellikle alanınızdaki birinci taraf çerezlerinde saklanı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 URL geçişini kullanarak sayfalar arasında URL parametreleri aracılığıyla reklam tıklamalarıyla ilgili bilgileri isteğe bağlı olarak iletmeyi seçebilirsiniz.
Benzer şekilde, analytics_storage denied olarak ayarlanırsa URL geçişi, sayfalar arasında çerez olmadan etkinlik ve oturum tabanlı analizler (önemli etkinlikler dahil) göndermek için kullanılabilir.
URL geçişini kullanabilmek için aşağıdaki koşulların karşılanması gerekir:
- Google etiketiniz izin durumunu dikkate alıyor ve sayfada bulunuyor.
- Reklamveren, URL iletme özelliğini etkinleştirmiş olmalıdır.
- İzin modu sayfada uygulanmış olmalıdır.
- Giden bağlantı, geçerli sayfanın alanıyla aynı alanı ifade ediyor.
URL'de GCLID veya DCLID bulunuyor (yalnızca Google Ads ve Floodlight etiketleri)
gtag.js
Bu özelliği etkinleştirmek için url_passthrough parametresini true olarak ayarlayın.
Varsayılan snippet'e herhangi bir config komutundan önce aşağıdaki komutu ekleyin:
gtag('set', 'url_passthrough', true);
Etiket Yöneticisi
Etiketinizi oluşturmak için bir şablon kullanıyorsanız şablonda URL geçişini ayarlamaya yönelik kontroller olabilir. Kendi başınıza bir şablon etiketi oluşturuyorsanız gtagSet özel şablon API'sini kullanarak URL geçişi 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 Analytics etiketlerinde ayarlamak için aşağıdaki seçenekleri kullanabilirsiniz.
Google Ads ve Floodlight etiketleri için:
Bu özelliği etkinleştirmek için dönüşüm bağlayıcı etiketi oluşturun (veya mevcut bir etiketi kullanın) ve Tüm sayfa URL'lerinde bağlamayı etkinleştir seçeneğinin işaretli olduğundan 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**.
- Ayarlanacak Alanlar bölümü genişletildiğinde Satır Ekle'yi tıklayın.
- Alan Adı için
url_passthroughyazın. - Değer için "true" girin.
- Etiketi kaydedin ve yayınlayın.
Alternatif olarak, GTM yükleme snippet'inden önce sitenizin her sayfasında
url_passthroughparametresinitrueolarak 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:
gcliddclidgclsrc_glwbraid
En iyi sonuçlar için şunlardan emin olun:
- Sitenizdeki yönlendirmeler yukarıdaki sorgu parametrelerinin tümünü iletiyor.
- Analiz araçlarınız, sayfa URL'lerindeki bu parametreleri yoksayar.
- Bu parametreler, sitenizin davranışını 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ık amaçları dışında kullanılmayacak. Google'a gönderilen veriler, URL parametrelerindeki reklam tıklama bilgileri de dahil olmak üzere tam sayfa URL'sini içermeye devam eder.
gtag.js
ad_storage denied olduğunda reklam verilerinizi daha fazla karartmak 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ı çıkarılır. Ağ istekleri de çerezsiz bir alan üzerinden gönderilir.
Etiket Yöneticisi
Etiketinizi oluşturmak için bir şablon kullanıyorsanız bu şablonda, reklam verilerini daha fazla anonimleştirmenize olanak tanıyan kontroller olabilir. Kendi başınıza bir şablon etiketi oluşturuyorsanız reklam verilerini anonimleştirme hakkında daha fazla bilgi için İzin modu şablonu oluşturma başlıklı makaleyi inceleyin.
Genel sorunlar
İzin, geçiş sayfasında güncellenmiyor
Gelişmiş izin modunu uyguladığınızda, kullanıcının izin verdiği sayfada bir güncelleme komutu çağırmanız gerekir.
Bir sayfa izin reddedilmiş olarak yüklendikten sonra izin değişikliği nedeniyle izin verilmiş olarak 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 her değiştiğinde güncelleme komutunu çağırın.
Sayfa yeniden yüklenmeden hemen önce izin güncellendi
Bazı durumlarda, bir izin türü reddedildi durumundan verildi durumuna güncellendiğinde Google etiketleri bu güncellemeye göre ölçüm gönderebilir. Güncelleme komutu sayfa yüklemesi kaldırılırken çağrılırsa tarayıcı, bu ağ trafiğini tamamlanmadan önce iptal edebilir. Sonraki raporlar eksik olabilir.
Mümkünse güncelleme komutlarının, sayfa yüklemesi kaldırılmadan çok önce kaydedildiğinden emin olun.
Sonraki adımlar
Eski etiket kontrolleri
ga.js, analytics.js veya conversion.js gibi eski etiketleri kullanıyorsanız bunları gtag.js veya Google Etiket Yöneticisi'ne güncelleyin.
Diğer eski etiketlerin gizlilik denetimleri hakkında daha fazla bilgi edinmek için aşağıdaki belgelere bakın: