विज्ञापन क्रिएटिव घुमाएं

शेयर किए गए स्टोरेज का इस्तेमाल यह तय करने के लिए करें कि उपयोगकर्ता सभी साइटों पर कौनसा क्रिएटिव देखता है.

Shared Storage API, प्राइवसी सैंडबॉक्स से जुड़ा एक प्रस्ताव है. इसे अलग-अलग कामों के लिए, अलग-अलग कामों के लिए इस्तेमाल किया जाता है. इससे कई तरीकों से मदद मिल सकती है. ऐसा ही एक उदाहरण क्रिएटिव रोटेशन है, जो Chrome 104.0.5086.0 और उसके बाद के वर्शन में जांच के लिए उपलब्ध है.

क्रिएटिव रोटेशन की मदद से, क्रिएटिव आईडी, व्यू की संख्या, और उपयोगकर्ता इंटरैक्शन जैसा डेटा स्टोर किया जा सकता है. इससे यह तय किया जा सकता है कि अलग-अलग साइटों पर कौनसे क्रिएटिव उपयोगकर्ता को दिखे.

सेव किए गए डेटा के आधार पर, दी गई सूची में से यूआरएल चुनने के लिए, शेयर किए गए स्टोरेज वाला वर्कलेट चलाएं. इसके बाद, उस क्रिएटिव को फ़्रेम वाले फ़्रेम में रेंडर करें. इसका इस्तेमाल नए विज्ञापन या दूसरा कॉन्टेंट चुनने के लिए किया जा सकता है.

क्रिएटिव रोटेशन आज़माएं

शेयर किए गए स्टोरेज की मदद से क्रिएटिव रोटेशन की सुविधा को आज़माने के लिए, पुष्टि करें कि Chrome 104.0.5086.0 या इसके बाद का वर्शन इस्तेमाल किया जा रहा है. इसके बाद, chrome://flags/#privacy-sandbox-ads-apis पर Privacy Sandbox Ads API प्रयोग फ़्लैग को चालू करें.

इन एपीआई का इस्तेमाल करने के लिए, Privacy Sandbox Ads API का एक्सपेरिमेंट 'चालू है' पर सेट करें

कमांड लाइन में --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames फ़्लैग का इस्तेमाल करके, शेयर किए गए स्टोरेज की सुविधा को भी चालू किया जा सकता है.

कोड सैंपल के साथ प्रयोग करें

ऐसा हो सकता है कि विज्ञापन देने वाला या कॉन्टेंट बनाने वाला किसी कैंपेन पर अलग-अलग रणनीतियां लागू करना चाहे. साथ ही, असरदार बढ़ाने के लिए कॉन्टेंट या क्रिएटिव को रोटेट करना चाहे. शेयर किए गए स्टोरेज का इस्तेमाल, रोटेशन की अलग-अलग रणनीतियों को चलाने के लिए किया जा सकता है, जैसे कि क्रम में चलने वाला रोटेशन और अलग-अलग साइटों पर समान रूप से डिस्ट्रिब्यूट किया गया रोटेशन.

इस उदाहरण में:

  • creative-rotation.js को फ़्रेम में एम्बेड किया गया है. यह स्क्रिप्ट सेट करती है कि कौनसे विज्ञापन सबसे ज़्यादा ज़रूरी हैं और कौनसा कॉन्टेंट दिखाया जाना चाहिए. इसके लिए, वर्कलेट को कॉल किया जाता है.
  • शेयर किए गए स्टोरेज के लिए creative-rotation-worklet.js वर्कलेट है. यह, दिखाए जाने वाले कॉन्टेंट और लौटाए गए सामान के हिसाब से डिस्ट्रिब्यूशन तय करता है.

creative-romation.js

// Ad config with the URL of the content, a probability weight for rotation, and the clickthrough rate.
const DEMO_CONTENT_CONFIG = [
  {
    url: 'https://your-server.example/contents/content-1.html',
    weight: 0.7,
  },
  {
    url: 'https://your-server.example/contents/content-2.html',
    weight: 0.2,
  },
  {
    url: 'https://your-server.example/contents/content-3.html',
    weight: 0.1,
  },
];

// Set the mode to sequential and set the starting index to 0.
async function seedStorage() {
  await window.sharedStorage.set('content-rotation-mode', 'sequential', {
    ignoreIfPresent: true,
  });

  await window.sharedStorage.set('content-rotation-index', 0, {
    ignoreIfPresent: true,
  });
}

async function injectAd() {
  // Load the worklet module
  await window.sharedStorage.worklet.addModule('content-rotation-worklet.js');

  // Initially set the storage to sequential mode for the demo
  seedStorage();

  // Run the URL selection operation to determine the next content rendered.
  const urls = DEMO_CONTENT_CONFIG.map(({ url }) => ({ url }));
  const fencedFrameConfig = await window.sharedStorage.selectURL('content-rotation', urls, { 
    data: DEMO_CONTENT_CONFIG,
    resolveToConfig: true
  });

  // Render the opaque URL into a fenced frame
  document.getElementById('content-slot').config = fencedFrameConfig;
}

injectAd();

creative-roation-worklet.js

