מריצים worklet של Shared Storage כדי לבחור כתובת URL ולעבד אותה במסגרת מגודרת.
Shared Storage API מאפשר פרטיות הצעת Sandbox למטרה כללית, אחסון באתרים שונים, שתומך בהרבה ותרחישים לדוגמה אפשריים. דוגמה אחת היא בקרת תדירות, שזמינה עבור לבדיקה ב-Chrome בטא 104.0.5086.0 ואילך.
מריצים סקריפט worklet כדי לבחור כתובת URL מרשימה נתונה, על סמך ואז לעבד את כתובת ה-URL הזו במסגרת מגודרת. אפשר להשתמש בהרשאה הזו כדי לבחור מודעות חדשות או תכנים אחרים כאשר מגיעים למגבלת התדירות.
בדיקת בחירת הקריאייטיב לפי תדירות
כדי לבדוק את בחירת הקריאייטיב לפי תדירות באמצעות Shared Storage ו-Fenced Frames, עליכם לאשר
ב-Chrome מגרסה 104.0.5086.0 ואילך. הפעלת כל ממשקי ה-API לשמירה על פרטיות בפרסום במסגרת chrome://settings/adPrivacy
.
אפשר להפעיל אחסון משותף גם באמצעות הדגל --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames
בשורת הפקודה.
התנסות עם דוגמאות קוד
כדי לבחור כתובת URL אטומה וליצור אותה, צריך לרשום מודול worklet כדי לקרוא תוכן ששותפו של נתוני אחסון. מחלקה של worklet מקבלת רשימה של עד שמונה כתובות URL, ואז מחזירה את האינדקס של כתובת ה-URL שנבחרה.
כשהלקוח קורא ל-sharedStorage.selectURL()
, ה-worklet
מפעיל ומחזיר כתובת URL אטומה לצורך עיבוד למסגרת מוגדרת.
נניח שאתם רוצים לבחור מודעה אחרת או תוכן אחר להצגה בהתאם לתדירות של מספר הפעמים שהמשתמש ראה אותם בעבר. אפשר לספור כמה פעמים משתמש מסוים ראה תוכן, ולשמור את הערך באחסון המשותף. לאחר האחסון, הערך של נפח האחסון המשותף יהיה זמין עבורכם ממקורות שונים.
לאחר מכן, ה-worklet של האחסון המשותף קורא את הערכים שבאחסון המשותף, ומגדיל את המונה בכל תצוגה נוספת. אם הספירה לא הגיעה למגבלה המוגדרת מראש, מוחזר התוכן שאתם רוצים לעבד (אינדקס 1
). אם לא, כתובת ה-URL של ברירת המחדל תוחזר (אינדקס 0
).
בדוגמה הזו:
creative-selection-by-frequencyjs
נטען דרך ה-iframe של מפיק התוכן או המפרסם, והוא אחראי לטעינת worklet של האחסון המשותף, ולרינדור האטום שהוחזר את המקור למסגרת מתוחכמת.creative-selection-by-frequency-worklet.js
הוא ה-worklet של האחסון המשותף שקורא את כדי לקבוע איזו כתובת URL מוחזרת בעקבות תוכן או קריאייטיב של מודעה.
creative-selection-by-frequency.js
// The first URL is the default content or ad to be rendered when the frequency limits reached.
const CONTENT_URLS = [
{ url: `https://${contentProducerUrl}/default-content.html` },
{ url: `https://${contentProducerUrl}/example-content.html` },
];
async function injectAd() {
// Load the worklet module.
await window.sharedStorage.worklet.addModule('creative-selection-by-frequency-worklet.js');
// Set the initial frequency count
window.sharedStorage.set('frequency-count', 0, {
ignoreIfPresent: true,
});
// Run the URL selection operation to choose an ad based on the frequency count in shared storage.
const fencedFrameConfig = await window.sharedStorage.selectURL('creative-selection-by-frequency', CONTENT_URLS, {
resolveToConfig: true
});
// Render the opaque URL into a fenced frame
document.getElementById('content-slot').config = fencedFrameConfig;
}
injectAd();
creative-selection-by-frequency-worklet.js
const FREQUENCY_LIMIT = 5;
class CreativeSelectionByFrequencyOperation {
async run(urls, data) {
// Read the current frequency limit in shared storage
const count = parseInt(await sharedStorage.get('frequency-count'));
// Check if the frequency limit has been reached.
if (count === FREQUENCY_LIMIT) {
console.log('Frequency limit has been reached, and the default content will be rendered.');
return 0;
}
// Set the new frequency count in shared storage
await sharedStorage.set('frequency-count', count + 1);
return 1;
}
}
// Register the operation as 'creative-selection-by-frequency'.
register('creative-selection-by-frequency', CreativeSelectionByFrequencyOperation);
תרחישים לדוגמה
אלה רק חלק מהתרחישים האפשריים לשימוש באחסון משותף. אנחנו נמשיך להוסיף דוגמאות ככל שנקבל משוב ונגלה תרחישים חדשים לשימוש.
בחירת תוכן
לבחור תוכן שונה ולהציג אותו באתרים שונים במסגרות מגודרות על סמך מידע שנאסף באחסון המשותף. שער הפלט בתרחישי השימוש האלה הוא בחירת כתובת URL.
- רוטציה של נכסי קריאייטיב: אחסון נתונים, כמו מזהה הקריאייטיב, מספר הצפיות ואינטראקציה של משתמשים, כדי לקבוע אילו נכסי קריאייטיב המשתמשים יראו באתרים שונים.
- בדיקות A/B: אפשר להקצות משתמש לקבוצת ניסוי, ולאחר מכן לאחסן את הקבוצה הזו באחסון המשותף כדי לגשת אליה באתרים שונים.
- חוויית משתמש מותאמת אישית: תוכלו לשתף תוכן בהתאמה אישית קריאות לפעולה על סמך סטטוס ההרשמה של המשתמש או מצבים אחרים של המשתמש.
יצירת דוחות סיכום
איסוף מידע באמצעות אחסון משותף ויצירת דוח סיכום מצטבר עם רעשי רקע. שער הפלט בתרחישים לדוגמה האלה הוא Private Aggregation API.
- מדידת היקף החשיפה למשתמשים ייחודיים: הרבה יוצרים ומפרסמים רוצים לדעת כמה אנשים ייחודיים צפו בתוכן שלהם. אפשר להשתמש במאגר האחסון המשותף כדי לתעד את הפעם הראשונה שבה משתמש ראה את המודעה, הסרטון המוטמע או אתר החדשות שלכם, וכך למנוע ספירה כפולה של אותו משתמש באתרים שונים. לאחר מכן תוכלו להשתמש ב-Private Aggregation API כדי להפיק דוח סיכום של פוטנציאל החשיפה.
- מדידת נתונים דמוגרפיים: לרוב, יוצרים של תוכן רוצים להבין את המאפיינים הדמוגרפיים של הקהל שלהם. אפשר להשתמש במאגר האחסון המשותף כדי לתעד נתונים דמוגרפיים של משתמשים בהקשר שבו יש לכם אותם, כמו האתר שלכם מאינטראקציה ישירה (First-Party), ולהשתמש בדוחות מצטברים כדי לדווח עליהם באתרים רבים אחרים, כמו תוכן מוטמע.
- מדידת תדירות של 'K+': לפעמים מתוארת כ'תדירות יעילה'. לרוב, נדרש מספר מינימלי של צפיות כדי שמשתמש יזהה או יזכור תוכן מסוים (לרוב בהקשר של צפיות במודעות). אפשר להשתמש ב-Shared Storage כדי ליצור דוחות של משתמשים ייחודיים שצפו בתוכן מסוים לפחות K פעמים.
יצירת מעורבות ושיתוף משוב
חשוב לזכור שההצעה ל-Shared Storage API נמצאת כרגע בשלבי פיתוח ודיון, ולכן היא כפופה לשינויים.
נשמח לשמוע את דעתכם על Shared Storage API.
- הצעה: בודקים את ההצעה המפורטת.
- דיון: תוכלו להצטרף לדיון המתמשך כדי לשאול שאלות ולשתף את התובנות שלכם.
אפשר להתעדכן
- רשימת תפוצה: כדאי להירשם לרשימת התפוצה שלנו כדי לקבל את העדכונים וההודעות האחרונים שקשורים ל-Shared Storage API.
רוצה לקבל עזרה?
- תמיכה למפתחים: במאגר התמיכה למפתחים של ארגז החול לפרטיות תוכלו ליצור קשר עם מפתחים אחרים ולקבל תשובות לשאלות שלכם.