Etiket Yöneticisi'ni İçerik Güvenliği Politikası ile Kullanma

İç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üşü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 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ı 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