class SelectURLOperation {
  async run(urls, data) {
    // Read the rotation mode from Shared Storage
    const rotationMode = await this.sharedStorage.get('content-rotation-mode');

    // Generate a random number to be used for rotation
    const randomNumber = Math.random();

    let index;

    switch (rotationMode) {
      /**
       * Sequential rotation
       * - Rotates the contents in order
       * - Example: A -> B -> C -> A ...
       */
      case 'sequential':
        const currentIndex = await this.sharedStorage.get('creative-rotation-index');
        index = parseInt(currentIndex, 10);
        const nextIndex = (index + 1) % urls.length;

        await this.sharedStorage.set('content-rotation-index', nextIndex);
        break;

      /**
       * Weighted rotation
       * - Rotates the contentswith weighted probability
       * - Example: A=70% / B=20% / C=10%
       */
      case 'weighted-distribution':
        
        // Sum the weights cumulatively, and find the first URL where the
        // sum exceeds the random number. The array is sorted in
        // descending order first.
        let weightSum = 0;
        const { url } = data
          .sort((a, b) => b.weight - a.weight)
          .find(({ weight }) => {
            weightSum += weight;
            return weightSum > randomNumber;
          });

        index = urls.indexOf(url);
        break;

      default:
        index = 0;
    }
    return index;
  }
}

register('content-rotation', SelectURLOperation);

इस्तेमाल के उदाहरण

यहां शेयर किए गए स्टोरेज के इस्तेमाल के कुछ ही उदाहरण दिए गए हैं. हम सुझाव, शिकायत या राय मिलने और इस्तेमाल के नए उदाहरण खोजते समय, उदाहरण जोड़ते रहेंगे.

कॉन्टेंट चुनें

शेयर किए गए स्टोरेज में इकट्ठा की गई जानकारी के आधार पर, अलग-अलग वेबसाइटों पर फ़ेंस किए गए फ़्रेम में अलग-अलग कॉन्टेंट चुनें और दिखाएं. इस्तेमाल के इन मामलों में, यूआरएल चुनने का आउटपुट गेट होता है.

  • क्रिएटिव रोटेशन: क्रिएटिव आईडी, व्यू की संख्या, और उपयोगकर्ता के इंटरैक्शन जैसा डेटा स्टोर करके, यह तय किया जा सकता है कि अलग-अलग साइटों पर कौनसे क्रिएटिव उपयोगकर्ता को दिखे.
  • A/B टेस्टिंग: किसी उपयोगकर्ता को एक्सपेरिमेंट ग्रुप में असाइन किया जा सकता है. इसके बाद, उस ग्रुप को क्रॉस-साइट ऐक्सेस करने के लिए, शेयर किए गए स्टोरेज में सेव किया जा सकता है.
  • पसंद के मुताबिक उपयोगकर्ता अनुभव: उपयोगकर्ता के रजिस्ट्रेशन की स्थिति या उपयोगकर्ता की अन्य स्थितियों के आधार पर, पसंद के मुताबिक बनाया गया कॉन्टेंट और कॉल-टू-ऐक्शन शेयर करें

खास जानकारी वाली रिपोर्ट जनरेट करना

शेयर किए गए स्टोरेज की मदद से जानकारी इकट्ठा करें और ग़ैर-ज़रूरी और एग्रीगेट की गई खास जानकारी वाली रिपोर्ट जनरेट करें. इस्तेमाल के इन मामलों के लिए आउटपुट गेट प्राइवेट एग्रीगेशन एपीआई है.

  • यूनीक रीच मेज़रमेंट: कई कॉन्टेंट प्रोड्यूसर और विज्ञापन देने वाले यह जानना चाहते हैं कि कितने यूनीक लोगों ने उनका कॉन्टेंट देखा. जब किसी उपयोगकर्ता ने पहली बार आपका विज्ञापन, एम्बेड किया वीडियो या पब्लिकेशन देखा हो, तो उसे रिकॉर्ड करने के लिए शेयर किए गए स्टोरेज का इस्तेमाल करें. साथ ही, अलग-अलग साइटों पर उस उपयोगकर्ता की डुप्लीकेट गिनती को रोकने के लिए, शेयर किए गए स्टोरेज का इस्तेमाल करें. इसके बाद, अपनी पहुंच के बारे में खास जानकारी वाली रिपोर्ट जनरेट करने के लिए, Private एग्रीगेशन API का इस्तेमाल करें.
  • डेमोग्राफ़िक्स मेज़रमेंट: कॉन्टेंट प्रोड्यूसर अक्सर अपने दर्शकों की डेमोग्राफ़िक्स (उम्र, लिंग, आय, शिक्षा वगैरह) के बारे में जानना चाहते हैं. शेयर किए गए स्टोरेज का इस्तेमाल, उपयोगकर्ता के डेमोग्राफ़िक (उम्र, लिंग, आय, शिक्षा वगैरह) डेटा को उस संदर्भ में रिकॉर्ड करने के लिए किया जा सकता है जहां आपके पास वह है, जैसे कि पहले-पक्ष की साइट. साथ ही, एम्बेड किए गए कॉन्टेंट जैसी कई अन्य साइटों पर इसकी रिपोर्ट करने के लिए, एग्रीगेट की गई रिपोर्टिंग का इस्तेमाल किया जा सकता है.
  • K+ फ़्रीक्वेंसी मेज़रमेंट: कभी-कभी इसे "असरदार फ़्रीक्वेंसी" भी कहा जाता है. आम तौर पर, किसी कॉन्टेंट को पहचानने या उसे याद रखने से पहले, आम तौर पर उसे कम से कम संख्या में देखा जाता है. आम तौर पर, विज्ञापन देखे जाने के संदर्भ में ऐसा होता है. शेयर किए गए स्टोरेज की मदद से, ऐसे यूनीक उपयोगकर्ताओं की रिपोर्ट बनाई जा सकती हैं जिन्होंने किसी कॉन्टेंट को कम से कम K कितनी बार देखा है.

लोगों से जुड़ें और सुझाव, शिकायत या राय शेयर करें

शेयर किए गए स्टोरेज के प्रपोज़ल पर अभी चर्चा चल रही है. आने वाले समय में, इसमें बदलाव हो सकता है. अगर आप इस एपीआई को आज़माते हैं और आपके पास कोई सुझाव, राय या शिकायत है, तो हमें खुशी होगी.