הפרטיות של משתמשי הקצה היא הבסיס לכל הפעולות ב-Ads Data Hub. הפלטפורמה שלנו מבוססת על העיקרון הזה. כדי לשמור על הפרטיות ולעזור ללקוחות שלנו לעמוד בדרישות הרגולטוריות, אנחנו מבצעים בדיקות מסוימות ומטילים הגבלות מסוימות, שמטרתן למנוע את העברת הנתונים על משתמשים פרטיים1 בנתונים שאתם מקבלים מהפלטפורמה.
בהמשך מופיע פירוט נוסף על תכונות הפרטיות של Ads Data Hub, אבל הנה סקירה כללית:
- בדיקות סטטיות בוחנות את ההצהרות בשאילתות כדי לחפש בעיות שקשורות לפרטיות ברורות ומיידיות.
- תקציבים לגישה לנתונים מגבילים את המספר הכולל של הפעמים שבהן אפשר לגשת לפריט נתונים מסוים.
- בדיקות צבירה מוודאות שכל שורה מכילה מספר גדול מספיק של משתמשים כדי להגן על הפרטיות של משתמשי הקצה.
- הוספת רעש מוסיפה רעש אקראי מכויל במדויק לסעיף
SELECTשל צבירת הנתונים, כדי להגן על פרטיות המשתמשים וגם לספק תוצאות מדויקות באופן סביר. - בדיקות הבדלים (או "בדיקות השוואה") הן חלופה מדור קודם להוספת רעש. הן משוות בין קבוצות תוצאות כדי למנוע שילובים שיכולים לזהות משתמשים ספציפיים. הגישה הזו מונעת רעשי רקע, אבל לרוב מובילה להשמטת נתונים משמעותית ובלתי צפויה.
בדיקות סטטיות
בבדיקות סטטיות נבדקות ההצהרות בשאילתות כדי לחפש בעיות ברורות ומיידיות שקשורות לפרטיות, כמו ייצוא של מזהי משתמשים, כל פונקציה של מזהי משתמשים או שימוש בפונקציות אסורות בשדות שמכילים נתונים ברמת המשתמש. כדי להימנע משגיאות בשאילתות כתוצאה מבדיקות סטטיות, כדאי לעיין בשיטות המומלצות ולהבין אילו פונקציות מותרות.
תקציב לגישה לנתונים
התקציב לגישה לנתונים מגביל את המספר הכולל של פעמים שבהן אפשר לגשת לפריט נתונים מסוים. משתמשים שמתקרבים לסוף התקציב יקבלו הודעה בנושא פרטיות מסוג DATA_ACCESS_BUDGET_IS_NEARLY_EXHAUSTED. אפשר לעקוב אחרי התקציב באמצעות נקודת הכניסה תקציב לגישה לנתונים או באמצעות התראות לגבי התקציב בממשק המשתמש.
דרישות לצבירת נתונים
בבסיס הבדיקות לאימות הפרטיות ב-Ads Data Hub נמצא סף צבירת המשתמשים. סף הכניסה הספציפי תלוי במצב הפרטיות ובנתונים שאליהם ניגשים:
- הוספת רעשי רקע דורשת כ-20 משתמשים ייחודיים לכל שורת תוצאה.
- כדי לבצע בדיקות של הבדלים, צריך כ-50 משתמשים ייחודיים לכל שורת תוצאות.
- שאילתות שכוללות רק נתוני קליקים והמרות דורשות כ-10 משתמשים ייחודיים לכל שורת תוצאה.
בדוגמה הבאה (שימוש בהוספת רעשי רקע), השורה שמכילה את campaign 125 תסונן מהתוצאות הסופיות, כי היא מסכמת תוצאות מ-18 משתמשים, שזה מתחת למינימום של 20 משתמשים.
| מזהה הקמפיין | משתמשים | חשיפות |
|---|---|---|
| 123 | 314 | 928 |
| 124 | 2718 | 5772 |
| 125 | 18 | 45 |
מצבי פרטיות
ב-Ads Data Hub יש שני מצבי פרטיות – הוספת רעש ובדיקות של הבדלים. פרטים על כל מצב מופיעים בדפים הבאים:
- החדרת רעש (ברירת מחדל)
- בדיקות הבדלים (גרסה קודמת)
השוואה בין בדיקות של הבדלים לבין הוספת רעש
|
|
||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
סינון פרטיות מפורש
במקרים שבהם צריך לפצל את השאילתה אבל רוצים לשלב את התוצאות המצטברות, אפשר להחיל באופן מפורש בדיקות פרטיות על כמה שאילתות קטנות יותר, ואז לצבור את התוצאות האלה יחד בצורה בטוחה מבחינת פרטיות.
תרחישים לדוגמה:
- אתם מפרסמים שרוצים לראות את כל ההמרות לפי סוג אירוע שיוך בחשבון Google Ads המקושר, כולל נתונים מ-EEA.
- אתם שותפי מדידה ומחפשים את כל ההמרות לפי סוג אירוע שיוך בחשבון Google Ads המקושר.
כדי לקבל את סכום ההמרות בחשבון Google Ads, אפשר לכתוב מחדש את השאילתה באמצעות פסקה OPTIONS(privacy_checked_export=TRUE) כדי להחיל בדיקות פרטיות על כל שירות של Google בנפרד.
בדוגמה הבאה לשינוי כתובת ה-URL, מתבצעות הפעולות הבאות:
- היא שולחת שאילתה לכל שירות של Google בנפרד, ומבצעת בדיקות פרטיות באופן מפורש לכל קבוצת תוצאות ביניים.
- הוא יוצר טבלת זמנית נפרדת לתוצאות של כל שירות של Google שנבדקו מבחינת פרטיות: YouTube, Gmail והרשת.
- הוא מצטבר ומסכם את מספרי ההמרות שנבדקו מבחינת פרטיות מטבלאות זמניות.
CREATE TEMP TABLE youtube_agg OPTIONS(privacy_checked_export=TRUE) AS
SELECT
impression_data.campaign_id,
attribution_event_type,
COUNT(1) AS num_convs
FROM adh.google_ads_conversions_policy_isolated_youtube
WHERE impression_data.campaign_id IN UNNEST(@campaign_ids)
AND conversion_type IN UNNEST(@conversion_type_list)
GROUP BY campaign_id, attribution_event_type;
CREATE TEMP TABLE network_agg OPTIONS(privacy_checked_export=TRUE) AS
SELECT
impression_data.campaign_id,
attribution_event_type,
COUNT(1) AS num_convs
FROM adh.google_ads_conversions_policy_isolated_network
WHERE impression_data.campaign_id IN UNNEST(@campaign_ids)
AND conversion_type IN UNNEST(@conversion_type_list)
GROUP BY campaign_id, attribution_event_type;
CREATE TEMP TABLE gmail_agg OPTIONS(privacy_checked_export=TRUE) AS
SELECT
impression_data.campaign_id,
attribution_event_type,
COUNT(1) AS num_convs
FROM adh.google_ads_conversions_policy_isolated_gmail
WHERE impression_data.campaign_id IN UNNEST(@campaign_ids)
AND conversion_type IN UNNEST(@conversion_type_list)
GROUP BY campaign_id, attribution_event_type;
SELECT
campaign_id,
attribution_event_type,
SUM(num_convs) AS num_convs
FROM (
SELECT * FROM youtube_agg
UNION ALL
SELECT * FROM network_agg
UNION ALL
SELECT * FROM gmail_agg
)
GROUP BY campaign_id, attribution_event_type
שימו לב שבשאילתה הזו לא נעשה שימוש ב-JOIN כדי לשלב ישירות נתונים בין הטבלאות, אלא קודם מתבצעת השאילתה לכל טבלה, אחר כך מוחלים בדיקות פרטיות על כל טבלת ביניים, ואז נעשה שימוש ב-UNION כדי לסכם את הערכים שנבדקו מבחינת פרטיות.
יועץ לשאילתות
אם שאילתת ה-SQL שלכם תקינה אבל עלולה לגרום לבעיות שקשורות לפרטיות, יועץ השאילתות יציג לכם המלצות מעשיות במהלך פיתוח השאילתה, כדי לעזור לכם להימנע מתוצאות לא רצויות.
כדי להשתמש בכלי לייעוץ לגבי שאילתות:
- ממשק משתמש. ההמלצות יוצגו בעורך השאילתות, מעל טקסט השאילתה.
- API. משתמשים בשיטה
customers.analysisQueries.validate.
-
חוץ מנתונים שהם הסכימו לשתף, כמו במקרה של פאנליסטים. ↩