דיבוג מחרוזת IAB GPP בקונסולת הדפדפן: מדריך שלב אחר שלב
למה קשה לזהות בעיות GPP
כשמבקר אמריקאי מבטל הסכמה למכירה או לשיתוף של הנתונים שלו, הבחירה הזו צריכה להגיע לכל שותף מודעות בעמוד. ב-IAB Global Privacy Platform (GPP) היא עוברת כמחרוזת קומפקטית ורשימה של מזהי סעיפים. אם אחד מהם שגוי — חסר, ישן או נושא את הסעיף הלא נכון — שום דבר לא נשבר באופן גלוי. מודעות עדיין נטענות, הבאנר עדיין נראה תקין, והבעיה מתגלה רק מאוחר יותר, כששותפים מתעלמים מ-opt-out או מציעים פחות על המלאי שלך.
החדשות הטובות הן שאפשר לבדוק כמעט הכול מקונסולת הדפדפן. המדריך הזה עובר על הבדיקות בסדר שבו היינו מריצים אותן בעמוד חי.
שלב 1: ודא שה-API קיים ומוכן
CMP תואם GPP חושף פונקציה גלובלית __gpp. פתח את DevTools בעמוד שלך והרץ את הפקודה ping:
__gpp('ping', function (data) { console.log(data); });
האובייקט שחוזר מספר הרבה במבט אחד:
- gppVersion — אמור להיות 1.1 ביישומים עדכניים.
- cmpStatus — האם ה-CMP נטען או נתקל בשגיאה.
- cmpDisplayStatus — האם הבאנר גלוי, מוסתר או מושבת עבור המבקר הזה.
- signalStatus — “ready” ברגע שה-CMP התייצב על מצב הסכמה, ו-“not ready” כל עוד הוא עדיין מחליט.
- supportedAPIs — הסעיפים שה-CMP יכול לייצר.
- applicableSections — מזהי הסעיפים שחלים כרגע על המבקר הזה.
- gppString — המחרוזת המקודדת עצמה.
אם __gpp אינו מוגדר, ה-stub של ה-CMP חסר או נטען מאוחר מדי. ה-stub חייב להיות במקומו לפני כל סקריפט מודעות שמצפה לו, אחרת הסקריפטים האלה לא יראו CMP ויחכו או ימשיכו בלי אות.
שלב 2: בדוק את הסעיף החל
לכל מסגרת פרטיות ב-GPP יש מזהה סעיף מספרי. אלה שמפרסמים פוגשים לרוב הם 2 (EU TCF v2), 5 (TCF קנדי), 7 (US National, “usnat”) ו-8 ומעלה לסעיפי מדינות בודדות כמו קליפורניה, וירג'יניה, קולורדו, יוטה וקונטיקט. מבקר ממדינה בארה"ב אמור בדרך כלל לראות ב-applicableSections או את הסעיף הלאומי או את סעיף המדינה הרלוונטי, ולא את סעיף האיחוד האירופי.
בדוק ממספר מיקומים. באג נפוץ הוא CMP שמזהה נכון את הגאוגרפיה עבור הבאנר אבל כותב במחרוזת סעיף ברירת מחדל בכל מקרה, או להפך. באמצעות VPN או כלי התצוגה המקדימה של ה-CMP, השווה בין מה שהבאנר מציג לבין מה ש-applicableSections מדווח.
שלב 3: קרא את נתוני הסעיף
במקום לפענח את המחרוזת ידנית, בקש מה-CMP את הסעיף המפוענח:
__gpp('getSection', function (data, success) { console.log(data, success); }, 'usnat');
בסעיף US National שדות ה-opt-out משתמשים באמנה פשוטה: 0 פירושו לא רלוונטי, 1 פירושו שהמשתמש ביטל הסכמה, ו-2 פירושו שהמשתמש לא ביטל. התמקד תחילה בשדות האלה:
- SaleOptOut ו-SharingOptOut
- TargetedAdvertisingOptOut
- שדות ה-notice התואמים, שמתעדים אם המבקר קיבל הודעה על כל פרקטיקה
עכשיו בצע את ה-opt-out בעמוד — לחץ על הקישור “Do Not Sell or Share” או שנה את ההגדרה במרכז ההעדפות — והרץ שוב את getSection. שדות ה-opt-out אמורים להתהפך מ-2 ל-1. אם לא, הממשק והאות אינם מסונכרנים.
שלב 4: בדוק את מסלול Global Privacy Control
כמה חוקי מדינות דורשים מעסקים להתייחס לאות Global Privacy Control כאל opt-out. הפעל GPC בדפדפן או בתוסף שתומך בו, ודא ש-navigator.globalPrivacyControl מחזיר true בקונסולה, ואז טען את העמוד בסשן חדש. שדות ה-opt-out הרלוונטיים אמורים כבר להראות 1 בלי שהמבקר נגע בבאנר. בחלק מהסעיפים יש גם שדה שמציין שהבחירה הגיעה מאות GPC.
שלב 5: עקוב אחר אירועים, לא רק תצלומי מצב
סקריפטים של מודעות לא צריכים לקרוא את המחרוזת פעם אחת בטעינת העמוד ולשכוח. רשום listener כדי לראות מה השותפים רואים:
__gpp('addEventListener', function (evt) { console.log(evt.eventName, evt.pingData); });
אתה אמור לראות אירועים כמו listenerRegistered, signalStatus ו-sectionChange. כשהמבקר משנה בחירה, אמור לבוא אחריה אירוע sectionChange עם מחרוזת מעודכנת. אם ה-wrapper של ה-header bidding או האינטגרציה עם שרת המודעות שלך קוראים את המחרוזת רק לפני ש-signalStatus הופך ל-“ready”, הם עלולים לשלוח ערך ריק או מיושן.
שלב 6: עקוב אחר המחרוזת אל בקשות המודעות
לבסוף, פתח את לשונית Network וסנן את בקשות המודעות שלך. נקודות קצה רבות של מודעות מקבלות פרמטרים gpp ו-gpp_sid (המחרוזת ומזהי הסעיפים החלים). ודא ש:
- שני הפרמטרים קיימים בבקשות ממבקרים אמריקאיים;
- המחרוזת תואמת לזו ש-ping החזיר בזמן הבקשה;
- אחרי opt-out, בקשות עוקבות נושאות את המחרוזת החדשה ולא מחרוזת מהמטמון.
אם אתה משתמש ב-Prebid.js, ודא שמודול ניהול ההסכמות שלו מוגדר ל-GPP, ובדוק את בקשות ההצעה שיוצאות מה-wrapper וגם את הקריאה הסופית לשרת המודעות.
דפוסי כשל נפוצים
- ה-stub נטען אחרי תגיות המודעות — השותפים לא רואים CMP בכלל.
- סעיף שגוי לאזור — סעיף האיחוד האירופי נשלח לתנועה אמריקאית, או שאין סעיף בכלל.
- ממשק ואות לא מסונכרנים — המתג משתנה, המחרוזת לא.
- GPC מתעלמים ממנו — אות הדפדפן אף פעם לא הופך ל-opt-out.
- מחרוזות ישנות בבקשות — ה-wrapper שומר במטמון את הערך הראשון שראה.
עיקרי הדברים
- התחל עם ping: גרסה, סטטוס, סעיפים חלים והמחרוזת מספרים את רוב הסיפור.
- השתמש ב-getSection כדי לקרוא שדות opt-out; 1 פירושו ביטל הסכמה, 2 פירושו לא ביטל.
- בדוק בנפרד את קישור ה-opt-out ואת GPC וודא ששניהם משנים את האות.
- האזן לאירועים וחכה לאות “ready” לפני שבקשות המודעות קוראות את המחרוזת.
- אמת את gpp ו-gpp_sid בבקשות רשת אמיתיות, לפני opt-out ואחריו.