אתר לדוגמה

🍪 אוהבים עוגיות? גם אנחנו!

אנחנו משתמשים בעוגיות (cookies) לשיפור חוויית הגלישה שלך, הצגת הצעות מותאמות ועוד.

למידע נוסף, קרא את מדיניות העוגיות ואת מדיניות הפרטיות שלנו.

🎁 משלוח חינם על הזמנות מעל ₪600 | 📞 שירות לקוחות: 050-6907880

דוקומנטציה טכנית - מודול ניהול עוגיות

מדריך מפורט למפתחים על שימוש נכון במודול ניהול העוגיות

חשוב להבין

מודול ניהול העוגיות שלנו חוסם אוטומטית את טעינת סקריפטים של צד שלישי עד לקבלת הסכמת המשתמש. זה חיוני לעמידה בתקנות GDPR והחוק המקומי.

העיקרון הבסיסי:

  • כל סקריפט של צד שלישי צריך להיות עם type="text/plain"
  • הוסף data-cookie-category="..." עם שם הקטגוריה
  • המערכת תטען את הסקריפט רק אחרי הסכמת המשתמש
Google Analytics - הטמעה נכונה
<!-- 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 - הטמעה נכונה
<!-- 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 - הטמעה נכונה
<!-- 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 - עוגיות פונקציונליות
האזנה לשינויים בהסכמה (JavaScript)
// האזנה לשינויים בהסכמת עוגיות
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();
}
שיטות עבודה מומלצות (Best Practices)

תמיד השתמש ב-type="text/plain"

זה מונע מהדפדפן להריץ את הסקריפט לפני ההסכמה

תייג נכון עם data-cookie-category

וודא שהקטגוריה מתאימה למטרת השימוש בסקריפט

בדוק בכלי פיתוח

ודא שסקריפטים לא נטענים לפני ההסכמה

תעדכן את מדיניות העוגיות

כל פעם שמוסיפים סקריפט חדש של צד שלישי

זקוק לעזרה?

אם נתקלת בבעיה או שיש לך שאלות לגבי הטמעת המודול, אנחנו כאן לעזור!