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. İçerik güvenlik politikası (CSP) kullanan sitelerde Google Etiket Yöneticisi'ni 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, tek seferlik rastgele sayı 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. Nonce değerini Content-Security-Policy script-src-elem yönergesinde nonce-{SERVER-GENERATED-NONCE} olarak sağlayın ve 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 nonce'u 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-elem 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'nin aşağıdakilere izin vermesi gerekir:

Yönerge İçerik
script-src-elem https://www.googletagmanager.com 'unsafe-inline'
img-src https://www.googletagmanager.com
connect-src https://www.googletagmanager.com https://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ğıdakilere izin vermesi gerekir:

Yönerge İçerik
script-src-elem 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 data:

Google Analytics

Google Analytics'i kullanmak için İGP'nin aşağıdakilere izin vermesi gerekir:

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

Google Analytics'i herhangi bir Ads özelliği olmadan kullanmak için İGP'nin aşağıdakilere izin vermesi gerekir:

Yönerge İçerik
script-src-elem https://www.googletagmanager.com
img-src https://www.googletagmanager.com https://*.google-analytics.com
connect-src https://www.googletagmanager.com https://*.google-analytics.com https://*.google.com

Google Ads dönüşüm, yeniden pazarlama veya dönüşüm bağlayıcı etiketini kullanmak için CSP'nin aşağıdakilere izin vermesi gerekir:

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

Güvenli bağlamlarda çalışırken Google Ads kullanıcı verileri işaretçilerini kullanmak için İGP'nin aşağıdakilere izin vermesi gerekir:

Yönerge İçerik
script-src-elem https://www.googletagmanager.com
connect-src https://www.google.com
frame-src https://www.googletagmanager.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'ı kullanmak için İGP'nin aşağıdakilere izin vermesi gerekir:

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

Floodlight özel komut dosyalarını kullanmak için CSP'nin (öncekilere ek olarak) aşağıdakilere de izin vermesi gerekir:

Yönerge İçerik
frame-src https://*.fls.doubleclick.net

Merchant Center

Merchant Center'ı kullanmak için CSP'nin aşağıdakilere izin vermesi gerekir:

Yönerge İçerik
script-src-elem https://www.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 CSP'nin aşağıdakilere izin vermesi 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'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'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.