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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

दिलचस्पी बढ़ाएं और सुझाव दें

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