מדריך אינטגרציית הסכמת עוגיות לאנליטיקת מוצר Heap Auto-Capture: ספר הפעולות של 2026 למפרסמים
Heap יוצאת דופן באקוסיסטם של אנליטיקת המוצר בגלל מה שהיא עושה כברירת מחדל. בעוד Mixpanel, Amplitude ו-PostHog מבקשים מהמפרסם לאינסטרמנט את האירועים החשובים, Heap לוכד הכל אוטומטית ומאפשרת לאנליסט להגדיר אירועים בדיעבד מהזרם שנלכד. מודל ה-auto-capture הזה הוא המאפיין המגדיר של המוצר והסיבה שצוותים בוחרים בו; זו גם הסיבה שפריסת Heap ברירת מחדל נושאת אחת ממשטחי הנתונים ההתנהגותיים הרחבים ביותר מכל כלי שמפרסם עשוי להתקין. כל לחיצה, נגיעה, גלילה, אינטראקציה עם טפסים, מעבר דף ולחיצת זעם נלכדים מול מזהה מתמיד בתוך אלפיות שנייה מטעינת העמוד — מה שאומר שכל אחת מאותן פעולות מייצרת חובת הסכמה. הבשורה הטובה היא ש-Heap, מאז רכישתה על ידי Contentsquare, מגיעה כעת עם אחת מממשקי ה-API של ההסכמה המפורטים ביותר במרחב אנליטיקת המוצר; העבודה היא בחיווטה נכון לאורך משטח ה-auto-capture, שכבת הזהות ומודול הפעלת החוזר של הסשן שמוסיפה האינטגרציה של Contentsquare.
מדוע Heap דורשת הסכמה — ולמה התשובה רחבה יותר מאנליטיקה רגילה
אתחול Heap ברירת מחדל עושה מספר דברים בציור הראשון של העמוד. הוא מגדיר עוגייה של צד ראשון תחת _hp2_id.{envId} המכילה את מזהה המשתמש המתמיד, עוגיית סשן תחת _hp2_ses_id.{envId} עם מזהה הסשן, עוגיית קצב דגימה תחת _hp2_props.{envId}, וסמן _hp2_loaded המציין שה-SDK אותחל. הוא מייצר את המזהה הייחודי אם אחד כזה לא קיים עדיין, לוכד את צפיית העמוד הראשונית עם מפנה, פרמטרי UTM ומזהי לחיצה, ומתחיל מיד להקליט כל אינטראקציה עוקבת מול המזהה הזה — לחיצות, נגיעות, שינויי טפסים, שינויי מסלול, אירועים מותאמים אישית, וכשאינטגרציית Contentsquare מופעלת, ה-diff המלא של ה-DOM המרונדר להפעלה חוזרת של סשן.
כל אחת מהפעילויות האלה מפעילה שער הסכמה נפרד. שמירת מזהה המשתמש היא פעולת אחסון וגישה לפי סעיף 5(3) של הנחיית ePrivacy ודורשת הסכמה מוקדמת, שניתנה בחופשיות, ספציפית, מושכלת וחד-משמעית ברחבי ה-EEA, הממלכה המאוחדת וכל תחום שיפוט שאימץ את אותו סטנדרט. לכידת זרם האירועים של auto-capture היא עיבוד נתונים אישיים לפי GDPR משום שהשילוב של מזהה, כתובת IP ועקב התנהגותי מספיק לסינגול-אאוט של יחיד. הפעלה חוזרת של סשן נמצאת בקטגוריה נפרדת ומחמירה יותר לפי הנחיית הפעלת הסשן החוזרת של EDPB — ההפעלה לוכדת את ה-DOM המרונדר וכל שדה קלט בלתי מוסווה, ודורשת הסכמה מפורשת וגרנולרית שנפרדת מהסכמת האנליטיקה הגנרית. CCPA ו-CPRA מתייחסים לאותו עיבוד כמכירה או שיתוף אלא אם כן למפרסם יש חוזה ספק שירות רלוונטי עם Heap — שאותו Heap מציעה, אך החוזה נכנס לתוקף רק כשהאינטגרציה מוגדרת למצב ספק שירות.
מה Heap כותבת לפני ההסכמה — ומה חייב להיות מדוכא
ה-quickstart הסטנדרטי שמגיע עם לוח המחוונים של Heap מתקין את קטע המעקב ישירות ב-<head> של העמוד. זה עובד כמתועד וזהו מקור כשל הציות הנפוץ ביותר בפריסות Heap: הקטע פועל לפני שבאנר העוגיות מרונדר, עוגיות ה-_hp2_ נכתבות בתוך אלפיות שנייה, וזרם ה-auto-capture מתחיל לזרום ל-heapanalytics.com ללא קשר למה שהמשתמש יחליט מאוחר יותר. כל רגולטור אירופי שפסק על דפוס זה פסק באותה דרך: עוגיות שנקבעו לפני ההסכמה הן בלתי חוקיות, והמפרסם נושא באחריות.
לכן אינטגרציה תואמת חייבת למנוע מקטע Heap להיטען עד שקטגוריית ההסכמה הרלוונטית ניתנה. שני הדפוסים שעובדים בסביבת ייצור הם הזרקת סקריפט מותנית — הקטע מתווסף ל-DOM רק אחרי שה-CMP מסמנת הסכמה — וטעינה מוקדמת של הקטע עם heap.load(appId, { disableTextCapture: true, secureCookie: true, autocapture: false }) כ-bootstrap מושהה ואז קריאה ל-heap.startAutoCapture() כשההסכמה נרשמת. דפוס הזרקה מותנית נקי יותר וזה שתיעוד Heap ממליץ עליו כעת. דפוס ה-bootstrap המושהה הוא הבחירה הנכונה כשהמפרסם זקוק לייחוס גלובלי יציב לתיפור זהות אך אינו יכול לאפשר ל-auto-capture להתפוצץ לפני ההסכמה.
העוגיות והאחסון שה-Heap כותבת
קטע Heap כותב את המזהים הבאים באתחול, כולם לא חיוניים ודורשים הסכמה: _hp2_id.{envId} עם תפוגה של 14 חודשים המכיל את מזהה המשתמש, _hp2_ses_id.{envId} עם תפוגת סשן של 30 דקות, _hp2_props.{envId} להפצת קצב דגימה ומאפיינים, ו-_hp2_loaded כסמן טעינה. מודול הפעלת הסשן החוזרת המשולב ב-Contentsquare מוסיף מאגר הקלטה בזיכרון שמרוקן אל נקודת הקצה של Heap כל כמה שניות ועשוי לשמר מזהה סשן הפעלה חוזרת קטן בנפרד. לכן משיכת ההסכמה חייבת גם להפוג את עוגיות _hp2_ וגם לאותת על בקשת מחיקה דרך ה-GDPR API של Heap עבור ההקלטות וזרם האירועים הקודמים של המשתמש.
מיפוי Heap לפריימוורקים של הסכמה
Heap לא מיישמת באופן מקורי את IAB TCF או את פלטפורמת הפרטיות הגלובלית של IAB — היא פלטפורמת אנליטיקת מוצר של צד ראשון, לא ספקית ad-tech — אך היא משתלבת עם Google Consent Mode v2 דרך גישור צד מפרסם, חושפת ממשק API מקורי של opt-in ו-opt-out, ותומכת בשכבת עריכה של מאפיינים רגישים הפועלת ללא תלות בסטטוס ההסכמה. הדפוס שעומד בבדיקת רגולטור מתייחס לכל מודול של Heap כשער נפרד הקשור לאות CMP ספציפי.
- ה-auto-capture וזרם האירועים הראשי קשורים למטרת האנליטיקה. במונחי TCF זה לרוב מטרה 8 (מדידת ביצועי תוכן) בשילוב מטרה 1 (אחסון ו/או גישה למידע). עבור Consent Mode זה ממופה ל-analytics_storage.
- הפעלת סשן חוזרת דרך אינטגרציית Contentsquare נמצאת מאחורי שער מחמיר ונפרד יותר כי ההפעלה לוכדת את ה-DOM המרונדר וכל שדה קלט בלתי מוסווה, והנחיית הפעלת הסשן החוזרת של EDPB מתייחסת אליה כקטגוריה הדורשת הסכמה מפורשת וגרנולרית הנפרדת מאנליטיקה גנרית.
- זיהוי משתמש דרך heap.identify() יכול לפעול עם מזהה סשן חולף תחת בסיס אינטרס לגיטימי כשהמשתמש אנונימי, אך תיפור הזיהוי למזהה צד ראשון מתמיד על פני סשנים דורש אותה הסכמה כמו אנליטיקה כי אז המזהה הופך לנקודת נתון ברת עקיבה ברמת המשתמש.
- הפצת זהות בין-אתרית או בין-מוצרית דרך ה-API של הזהות דורשת שער שיווקי כי היא חוצה את הקו מאנליטיקת מוצר לייחוס שיווקי ברמת המשתמש.
דפוס האינטגרציה שעובד
לפריסת ההפניה יש ארבעה חלקים: CMP שחושפת אירוע שינוי הסכמה בזמן אמת, bootstrap מושהה שטוען את Heap עם auto-capture מבוטל, מאזין הסכמה שהופך את ה-auto-capture לפעיל ומתחיל את מאגר הפעלת הסשן החוזרת כשהשערים הרלוונטיים נפתחים, ומסלול משיכה שקורא ל-heap.resetIdentity(), עוצר את ה-auto-capture, מפוגג את עוגיות ה-_hp2_, ושולח בקשת מחיקה דרך נקודת הקצה של GDPR של Heap.
יישום ווב
בווב הדפוס הנקי ביותר הוא לטעון את קטע Heap באופן מותנה — תג ה-<script> מוזרק רק לאחר שקטגוריית האנליטיקה ניתנה. הירשם לאירוע שינוי ההסכמה של ה-CMP. כשקטגוריית האנליטיקה עוברת ל-true, הזרק את קטע Heap עם secureCookie: true, disableTextCapture: false ל-auto-capture מלא, וכל תצורה ספציפית לסביבה. כשהסכמת הפעלת הסשן החוזרת עוברת ל-true ואינטגרציית Contentsquare מופעלת, מאגר ההפעלה החוזרת מופעל אוטומטית. כשאחד השערים נמשך, קרא ל-heap.resetIdentity() ואחריו הסרת אלמנט הסקריפט של Heap, הפוג את עוגיות ה-_hp2_ דרך document.cookie, והפעל את ה-GDPR-deletion API עבור מזהה המשתמש.
עריכת מאפיינים רגישים
Heap מגיעה עם שכבת עריכה הפועלת ללא תלות בסטטוס ההסכמה ושמפרסמים צריכים להשתמש בה גם כשניתנה הסכמה. המאפיין data-heap-redact-text על שדה טופס מדכא את תוכן הטקסט שנלכד; המאפיין data-heap-redact-attributes מדכא את מאפייני האלמנט. לפי כללי הקטגוריה המיוחדת של GDPR והגדרת המידע האישי הרגיש של CCPA, כל שדה שעשוי ללכוד מידע בריאותי, פרטים פיננסיים, מזהים ממשלתיים, נתונים ביומטריים, מיקום גיאוגרפי מדויק או תוכן תקשורות פרטיות חייב להשתמש במאפייני העריכה ללא קשר לסטטוס ההסכמה של המשתמש. הגדרת המאפיינים ברמת הטופס היא הדפוס הבטוח ביותר — הוא מדכא את כל הטופס אפילו כשמפתח מוסיף שדה חדש שהוא שוכח לסמן בנפרד.
בחירת אזור: מגורי נתונים EU לעומת US
Heap מפעילה נקודות קצה נפרדות לעיכול ב-EU וב-US. עבור תנועת EEA וממלכה המאוחדת, נקודת הקצה של EU היא ברירת המחדל הנכונה; היא שומרת עיכול, עיבוד ואחסון בתוך ה-EEA ומפחיתה את חשיפת Schrems II שכל פריסת אנליטיקה באזור US נושאת. נקודת הקצה נקבעת דרך תצורת הקטע ולא ניתן לשנותה למפרע — נתונים קיימים נשארים במקום שהם עוכלו לראשונה. עבור מפרסמים המתכננים פריסת Heap, כדאי לכן לאשר את האזור לפני ההרחבה ולתעד את הבחירה בהודעת הפרטיות כדי שרשת הבסיס החוקי תהיה נקייה מהאיסוף ועד האחסון.
אימות האינטגרציה ומסלול הביקורת
שלב האימות הוא מה שרגולטורים בודקים ומה שמפרסמים לרוב מדלגים עליו. פריסת Heap משולבת כראוי חייבת לעבור ארבעה מבחנים ברצף. ראשית, סשן דפדפן נקי עם הבאנר מוצג אך ללא בחירה שנעשתה חייב לייצר אפס בקשות ל-heapanalytics.com מעבר לשליפת קובץ ה-SDK ואפס עוגיות _hp2_ ב-document.cookie. שנית, דחיית אנליטיקה חייבת לשמור על המצב הזה — ללא auto-capture, ללא מזהה, ללא הקלטה. שלישית, קבלת אנליטיקה חייבת לייצר את עוגיית _hp2_id הצפויה עם מאפייני SameSite נכונים ותנועת אירועים הזורמת לנקודת הקצה של האזור המוגדר. רביעית, משיכת ההסכמה חייבת לעצור מיד auto-capture והפעלה חוזרת נוספים, להפוג את עוגיות ה-_hp2_, ולהפעיל בקשת מחיקה דרך ה-GDPR API של Heap.
ציפיית מסלול הביקורת לפי הנחיות באנר העוגיות של EDPB מ-2023 ועדיפויות כוח המשימה המחודשות של 2026 היא שהמפרסם יוכל להוכיח, עבור כל אירוע נתון בפרויקט Heap, שהמשתמש שייצר אותו נתן הסכמה תקפה ברגע הלכידה. הדפוס הסטנדרטי הוא להגדיר את גרסת ההסכמה וחותמת הזמן כמאפייני משתמש על ה-ID הייחודי דרך heap.addUserProperties({ consent_version: 'v3', consent_ts: ts }) כך שכל אירוע בודד יהיה ניתן לעקיבה חזרה לרשומת יומן הסכמה ספציפית. פריסה מוגנת כראוי, בשילוב מאפייני עריכה המדכאים שדות רגישים כברירת מחדל ומסלול מחיקה המופעל במשיכה, היא מה שהופך את מודל ה-auto-capture של Heap מסיכון ריכוז רגולטורי לאחד מהחלקים החזקים והניתנים להגנה ביותר בסטק האנליטיקת המוצר של המפרסם.