Conduzir testes A/B

Use um worklet de armazenamento compartilhado para executar testes A/B.

A API Shared Storage é um modelo Proposta de sandbox para uso geral, armazenamento entre sites, compatível com muitas possíveis casos de uso. Um exemplo disso é o teste A/B, que está disponível para teste no Chrome 104.0.5086.0 e mais recentes.

Você pode atribuir um usuário a um grupo experimental e, em seguida, armazenar esse grupo em "Compartilhados" Armazenamento a ser acessado em um ambiente entre sites.

Experimente o teste A/B

Para fazer testes A/B com o armazenamento compartilhado, confirme se você está usando o Chrome 104.0.5086.0 ou uma versão mais recente. Ative todas as APIs de privacidade de anúncios em chrome://settings/adPrivacy.

Também é possível ativar o armazenamento compartilhado com a sinalização --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames na linha de comando.

Teste exemplos de código

Para ver se um experimento teve o efeito desejado, você pode fazer testes A/B em vários sites. Como anunciante ou produtor de conteúdo, você pode renderizar conteúdos ou anúncios diferentes com base no grupo ao qual o usuário está atribuído. A atribuição do grupo é salva no armazenamento compartilhado, mas não pode ser exfiltrada.

Neste exemplo:

  • ab-testing.js precisa ser incorporado em um frame, que mapeia um controle e dois conteúdos de experimento. O script chama a worklet de armazenamento compartilhado do experimento.
  • ab-testing-worklet.js é a worklet de armazenamento compartilhado que retorna o grupo a que o usuário foi atribuído, determinando qual anúncio é exibido.

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

Casos de uso

Estes são apenas alguns dos possíveis casos de uso do Shared Storage. Vamos continuar adicionando exemplos conforme recebemos feedback e descobrimos novos casos de uso.

Seleção de conteúdo

Selecione e exiba conteúdo diferente em sites diferentes em frames limitados com base nas informações coletadas no armazenamento compartilhado. A porta de saída desses casos de uso é a seleção de URL.

  • Rotação de criativos: armazene dados, como ID do criativo, contagens de visualizações e interação do usuário, para determinar quais criativos os usuários veem em diferentes sites.
  • Teste A/B: é possível atribuir um usuário a um grupo de experimentos e, em seguida, armazenar esse grupo no armazenamento compartilhado para acesso em vários sites.
  • Experiências personalizadas do usuário: compartilhe conteúdo personalizado e calls-to-action com base no status de registro ou em outros estados do usuário.

Gerar relatórios de resumo

Colete informações com o Armazenamento compartilhado e gere um relatório de resumo agregado e barulhento. A porta de saída desses casos de uso é a API Private Aggregation.

  • Medição de alcance único: muitos criadores de conteúdo e anunciantes querem saber quantas pessoas únicas tiveram acesso ao conteúdo. Use o armazenamento compartilhado para registrar a primeira vez que um usuário visualizou seu anúncio, vídeo incorporado ou publicação e evitar a contagem duplicada desse mesmo usuário em sites diferentes. Em seguida, use a API Private Aggregation para gerar um relatório de resumo do seu alcance.
  • Medição de informações demográficas: os produtores de conteúdo geralmente querem entender as informações demográficas do público. Você pode usar o Shared Storage para registrar dados demográficos do usuário em um contexto em que você os tenha, como seu site próprio, e usar relatórios agregados para gerar relatórios em muitos outros sites, como conteúdo incorporado.
  • Medição de frequência K+: às vezes, é descrita como "frequência efetiva". Geralmente, há um número mínimo de visualizações antes que um usuário reconheça ou se lembre de determinado conteúdo (geralmente no contexto de visualizações de anúncios). Você pode usar o armazenamento compartilhado para criar relatórios de usuários únicos que visualizaram um conteúdo pelo menos K vezes.

Engajamento e compartilhamento de feedback

A proposta da API Shared Storage está em discussão e desenvolvimento e, portanto, está sujeita a mudanças.

Queremos saber sua opinião sobre a API Shared Storage.

Fique por dentro

  • Lista de e-mails: inscreva-se na nossa lista de e-mails para receber as atualizações e os anúncios mais recentes relacionados à API Shared Storage.

Precisa de ajuda?