שימוש ב-worklet של Shared Storage כדי להריץ בדיקות A/B.
ה-Shared Storage API הוא הצעה לארגז החול לפרטיות שמיועד לשימוש כללי לאחסון באתרים שונים, והוא תומך בתרחישים שונים לדוגמה של שימוש במגוון אתרים. אחת הדוגמאות לכך היא בדיקת A/B, שזמינה לבדיקה ב-Chrome בגרסה 104.0.5086.0 ואילך.
תוכלו להקצות משתמש לקבוצת ניסוי, ואז לאחסן את הקבוצה באחסון משותף כדי שתוכלו לגשת אליה בסביבה של כמה אתרים.
ביצוע בדיקות A/B
כדי להתנסות בבדיקות A/B עם נפח אחסון משותף, צריך לוודא שמשתמשים ב-Chrome מגרסה 104.0.5086.0 ואילך. הפעלת כל ממשקי ה-API לשמירה על פרטיות בפרסום במסגרת chrome://settings/adPrivacy
.
אפשר להפעיל אחסון משותף גם באמצעות הדגל --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames
בשורת הפקודה.
התנסות עם דוגמאות קוד
כדי לראות אם לניסוי יש את ההשפעה הרצויה, אפשר להפעיל בדיקת A/B במספר אתרים. מפרסמים או יצרני תוכן יכולים להציג מודעות או תכנים שונים בהתאם לקבוצה שאליה המשתמש משויך. ההקצאה של הקבוצה נשמרת באחסון משותף, אבל אי אפשר לזלוג אותה.
בדוגמה הזו:
ab-testing.js
צריך להיות מוטמע במסגרת, שממפה תוכן בקרה ושני תוכן של ניסוי. הסקריפט מפעיל את ה-worklet של האחסון המשותף של הניסוי.ab-testing-worklet.js
הוא ה-worklet של נפח אחסון משותף, שמחזיר את הקבוצה שאליה משויך המשתמש, שקובע איזו מודעה תוצג.
// Randomly assigns a user to a group 0 or 1
function getExperimentGroup() {
return Math.round(Math.random());
}
async function injectContent() {
// Register the Shared Storage worklet
await window.sharedStorage.worklet.addModule('ab-testing-worklet.js');
// Assign user to a random group (0 or 1) and store it in Shared Storage
window.sharedStorage.set('ab-testing-group', getExperimentGroup(), {
ignoreIfPresent: true,
});
// Run the URL selection operation
const fencedFrameConfig = await window.sharedStorage.selectURL(
'ab-testing',
[
{ url: `https://your-server.example/content/default-content.html` },
{ url: `https://your-server.example/content/experiment-content-a.html` }
],
{
resolveToConfig: true
}
);
// Render the chosen URL into a fenced frame
document.getElementById('content-slot').config = fencedFrameConfig;
}
injectContent();
class SelectURLOperation {
async run(urls, data) {
// Read the user's experiment group from Shared Storage
const experimentGroup = await sharedStorage.get('ab-testing-group');
// Return the corresponding URL (first or second item in the array)
return urls.indexOf(experimentGroup);
}
}
register('ab-testing', SelectURLOperation);
תרחישים לדוגמה
אלה רק חלק מהתרחישים לדוגמה האפשריים של אחסון משותף. נמשיך להוסיף דוגמאות כשתקבל משוב ונגלה תרחישים חדשים לדוגמה.
בחירת תוכן
אפשר לבחור ולהציג תוכן שונה באתרים שונים במסגרות מגודרות על סמך המידע שנאסף באחסון המשותף. שער הפלט עבור תרחישים לדוגמה האלה הוא בחירת כתובות URL.
- סבב קריאייטיב: אחסון של נתונים כמו מזהה קריאייטיב, ספירת צפיות ואינטראקציה של משתמשים כדי לקבוע אילו פריטי קריאייטיב יראו באתרים שונים.
- A/B Testing: אפשר להקצות משתמש לקבוצת ניסוי, ואז לאחסן את הקבוצה באחסון משותף ולאפשר גישה אליה באתרים שונים.
- חוויות משתמש בהתאמה אישית: שיתוף תוכן וקריאות לפעולה בהתאמה אישית על סמך סטטוס ההרשמה של המשתמש או מצבי משתמש אחרים
הפקת דוחות סיכום
איסוף מידע באמצעות 'נפח אחסון משותף' והפקת דוח סיכום מצטבר ורועש. שער הפלט לתרחישים לדוגמה האלה הוא Private Aggregation API.
- מדידת היקף החשיפה למשתמשים ייחודיים: יוצרים ומפרסמים רבים של תוכן רוצים לדעת כמה אנשים ייחודיים ראו את התוכן שלהם. אפשר להשתמש באחסון משותף כדי לתעד את הפעם הראשונה שבה משתמש ראה את המודעה, את הסרטון המוטמע או את אתר החדשות שלכם, ולמנוע ספירה כפולה של אותו משתמש באתרים שונים. לאחר מכן אפשר להשתמש ב-Private Aggregation API כדי להפיק דוח סיכום לגבי היקף החשיפה.
- מדידת הדמוגרפיה: לעיתים קרובות יצרני תוכן רוצים להבין את הדמוגרפיה של הקהל שלהם. אפשר להשתמש באחסון משותף כדי לתעד נתונים דמוגרפיים של משתמשים בהקשר שבו הם נמצאים, למשל באתר של צד ראשון, ולהשתמש בדיווח מצטבר כדי לדווח על הנתונים האלה באתרים רבים אחרים, כמו תוכן מוטמע.
- מדידת התדירות ב-K+: לעיתים קרובות יש מספר מינימלי של צפיות לפני שהוא יזהה תוכן מסוים או יזכור אותו (לרוב בהקשר של צפיות במודעה). אפשר להשתמש בנפח אחסון משותף כדי ליצור דוחות של משתמשים ייחודיים שראו קטע תוכן לפחות K פעמים.
מעורבות ושיתוף משוב
ההצעה לנפח אחסון משותף נמצאת בדיון פעיל וכפופה לשינויים הוא בעתיד. אם ניסיתם את ה-API הזה ויש לכם משוב, נשמח לשמוע אותו.
- GitHub: קראו את הצעה, לעיון בסקירה המפורטת, העלאת שאלות והשתתפות בדיון.
- הודעות על Shared Storage API: הצטרפות להודעות קודמות או הצגה שלהן ברשימת התפוצה שלנו
- תמיכה למפתחים: אפשר לשאול שאלות ולהצטרף לדיונים מאגר התמיכה למפתחים של ארגז החול לפרטיות