מדריך מפורט למפתחים על שימוש נכון במודול ניהול העוגיות
מודול ניהול העוגיות שלנו חוסם אוטומטית את טעינת סקריפטים של צד שלישי עד לקבלת הסכמת המשתמש. זה חיוני לעמידה בתקנות GDPR והחוק המקומי.
העיקרון הבסיסי:
- כל סקריפט של צד שלישי צריך להיות עם
type="text/plain" - הוסף
data-cookie-category="..."עם שם הקטגוריה - המערכת תטען את הסקריפט רק אחרי הסכמת המשתמש
<!-- Google Analytics - הטמעה נכונה -->
<script type="text/plain" data-cookie-category="analytics" data-src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script type="text/plain" data-cookie-category="analytics">
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'GA_MEASUREMENT_ID');
</script>שים לב ל-type="text/plain" וה-data-cookie-category="analytics"
<!-- Facebook Pixel - הטמעה נכונה -->
<script type="text/plain" data-cookie-category="advertising">
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', 'YOUR_PIXEL_ID');
fbq('track', 'PageView');
</script>
<noscript>
<img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=YOUR_PIXEL_ID&ev=PageView&noscript=1"/>
</noscript>הקוד יטען רק אחרי שהמשתמש יאשר עוגיות פרסום
<!-- TikTok Pixel - הטמעה נכונה -->
<script type="text/plain" data-cookie-category="advertising">
!function (w, d, t) {
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];
ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],
ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};
for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);
ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},
ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";
ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,
ttq._o=ttq._o||{},ttq._o[e]=n||{};var o=document.createElement("script");
o.type="text/javascript",o.async=!0,o.src=i+"?sdkid="+e+"&lib="+t;
var a=document.getElementsByTagName("script")[0];
a.parentNode.insertBefore(o,a)};
ttq.load('YOUR_PIXEL_ID');
ttq.page();
}(window, document, 'ttq');
</script><!-- סקריפט מותאם אישית -->
<script type="text/plain" data-cookie-category="functional">
// הקוד שלך כאן
console.log('This script will only load after user consent');
</script>קטגוריות זמינות:
- •
essential- עוגיות חיוניות (תמיד מופעלות) - •
analytics- עוגיות אנליטיות - •
advertising- עוגיות פרסום - •
functional- עוגיות פונקציונליות
// האזנה לשינויים בהסכמת עוגיות
window.onCookieConsentChange = function(consent) {
console.log('Cookie consent changed:', consent);
// דוגמה: טעינת Google Tag Manager רק אחרי הסכמה
if (consent.analytics) {
// Load GTM
(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;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXXX');
}
// דוגמה: שליחת אירוע ל-dataLayer
if (consent.advertising) {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'cookie_consent_advertising',
'consent_advertising': true
});
}
};שימוש מתקדם: אפשר להשתמש בפונקציה הזו כדי לטעון סקריפטים באופן דינמי או לשלוח אירועים ל-Google Tag Manager בהתאם להסכמת המשתמש.
// בדיקה ידנית של הסכמת משתמש
function checkCookieConsent() {
const consentData = localStorage.getItem('cookie_consent_data');
if (consentData) {
const consent = JSON.parse(consentData);
return consent;
}
return null;
}
// שימוש:
const consent = checkCookieConsent();
if (consent && consent.analytics) {
// המשתמש נתן הסכמה לעוגיות אנליטיות
initializeAnalytics();
}תמיד השתמש ב-type="text/plain"
זה מונע מהדפדפן להריץ את הסקריפט לפני ההסכמה
תייג נכון עם data-cookie-category
וודא שהקטגוריה מתאימה למטרת השימוש בסקריפט
בדוק בכלי פיתוח
ודא שסקריפטים לא נטענים לפני ההסכמה
תעדכן את מדיניות העוגיות
כל פעם שמוסיפים סקריפט חדש של צד שלישי
זקוק לעזרה?
אם נתקלת בבעיה או שיש לך שאלות לגבי הטמעת המודול, אנחנו כאן לעזור!
