Wybierz kreację według częstotliwości

Uruchom Worklet Shared Storage, aby wybrać adres URL i wyrenderować go w zabezpieczonej ramce.

Shared Storage API to oferta pakietowa Piaskownicy prywatności do ogólnego przeznaczenia do przechowywania w różnych witrynach, która obsługuje wiele możliwych przypadków użycia. Jednym z przykładów jest kontrola częstotliwości, którą można przetestować w Chrome w wersji beta 104.0.5086.0 i nowszych.

Uruchom skrypt Worklet, aby na podstawie zapisanych danych wybrać adres URL z podanej listy, a następnie wyrenderuj go w zabezpieczonej ramce. Pozwala to wybrać nowe reklamy lub inne treści po osiągnięciu limitu częstotliwości.

Testowanie wyboru kreacji według częstotliwości

Aby przetestować wybór kreacji według częstotliwości w przypadku pamięci współdzielonej i ramek, upewnij się, że używasz Chrome 104.0.5086.0 lub nowszej wersji. Włącz wszystkie interfejsy Ad Privacy API w sekcji chrome://settings/adPrivacy.

Możesz też włączyć pamięć współdzieloną, używając flagi --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames w wierszu poleceń.

Eksperyment z przykładowym kodem

Aby wybrać i utworzyć nieprzezroczysty adres URL, zarejestruj moduł Worklet do odczytu danych pamięci współdzielonej. Klasa Worklet otrzymuje listę maksymalnie 8 adresów URL, a potem zwraca indeks wybranego adresu URL.

Gdy klient wywołuje sharedStorage.selectURL(), Worklet wykonuje działanie i zwraca nieprzejrzysty adres URL, który jest renderowany w chronionej ramce.

Załóżmy, że chcesz wybrać do renderowania inną reklamę lub treści w zależności od tego, ile razy dany użytkownik już widział te treści. Możesz zliczać wyświetlenia treści użytkownikowi i zapisywać tę wartość w pamięci współdzielonej. Po zapisaniu wartość w pamięci współdzielonej staje się dostępna w różnych źródłach.

Następnie Worklet pamięci współdzielonej odczytuje wartości w pamięci współdzielonej i zwiększa licznik z każdym dodatkowym widokiem. Jeśli licznik nie osiągnie wstępnie zdefiniowanego limitu, zwracana jest treść, którą chcesz wyrenderować (indeks 1). W przeciwnym razie zwracany jest domyślny adres URL (indeks 0).

W tym przykładzie:

  • Element creative-selection-by-frequencyjs jest wczytywany za pomocą elementu iframe producenta treści lub reklamodawcy i odpowiada za wczytanie Workletu pamięci współdzielonej i wyrenderowanie zwróconego nieprzezroczystego źródła w zabezpieczonej ramce.
  • creative-selection-by-frequency-worklet.js to Worklet pamięci współdzielonej, który odczytuje liczbę częstotliwości, aby określić, który adres URL jest zwracany w przypadku treści lub kreacji.

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);

Przypadki użycia

To tylko niektóre z możliwych zastosowań pamięci współdzielonej. W miarę otrzymywania opinii i odkrywania nowych przypadków użycia będziemy dodawać kolejne przykłady.

Wybór treści

Wybieraj i wyświetlaj różne treści na różnych stronach w ogrodzonych ramkach na podstawie informacji zebranych w pamięci współdzielonej. Bramką wyjściową dla tych przypadków użycia jest wybór adresu URL.

  • Rotacja kreacji: przechowuj dane, np. identyfikator kreacji, liczbę wyświetleń i interakcje użytkowników, aby określać, które kreacje widzą użytkownicy w różnych witrynach.
  • Testy A/B: możesz przypisać użytkownika do grupy eksperymentalnej, a potem zapisać tę grupę w pamięci współdzielonej, aby mieć do niej dostęp w różnych witrynach.
  • Niestandardowe wrażenia użytkowników: udostępniaj niestandardowe treści i wezwania do działania wybrane na podstawie stanu rejestracji użytkownika lub innych stanów użytkownika.

Generowanie raportów podsumowujących

Gromadzenie informacji w pamięci współdzielonej i generowanie szczegółowego raportu podsumowującego. Bramką wyjściową dla tych przypadków użycia jest Private Aggregation API.

  • Pomiar zasięgu wśród unikalnych użytkowników: wielu producentów treści i reklamodawców chce wiedzieć, ilu unikalnych użytkowników zobaczyło ich treści. Korzystaj z pamięci współdzielonej, by rejestrować, kiedy użytkownik po raz pierwszy zobaczył Twoją reklamę, umieszczony film lub publikację, i zapobiec zduplikowaniu tego samego użytkownika w różnych witrynach. Następnie możesz użyć interfejsu Private Aggregation API, aby wygenerować raport podsumowujący dla Twojego zasięgu.
  • Pomiar danych demograficznych: twórcy treści często chcą poznać dane demograficzne swoich odbiorców. Możesz wykorzystać pamięć współdzieloną, aby rejestrować dane demograficzne użytkowników w kontekście, w jakim są dostępne (np. w Twojej własnej witrynie), a potem generować raporty na ich temat obejmujące wiele innych witryn, na przykład treści umieszczone na innej stronie.
  • Pomiar częstotliwości K+: czasami określany jako „efektywna częstotliwość” występuje często minimalna liczba wyświetleń, zanim użytkownik rozpozna lub zapamięta określone treści (często w kontekście wyświetleń reklamy). Możesz wykorzystać pamięć współdzieloną, aby tworzyć raporty o unikalnych użytkownikach, którzy widzieli treść co najmniej tyle razy.

Angażuj i dziel się opiniami

Oferta pamięci współdzielonej jest obecnie przedmiotem dyskusji i w przyszłości może ulec zmianie. Jeśli wypróbowujesz ten interfejs API i chcesz podzielić się opinią, chętnie poznamy Twoją opinię.