Sıklığa göre reklam öğesi seçme

Bir URL seçmek için Paylaşılan Depolama iş uygulaması çalıştırın ve URL'yi sınırlı bir çerçeve içinde oluşturun.

Shared Storage API, pek çok olası kullanım alanını destekleyen genel amaçlı ve siteler arası depolamaya yönelik bir Özel Korumalı Alan teklifidir. Buna örnek olarak, Chrome Beta 104.0.5086.0 ve sonraki sürümlerinde test etmek için kullanılabilen sıklık kontrolü verilebilir.

Depolanan verilere dayanarak, sağlanan listeden bir URL seçmek için bir iş uygulaması komut dosyası çalıştırın, ardından bu URL'yi sınırlanmış bir çerçevede oluşturun. Bu, sıklık sınırına ulaşıldığında yeni reklamları veya diğer içerikleri seçmek için kullanılabilir.

Sıklığa göre reklam öğesi seçimini test etme

Reklam öğesi seçimini Paylaşılan Depolama Alanı ve Kısıtlanmış Çerçeveler ile sıklığa göre test etmek için Chrome 104.0.5086.0 veya sonraki bir sürümü kullandığınızı onaylayın. Ardından chrome://flags/#privacy-sandbox-ads-apis konumunda Özel Korumalı Alan Reklamları API'leri denemesi işaretini etkinleştirin.

Bu API'leri kullanmak için Özel Korumalı Alan Reklamları API'leri denemesini etkin olarak ayarlayın

Paylaşılan Depolama'yı komut satırındaki --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames işaretiyle de etkinleştirebilirsiniz.

Kod örnekleriyle deneme yapma

Opak bir URL seçmek ve oluşturmak için bir iş akışı modülünü kaydederek paylaşılan depolama alanı verilerini okuyun. İş uygulaması sınıfı en fazla sekiz URL içeren bir liste alır ve ardından, seçilen URL'nin dizinini döndürür.

İstemci sharedStorage.selectURL() öğesini çağırdığında, iş uygulaması yürütülür ve çitlenmiş bir çerçeve içinde oluşturulacak opak bir URL döndürür.

Oluşturulmak üzere farklı bir reklam veya içerik seçmek istediğinizi varsayalım. Bu seçim, kullanıcının söz konusu reklamı daha önce kaç kez gördüğüne bağlıdır. Bir kullanıcının bir içeriği kaç kez gördüğünü sayabilir ve bu değeri paylaşılan bir depolama alanında depolayabilirsiniz. Depolandıktan sonra, paylaşılan depolama alanındaki değer farklı kaynaklarda sizin için kullanılabilir hale gelir.

Ardından, paylaşılan depolama iş akışı, paylaşılan depolama alanındaki değerleri okur ve her ek görünümde sayacı artırır. Sayı önceden tanımlanmış sınıra ulaşmadıysa, oluşturmak istediğiniz içerik döndürülür (dizin 1). Aksi takdirde, varsayılan URL döndürülür (dizin 0).

Bu örnekte:

  • creative-selection-by-frequencyjs, içerik üreticisinin veya reklamverenin iframe'i aracılığıyla yüklenir ve paylaşılan depolama iş yükünü yüklemekten ve döndürülen opak kaynağı sınırlanmış bir çerçevede oluşturmaktan sorumludur.
  • creative-selection-by-frequency-worklet.js, bir içerik veya reklam öğesi için hangi URL'nin döndürüleceğini belirlemek üzere sıklık sayısını okuyan paylaşılan depolama alanı iş uygulamasıdır.

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 this.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 this.sharedStorage.set('frequency-count', count + 1);
    return 1;
  }
}

// Register the operation as 'creative-selection-by-frequency'.
register('creative-selection-by-frequency', CreativeSelectionByFrequencyOperation);

Kullanım alanları

Bunlar, Paylaşılan Depolama Alanı'nın olası kullanım alanlarından yalnızca bazılarıdır. Geri bildirim aldık ve yeni kullanım alanları keşfettikçe örnekler eklemeye devam edeceğiz.

İçerik seçimi

Paylaşılan Depolama Alanı'nda toplanan bilgilere göre çitli çerçeveler içinde farklı web sitelerinde farklı içerikler seçin ve görüntüleyin. Bu kullanım alanları için çıkış kapısı URL seçimidir.

  • Reklam öğesi rotasyonu: Kullanıcıların farklı sitelerde hangi reklam öğesini gördüğünü belirlemek için reklam öğesi kimliği, görüntüleme sayıları ve kullanıcı etkileşimi gibi verileri depolayın.
  • A/B testi: Bir deneme grubuna kullanıcı atayabilir, ardından bu grubu siteler arasında erişmek üzere Paylaşılan Depolama'da saklayabilirsiniz.
  • Özel kullanıcı deneyimleri: Kullanıcının kayıt durumuna veya diğer kullanıcı durumlarına göre özel içerikler ve harekete geçirici mesajlar paylaşın

Özet rapor oluşturma

Paylaşılan Depolama ile bilgi toplayarak gürültülü, toplu bir özet rapor oluşturdu. Bu kullanım alanları için çıkış kapısı, Private Aggregation API'dir.

  • Tekil erişim ölçümü: Birçok içerik üreticisi ve reklamveren, içeriklerini kaç benzersiz kullanıcının gördüğünü bilmek ister. Paylaşılan Depolama Alanı'nı kullanarak bir kullanıcının reklamınızı, yerleşik videonuzu veya yayınınızı ilk kez gördüğünü kaydedebilir ve aynı kullanıcının farklı sitelerde yinelenen şekilde sayılmasını önleyebilirsiniz. Ardından, erişiminiz için özet raporu oluşturmak amacıyla Private Aggregation API'yi kullanabilirsiniz.
  • Demografi ölçümü: İçerik üreticileri genellikle kitlelerinin demografisini anlamak ister. Paylaşılan Depolama Alanı'nı kullanarak kullanıcıların demografik verilerini, birinci taraf siteniz gibi sahip olduğunuz bir bağlamda kaydedebilir ve yerleşik içerik gibi diğer pek çok sitede bu veriler hakkında rapor oluşturmak için toplu raporlardan yararlanabilirsiniz.
  • K+ sıklık ölçümü: Bazen "etkili sıklık" olarak da bahsedildiğinde, kullanıcının belirli içeriği tanıması veya hatırlaması için genellikle bir minimum görüntüleme sayısı olur (genellikle reklam görüntülemeleri bağlamında). Bir içeriği en az K sayıda gören benzersiz kullanıcılar hakkında raporlar oluşturmak için Paylaşılan Depolama'yı kullanabilirsiniz.

Etkileşimde bulunun ve geri bildirim paylaşın

Paylaşılan Depolama alanı teklifi şu anda etkin bir şekilde tartışılmaktadır ve gelecekte değiştirilebilir. Bu API'yi deneyip geri bildirimde bulunursanız memnuniyet duyarız.