İçerik Güvenliği Politikası (CSP), geliştiricilere uygulamaları tarafından yüklenen kaynaklar üzerinde kontrol vererek belirli türde enjeksiyon tabanlı saldırıları önlemek için tasarlanmış, yaygın olarak desteklenen bir web güvenlik standardıdır. CSP kullanan sitelere Google Etiket Yöneticisi'nin nasıl dağıtılacağını anlamak için bu kılavuzdan yararlanabilirsiniz.
CSP'yi kullanmak için kapsayıcı etiketini etkinleştirin
CSP içeren bir sayfada Google Etiket Yöneticisi'ni kullanmak için İGP'nin Etiket Yöneticisi kapsayıcı kodunuzun yürütülmesine izin vermesi gerekir. Bu kod, gtm.js
komut dosyasını ekleyen satır içi JavaScript kodu olarak oluşturulur. Bunu yapmanın birkaç yolu vardır (ör. tek kullanımlık kod veya karma oluşturma). Önerilen yöntem, nonce kullanmaktır. Bu, sunucunun her yanıt için ayrı ayrı oluşturduğu tahmin edilemeyen, rastgele bir değer olmalıdır. Content-Security-Policy script-src
yönergesinde tek seferlik değeri sağlayın:
Content-Security-Policy:
script-src 'nonce-{SERVER-GENERATED-NONCE}';
img-src www.googletagmanager.com;
connect-src www.googletagmanager.com
Ardından, satır içi Etiket Yöneticisi kapsayıcı kodunun tek seferlik duyarlı olmayan sürümünü kullanın. Satır içi komut dosyası öğesindeki tek seferlik özelliğini aynı değere ayarlayın:
<!-- Google Tag Manager -->
<script nonce='{SERVER-GENERATED-NONCE}'>(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;var n=d.querySelector('[nonce]');
n&&j.setAttribute('nonce',n.nonce||n.getAttribute('nonce'));f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->
Daha sonra Etiket Yöneticisi, tek seferlik rastgele değerini sayfaya eklediği tüm komut dosyalarına uygular.
Satır içi komut dosyasının yürütülmesini etkinleştirmenin başka yolları da vardır. Örneğin, CSP'de satır içi komut dosyasının karmasını sağlamak gibi.
Önerilen tek seferlik rastgele sayı veya karma yaklaşımları uygun değilse 'unsafe-inline'
yönergesini İGP'nin script-src
bölümüne ekleyerek Etiket Yöneticisi satır içi komut dosyasını etkinleştirebilirsiniz.
Bu yaklaşımın kullanılabilmesi için CSP'de aşağıdaki yönergeler gereklidir:
script-src 'unsafe-inline' https://www.googletagmanager.com
img-src www.googletagmanager.com
connect-src www.googletagmanager.com
Özel JavaScript Değişkenleri
Özel JavaScript değişkenleri, CSP'nin script-src
bölümünde 'unsafe-eval'
yönergesinin sağlanmadığı sürece CSP'nin varlığında undefined
olarak değerlendirilir.
script-src 'unsafe-eval'
Önizleme Modu
Google Etiket Yöneticisi'nin Önizleme Modu'nu kullanmak için İGP'nin aşağıdaki yönergeleri içermesi gerekir:
script-src https://googletagmanager.com https://tagmanager.google.com
style-src https://googletagmanager.com https://tagmanager.google.com https://fonts.googleapis.com
img-src https://googletagmanager.com https://ssl.gstatic.com https://www.gstatic.com
font-src https://fonts.gstatic.com data:
Google Analytics 4 (Google Analytics)
Google Analytics 4 (Google Analytics) etiketini kullanmak için İGP'nin aşağıdaki yönergeleri içermesi gerekir:
script-src https://*.googletagmanager.com
img-src https://*.google-analytics.com https://*.googletagmanager.com
connect-src https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com
Google sinyallerini kullanan Google Analytics 4 (Google Analytics) dağıtımları için İGP'nin aşağıdaki yönergeleri içermesi gerekir:
script-src https://*.googletagmanager.com
img-src https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com
https://*.g.doubleclick.net https://*.google.com https://*.google.<TLD>
connect-src https://*.google-analytics.com https://*.analytics.google.com
https://*.googletagmanager.com https://*.g.doubleclick.net https://*.google.com https://*.google.<TLD>
frame-src https://td.doubleclick.net
Google Ads dönüşümleri
Google Ads dönüşüm etiketi kullanmak için İGP'nin aşağıdaki yönergeleri içermesi gerekir:
Güvenli bağlantılar için:
script-src https://www.googleadservices.com https://www.google.com https://www.googletagmanager.com
img-src https://googleads.g.doubleclick.net https://www.google.com https://google.com https://pagead2.googlesyndication.com
frame-src https://www.googletagmanager.com https://td.doubleclick.net
connect-src https://pagead2.googlesyndication.com
Güvenli olmayan bağlantılar için:
script-src www.googleadservices.com www.google.com www.googletagmanager.com
img-src googleads.g.doubleclick.net www.google.com google.com pagead2.googlesyndication.com
connect-src pagead2.googlesyndication.com
Google Ads yeniden pazarlama
Google Ads yeniden pazarlama etiketini kullanmak için İGP'nin aşağıdaki yönergeleri içermesi gerekir.
Güvenli bağlantılar için:
script-src https://www.googleadservices.com https://googleads.g.doubleclick.net https://www.google.com
img-src https://www.google.com https://google.com
frame-src https://td.doubleclick.net
Güvenli olmayan bağlantılar için:
script-src www.googleadservices.com googleads.g.doubleclick.net www.google.com
img-src www.google.com google.com
frame-src td.doubleclick.net
Google Ads Kullanıcı Verileri İşaretçisi
Google Ads kullanıcı verisi işaretçilerini güvenli bağlamlarda çalıştırırken kullanmak için İGP'nin aşağıdaki yönergeleri içermesi gerekir:
script-src https://www.googletagmanager.com
frame-src https://www.googletagmanager.com
Google Ads kullanıcı verileri işaretçisi güvenli olmayan bağlamlarda çalışmaz. Dolayısıyla bu durumlarda CSP yapılandırması geçerli olmaz.
Floodlight
Floodlight kullanıcıları, aşağıdaki yapılandırmaları kullanarak İGP'leri etkinleştirebilir. <FLOODLIGHT-CONFIG-ID>
değerlerini belirli bir Floodlight reklamveren kimliğiyle veya herhangi bir reklamveren kimliğine izin vermek için *
değerini değiştirin:
Tüm kullanıcılar için:
img-src https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net
frame-src https://td.doubleclick.net
Etiket Yöneticisi'ndeki "özel komut dosyaları" işaretçileri için:
frame-src https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net
Resim etiketleri için:
img-src https://ad.doubleclick.net
İzin modu için:
img-src https://ade.googlesyndication.com