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

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

Shared Storage API, Privacy Sandbox का एक प्रस्ताव है. इसका मकसद, सामान्य तौर पर इस्तेमाल होने वाले क्रॉस-साइट स्टोरेज को उपलब्ध कराना है. इसका इस्तेमाल कई कामों के लिए किया जा सकता है. क्रिएटिव रोटेशन इसका एक उदाहरण है. इसे Chrome 104.0.5086.0 और उसके बाद के वर्शन में आज़माया जा सकता है.

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

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

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

शेयर किए गए स्टोरेज की मदद से क्रिएटिव रोटेशन की सुविधा आज़माने के लिए, पक्का करें कि आपके पास Chrome 104.0.5086.0 या उसके बाद का वर्शन हो. chrome://settings/adPrivacy में जाकर, विज्ञापन देखने वाले की निजता बनाए रखने से जुड़े सभी एपीआई चालू करें.

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

कोड सैंपल आज़माना

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

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

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

creative-rotation.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('creative-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-rotation-worklet.js

class SelectURLOperation {
  async run(urls, data) {
    // Read the rotation mode from Shared Storage
    const rotationMode = await 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 sharedStorage.get('creative-rotation-index');
        index = parseInt(currentIndex, 10);
        const nextIndex = (index + 1) % urls.length;

        await 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 टेस्टिंग: किसी उपयोगकर्ता को एक्सपेरिमेंट ग्रुप में असाइन किया जा सकता है. इसके बाद, उस ग्रुप को शेयर किए गए स्टोरेज में सेव किया जा सकता है, ताकि उसे अलग-अलग साइटों से ऐक्सेस किया जा सके.
  • उपयोगकर्ताओं को कस्टम अनुभव देना: उपयोगकर्ता के रजिस्ट्रेशन स्टेटस या अन्य स्थितियों के आधार पर, कस्टम कॉन्टेंट और कॉल-टू-ऐक्शन शेयर करना

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

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

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

दर्शकों से जुड़ना और सुझाव, राय या शिकायत शेयर करना

ध्यान दें कि Shared Storage API के प्रस्ताव पर फ़िलहाल चर्चा की जा रही है और इसे डेवलप किया जा रहा है. इसलिए, इसमें बदलाव हो सकते हैं.

हम शेयर किए गए स्टोरेज के एपीआई के बारे में आपके विचार जानना चाहते हैं.

अप-टू-डेट रहना

  • मेल सूची: Shared Storage API से जुड़े नए अपडेट और सूचनाओं के लिए, हमारी मेल सूची की सदस्यता लें.

क्या आपको मदद चाहिए?