Przeprowadź test A/B

Do przeprowadzania testów A/B używaj Workletu współdzielonego miejsca na dane.

Shared Storage API to interfejs Privacy, Propozycja piaskownicy do zwykłych obciążeń, pamięci w wielu witrynach, która obsługuje wiele możliwych zastosowań. Jednym z przykładów są testy A/B dostępne do testowania, w Chrome 104.0.5086.0 i nowszych.

Możesz przypisać użytkownika do grupy eksperymentalnej i zapisać tę grupę w sekcji Udostępnione Miejsce na dane, z którego można korzystać w środowisku różnych witryn.

Wypróbuj Testy A/B

Aby eksperymentować z testami A/B dotyczącymi pamięci współdzielonej, upewnij się, że używasz Chrome w wersji 104.0.5086.0 lub nowszej. 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 sprawdzić, czy eksperyment przynosi oczekiwane rezultaty, możesz przeprowadzić testy A/B w wielu witrynach. Jako reklamodawca lub producent treści możesz wyświetlać różne treści lub reklamy w zależności od grupy, do której jest przypisany użytkownik. Przypisanie grupy jest zapisywane w pamięci współdzielonej, ale nie można go wydobyć.

W tym przykładzie:

  • Element ab-testing.js powinien być umieszczony w ramce, która mapuje kontrolę i 2 treści eksperymentu. Skrypt wywołuje Worklet pamięci współdzielonej na potrzeby eksperymentu.
  • ab-testing-worklet.js to Worklet pamięci współdzielonej, który określa, do której grupy jest przypisany użytkownik, i określa, która reklama zostanie wyświetlona.

ab-testing.js

// Randomly assigns a user to a group 0 or 1
function getExperimentGroup() {
  return Math.round(Math.random());
}

async function injectContent() {
  // Register the Shared Storage worklet
  await window.sharedStorage.worklet.addModule('ab-testing-worklet.js');

  // Assign user to a random group (0 or 1) and store it in Shared Storage
  window.sharedStorage.set('ab-testing-group', getExperimentGroup(), {
    ignoreIfPresent: true,
  });

  // Run the URL selection operation
  const fencedFrameConfig = await window.sharedStorage.selectURL(
    'ab-testing',
    [
      { url: `https://your-server.example/content/default-content.html` },
      { url: `https://your-server.example/content/experiment-content-a.html` }
    ],
    {
      resolveToConfig: true
    }
  );

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

injectContent();

ab-testing-worklet.js

class SelectURLOperation {
  async run(urls, data) {
    // Read the user's experiment group from Shared Storage
    const experimentGroup = await sharedStorage.get('ab-testing-group');

    // Return the corresponding URL (first or second item in the array)
    return urls.indexOf(experimentGroup);
  }
}

register('ab-testing', SelectURLOperation);

Przypadki użycia

W tej sekcji znajdziesz wszystkie dostępne przypadki użycia interfejsu Select URL API. Będziemy dodawać kolejne przykłady, gdy będziemy otrzymywać opinie i odkrywać nowe przypadki testowe.

Angażowanie użytkowników i przesyłanie opinii

Pamiętaj, że interfejs Select URL API jest obecnie przedmiotem dyskusji i jest w trakcie opracowywania, dlatego może ulec zmianie.

Chętnie poznamy Twoją opinię na temat interfejsu Select URL API.

Trzymaj rękę na pulsie

  • Lista mailingowa: zasubskrybuj naszą listę mailingową, aby otrzymywać najnowsze informacje i komunikaty dotyczące interfejsów Select URL i Shared Storage API.

Potrzebujesz pomocy?