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

İçerik Güvenliği Politikası (İGP), geliştiricilere uygulamaları tarafından yüklenen kaynaklar üzerinde kontrol vererek belirli türdeki ekleme tabanlı saldırıları önlemeyi amaçlayan, yaygın olarak desteklenen bir web güvenliği standardıdır. Google Etiket Yöneticisi'ni CSP kullanan sitelerde nasıl dağıtacağınızı anlamak için bu kılavuzdan yararlanın.

Kapsayıcı etiketinin CSP kullanmasını etkinleştirme

CSP'nin bulunduğu bir sayfada Google Etiket Yöneticisi'ni kullanmak için CSP, Etiket Yöneticisi kapsayıcı kodunuzun yürütülmesine izin vermelidir. Bu kod, gtm.js komut dosyasını yerleştiren satır içi JavaScript kodu olarak oluşturulur. Bunu yapmanın birkaç yolu vardır. Örneğin, nonce veya karma kullanabilirsiniz. Önerilen yöntem, sunucunun her yanıt için ayrı ayrı oluşturduğu, tahmin edilemeyen rastgele bir değer olan nonce kullanmaktır. İçerik Güvenliği Politikası script-src yönergesinde nonce değerini belirtin:

Content-Security-Policy:
script-src 'nonce-{SERVER-GENERATED-NONCE}';
img-src www.googletagmanager.com;
connect-src www.googletagmanager.com www.google.com

Ardından, satır içi Etiket Yöneticisi kapsayıcı kodunun nonce'a duyarlı sürümünü kullanın. Satır içi komut dosyası öğesindeki nonce ö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 -->

Etiket Yöneticisi daha sonra tek seferlik rastgele sayıyı sayfaya eklediği tüm komut dosyalarına yayar.

Satır içi komut dosyalarının yürütülmesini sağlamak için başka yaklaşımlar da vardır. Örneğin, CSP'de satır içi komut dosyasının karmasını sağlamak gibi.

Önerilen nonce veya karma yaklaşımları uygun değilse CSP'nin script-src bölümüne 'unsafe-inline' yönergesini ekleyerek Etiket Yöneticisi satır içi komut dosyasını etkinleştirebilirsiniz.

Bu yaklaşımı kullanmak için İGP'de aşağıdaki yönergeler gereklidir:

Yönerge İçerik
script-src 'unsafe-inline' https://www.googletagmanager.com
img-src www.googletagmanager.com
connect-src www.googletagmanager.com www.google.com

Özel JavaScript Değişkenleri

Özel JavaScript değişkenlerinin uygulanma şekli nedeniyle, CSP'nin script-src bölümünde 'unsafe-eval' yönergesi verilmediği sürece CSP varlığında undefined olarak değerlendirilirler.

Yönerge İçerik
script-src "unsafe-eval"

Önizleme Modu

Google Etiket Yöneticisi'nin önizleme modunu kullanmak için İGP'nin aşağıdaki yönergeleri içermesi gerekir:

Yönerge İçerik
script-src https://www.googletagmanager.com https://tagmanager.google.com
style-src https://www.googletagmanager.com https://tagmanager.google.com https://fonts.googleapis.com
img-src https://www.googletagmanager.com https://ssl.gstatic.com https://www.gstatic.com
font-src https://fonts.gstatic.com verileri:

Google Analytics 4

Google Analytics 4 etiketini kullanmak için İGP'nin aşağıdaki yönergeleri içermesi gerekir. 1 ile işaretlenen uç noktalar özellikle Reklamcılık Özellikleri içindir ancak Google Ads'i daha sonra bağlarsanız İGP'nizin güncellenmesi gerekmemesi için ilk kurulum sırasında bunları eklemenizi öneririz.

Yönerge İçerik
script-src https://*.googletagmanager.com
img-src https://*.google-analytics.com
https://*.googletagmanager.com
https://*.g.doubleclick.net 1
https://*.google.com 1
https://*.google.<TLD> 1
connect-src https://*.google-analytics.com
https://*.analytics.google.com
https://*.googletagmanager.com
https://*.g.doubleclick.net 1
https://*.google.com 1
https://*.google.<TLD> 1
https://pagead2.googlesyndication.com 1
frame-src https://www.googletagmanager.com 1

