Content Security Policy (CSP) הוא תקן אבטחה לאינטרנט שנתמך באופן נרחב ומיועד למנוע סוגים מסוימים של מתקפות מבוססות הזרקה. הוא מאפשר למפתחים לשלוט במשאבים שנטענים על ידי האפליקציות שלהם. במדריך הזה מוסבר איך להטמיע את Google Tag Manager באתרים שמשתמשים ב-CSP.
הפעלת תג כלי קיבול לשימוש ב-CSP
כדי להשתמש ב-Google Tag Manager בדף עם CSP, ה-CSP צריך לאפשר את ההפעלה של קוד מאגר התגים של Tag Manager. הקוד הזה בנוי כקוד JavaScript מוטבע שמזריק את הסקריפט gtm.js. יש כמה דרכים לעשות את זה, למשל באמצעות nonce או hash. השיטה המומלצת היא להשתמש בצופן חד-פעמי (nonce), שצריך להיות ערך אקראי שאי אפשר לנחש, והשרת יוצר אותו בנפרד לכל תגובה. מספקים את ערך ה-nonce בהנחיה Content-Security-Policy script-src-elem בתור nonce-{SERVER-GENERATED-NONCE}, ומשתמשים בגרסה עם nonce של קוד מאגר התגים ב-Tag Manager. מגדירים את המאפיין nonce ברכיב של סקריפט מוטבע לאותו ערך:
<!-- 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 -->
Tag Manager יעביר את ה-nonce לכל סקריפט שהוא מוסיף לדף.
יש גישות אחרות להפעלת סקריפט מוטבע, כמו ציון הגיבוב של הסקריפט המוטבע ב-CSP.
אם לא ניתן להשתמש בגישות המומלצות של nonce או hash, אפשר להפעיל את סקריפט השורה של Tag Manager על ידי הוספת ההנחיה 'unsafe-inline' לקטע script-src-elem של CSP.
כדי להשתמש בגישה הזו, צריך לאפשר את הפעולות הבאות ב-CSP:
| הוראה | תוכן |
|---|---|
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 |
משתני JavaScript בהתאמה אישית
בגלל האופן שבו משתני JavaScript בהתאמה אישית מוטמעים, הם יקבלו את הערך undefined בנוכחות CSP, אלא אם ההוראה 'unsafe-eval' ניתנת בקטע script-src של ה-CSP.
| הוראה | תוכן |
|---|---|
script-src |
'unsafe-eval' |
מצב תצוגה מקדימה
כדי להשתמש במצב התצוגה המקדימה של Google Tag Manager, צריך לאפשר ב-CSP את הפעולות הבאות:
| הוראה | תוכן |
|---|---|
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, צריך לוודא שה-CSP מאפשר את הפעולות הבאות:
| הוראה | תוכן |
|---|---|
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 בלי תכונות של Google Ads, מדיניות ה-CSP צריכה לאפשר את הפעולות הבאות:
| הוראה | תוכן |
|---|---|
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
כדי להשתמש בתג המרה, תג רימרקטינג או תג Conversion Linker של Google Ads, מדיניות ה-CSP צריכה לאפשר את הפעולות הבאות:
| הוראה | תוכן |
|---|---|
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 |
נתוני משתמשים ב-Google Ads
כדי להשתמש ב-Google Ads user data beacons כשמפעילים אותם בהקשרים מאובטחים, צריך לוודא שה-CSP מאפשר את הפעולות הבאות:
| הוראה | תוכן |
|---|---|
script-src-elem |
https://www.googletagmanager.com |
connect-src |
https://www.google.com |
frame-src |
https://www.googletagmanager.com |
המשואה של נתוני משתמשים ב-Google Ads לא פועלת בהקשרים לא מאובטחים, ולכן הגדרת CSP לא רלוונטית במקרים כאלה.
Floodlight
כדי להשתמש ב-Floodlight, צריך לאפשר את הפעולות הבאות ב-CSP:
| הוראה | תוכן |
|---|---|
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, צריך גם לאפשר את הפעולות הבאות ב-CSP (בנוסף לאלה שצוינו למעלה):
| הוראה | תוכן |
|---|---|
frame-src |
https://*.fls.doubleclick.net |
Merchant Center
כדי להשתמש ב-Merchant Center, ספק ה-CSP צריך לאפשר את הפעולות הבאות:
| הוראה | תוכן |
|---|---|
script-src-elem |
https://www.googletagmanager.com |
img-src |
https://*.merchant-center-analytics.goog |
connect-src |
https://*.merchant-center-analytics.goog |
קובץ שירות (service worker)
כדי להשתמש ב-Service Worker לצורך התאמה משופרת, אותות של נתוני משתמשים והמרות ב-Google Ads, צריך לאפשר את הפעולות הבאות ב-CSP:
| הוראה | תוכן |
|---|---|
frame-src |
https://www.googletagmanager.com |
איך פותרים בעיות בעזרת Tag Assistant
כדי לפתור בעיות שקשורות ל-Content Security Policy (CSP), אפשר להשתמש ב-Tag Assistant. ב-Tag Assistant תוצג רשימת המשאבים שנחסמו על ידי Content Security Policy.
פותחים את Tag Assistant ומזינים את כתובת האתר. האתר ייפתח בכרטיסייה חדשה.
אם מדיניות Content Security Policy בדף חוסמת משאב, בעיה שקשורה ל-CSP מוצגת בקטע Page issues (בעיות בדף) ב-Tag Assistant.

לצד בעיית ה-CSP, לוחצים על הצגת הבעיה כדי לראות את רשימת כל המשאבים החסומים בדף.

מוסיפים את כל המשאבים החסומים ל-Content Security Policy.