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 sağlayarak belirli türdeki yerleştirme tabanlı saldırıları önlemeyi amaçlayan, yaygın olarak desteklenen bir web güvenliği standardıdır. İGP kullanan sitelerde Google Etiket Yöneticisi'ni nasıl dağıtacağınızı öğrenmek için bu kılavuzu kullanın.

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

Google Etiket Yöneticisi'ni CSP içeren bir sayfada kullanmak için CSP'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, tek seferlik rastgele sayı veya karma kullanmak gibi çeşitli yolları vardır. Önerilen yöntem, sunucunun her yanıt için ayrı ayrı oluşturduğu, tahmin edilemeyen rastgele bir değer olan tek seferlik rastgele sayı kullanmaktır. Content-Security-Policy script-src-elem yönergesinde tek seferlik rastgele sayı değerini nonce-{SERVER-GENERATED-NONCE} olarak sağlayın ve satır içi Etiket Yöneticisi kapsayıcı kodunun tek seferlik rastgele sayıya 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, tek seferlik rastgele sayıyı sayfaya eklediği tüm komut dosyalarına yayar.

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ğlayabilirsiniz.

Önerilen tek seferlik rastgele sayı 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 CSP tarafından aşağıdakilere izin verilmelidir:

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şkenleri, uygulanma şekilleri nedeniyle CSP'nin script-src bölümünde 'unsafe-eval' yönergesi verilmediği sürece CSP'nin varlığında undefined olarak değerlendirilir.

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

Önizleme Modu

Google Etiket Yöneticisi'nin Önizleme Modu'nu 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 Ads özellikleri 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 reklam dönüşümü, yeniden pazarlama veya Dönüşüm Bağlayıcı etiketi 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 CSP'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 aşağıdakilere de izin vermesi gerekir (yukarıdakilere ek olarak):

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

Reklamverenler için Google etiketi ağ geçidi

Reklamverenler için Google etiketi ağ geçidini kullandığınızda Google etiketi, web sitenizdeki bir ölçüm yolundan (ör. https://www.example.com/metrics) yüklenir ve bu yola veri gönderir. Bazı etiketler Google alanlarına istek göndermeye devam eder. Bu nedenle, her ürün için listelenen yönergeleri uygulayın ve aşağıdakilere de izin verin:

Yönerge İçerik Amaç
script-src-elem 'self' Google etiketini ölçüm yolunuzdan yükleme
img-src 'self' Ölçüm istekleri
connect-src 'self' Ölçüm istekleri
worker-src 'self' Hizmet çalışanı

CDN'nizin veya web sunucunuzun, web sitenizin Content-Security-Policy üst bilgisini ölçüm yolunuzdan gelen yanıtlara eklemediğinden emin olun. Aksi takdirde tarayıcı, hizmet çalışanını engelleyebilir.

Sunucu tarafı etiketleme

Google etiketi bir sunucu kapsayıcısına veri gönderdiğinde, İGP'nin etiketleme sunucunuza da izin vermesi gerekir. Bu yönergeler, her ürün için listelenen yönergelerin (ör. https://www.googletagmanager.com) yerini almaz. Ekleyeceğiniz bilgiler, etiketleme sunucunuzun nerede barındırıldığına bağlıdır:

Yönerge Aynı kaynaktan sunma kurulumu Alt alan adı kurulumu Amaç
img-src 'self' https://TAGGING_SERVER_DOMAIN Ölçüm istekleri
connect-src 'self' https://TAGGING_SERVER_DOMAIN Ölçüm istekleri
frame-src 'self' https://TAGGING_SERVER_DOMAIN Hizmet çalışanı
worker-src 'self' Gerekli değil Hizmet çalışanı
script-src-elem 'self' https://TAGGING_SERVER_DOMAIN Yalnızca Google etiketini etiketleme sunucunuzdan yüklerseniz

Aynı kaynak kurulumunda, etiketleme sunucusu web sitenizdeki bir yoldan (ör. https://www.example.com/metrics) sunulur. Alt alan adı kurulumunda, TAGGING_SERVER_DOMAIN değerini etiketleme sunucunuzun alan adıyla (ör. sgtm.example.com) değiştirin.

Aynı kaynak kurulumunda, CDN'nizin veya web sunucunuzun, web sitenizin Content-Security-Policy başlığını etiketleme yolundan gelen yanıtlara eklemediğinden emin olun. Aksi takdirde tarayıcı, hizmet çalışanını engelleyebilir.

Hizmet çalışanı

Google etiketi, yalnızca reklamverenler için Google etiketi ağ geçidini veya sunucu tarafı etiketlemeyi kullandığınızda hizmet çalışanından yararlanır. Her kurulumun gerektirdiği yönergeler için Reklamverenler için Google etiketi ağ geçidi ve Sunucu tarafı etiketleme bölümlerine bakın. İkisini de kullanıyorsanız CSP'nin ikisine de izin vermesi gerekir.

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örüntüle'yi 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.