1 Reklam Uç Noktaları: Bu alanlar yalnızca Google Ads'e bağlı olan veya Reklam Özellikleri'ni kullanan GA4 dağıtımları için etkin olarak gereklidir.

Google Ads dönüşüm, yeniden pazarlama veya dönüşüm bağlayıcı etiketini kullanmak için İGP'nin aşağıdaki yönergeleri içermesi gerekir:

Yönerge İçerik
script-src https://www.googleadservices.com https://www.google.com https://www.googletagmanager.com
https://pagead2.googlesyndication.com https://googleads.g.doubleclick.net
img-src https://www.googletagmanager.com https://googleads.g.doubleclick.net https://www.google.com
https://pagead2.googlesyndication.com https://www.googleadservices.com
https://google.com https://www.google.<TLD>
frame-src https://www.googletagmanager.com
connect-src https://pagead2.googlesyndication.com https://www.googleadservices.com https://googleads.g.doubleclick.net
https://ad.doubleclick.net https://www.google.com https://google.com https://www.google.<TLD>

Güvenli bağlamlarda çalışırken Google Ads kullanıcı verileri işaretçilerini kullanmak için İGP'nin aşağıdaki yönergeleri içermesi gerekir:

Yönerge İçerik
script-src https://www.googletagmanager.com
frame-src https://www.googletagmanager.com
connect-src https://google.com https://www.google.com

Google Ads kullanıcı verileri işaretçisi güvenli olmayan bağlamlarda çalışmadığından bu durumlarda CSP yapılandırması geçerli değildir.

Floodlight

Floodlight kullanıcıları, aşağıdaki yapılandırmaları kullanarak CSP'leri etkinleştirebilir. <FLOODLIGHT-CONFIG-ID> değerlerini belirli bir Floodlight reklamveren kimliğiyle veya herhangi bir reklamveren kimliğine izin vermek için * ile değiştirin:

Tüm kullanıcılar için:

Yönerge İçerik
img-src https://ad.doubleclick.net https://ade.googlesyndication.com https://adservice.google.com
https://www.googletagmanager.com
frame-src https://www.googletagmanager.com
connect-src https://pagead2.googlesyndication.com https://www.google.com https://www.googleadservices.com
https://ad.doubleclick.net

"Özel komut dosyaları" işaretçileri için:

Yönerge İçerik
frame-src https://<FLOODLIGHT-CONFIG-ID>.fls.doubleclick.net

Resim etiketleri için:

Yönerge İçerik
img-src https://ad.doubleclick.net https://ade.googlesyndication.com

Merchant Center

İGP'nin Merchant Center'a veri gönderebilmesi için aşağıdaki yönergeleri içermesi gerekir:

Yönerge İçerik
script-src https://*.googletagmanager.com
img-src https://*.merchant-center-analytics.goog
connect-src https://*.merchant-center-analytics.goog

Hizmet Çalışanı

Gelişmiş eşleşme, kullanıcı verileri işaretçileri ve reklam dönüşümleri için Service Worker'ı kullanmak istiyorsanız İGP'nin aşağıdaki yönergeleri içermesi gerekir:

Yönerge İçerik
frame-src https://www.googletagmanager.com

Tag Assistant ile sorun giderme

İçerik Güvenliği Politikası (İGP) sorunlarını gidermek için Tag Assistant'ı kullanın. Tag Assistant, İçerik Güvenliği Politikanız tarafından engellenen kaynakların listesini gösterir.

  1. Tag Assistant'ı açın ve web sitenizin URL'sini girin. Web sitenizin yer aldığı yeni bir sekme açılır.

  2. Sayfanızdaki İçerik Güvenliği Politikası bir kaynağı engelliyorsa Tag Assistant'ın Sayfa sorunları bölümünde bir İGP sorunu gösterilir.

    Tag Assistant&#39;ta CSP sorununu gösteren ekran görüntüsü

  3. Sayfanızdaki tüm engellenen kaynakların listesini görüntülemek için CSP sorununun yanındaki Sorunu göster'i seçin. Tag Assistant&#39;ta CSP sorunu kaydırıcısını gösteren ekran görüntüsü

  4. Engellenen tüm kaynakları İçerik Güvenliği Politikanıza ekleyin.