Personalize a experiência do usuário para clientes conhecidos

Use um worklet de armazenamento compartilhado para identificar clientes conhecidos.

A API Shared Storage é uma proposta do Sandbox de privacidade para armazenamento entre sites e de uso geral, que oferece suporte a muitos casos de uso possíveis. Um exemplo é a identificação de clientes conhecidos, que está disponível para testes no Chrome 104.0.5086.0 e versões mais recentes.

Você pode armazenar se o usuário se registrou no seu site no armazenamento compartilhado e renderizar um elemento separado com base no status armazenado do usuário (se ele é um cliente "conhecido").

Definir clientes conhecidos

Para tentar identificar clientes conhecidos no armazenamento compartilhado, confirme se você está usando o Chrome 104.0.5086.0 ou posterior. 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

Convém renderizar um elemento diferente dependendo se o usuário foi visto em um site diferente. Por exemplo, um provedor de pagamento pode querer exibir um botão "Registrar" ou "Comprar agora" com base no fato de o usuário ter se registrado no site do provedor de pagamento. O armazenamento compartilhado pode ser usado para definir o status do usuário e personalizar a experiência do usuário com base nesse status.

Neste exemplo:

  • known-customer.js está incorporado em um frame. Esse script define as opções para os quais o botão deve ser exibido em um site: "Registre-se" ou "Compre agora".
  • known-customer-worklet.js é a worklet de armazenamento compartilhado que determina se o usuário é conhecido. Se o usuário for conhecido, as informações serão retornadas. Se o usuário for desconhecido, essa informação será retornada para exibir o botão "Registrar" e o usuário será marcado como conhecido para o futuro.

known-customer.js (em inglês)

// The first URL for the "register" button is rendered for unknown users.
const BUTTON_URLS = [
  { url: `https://${advertiserUrl}/ads/register-button.html` },
  { url: `https://${advertiserUrl}/ads/buy-now-button.html` },
];

async function injectButton() {
  // Load the worklet module
  await window.sharedStorage.worklet.addModule('known-customer-worklet.js');

  // Set the initial status to unknown ('0' is unknown and '1' is known)
  window.sharedStorage.set('known-customer', 0, {
    ignoreIfPresent: true,
  });

  // Run the URL selection operation to choose the button based on the user status
  const fencedFrameConfig = await window.sharedStorage.selectURL('known-customer', BUTTON_URLS, {
    resolveToConfig: true
  });

  // Render the opaque URL into a fenced frame
  document.getElementById('button-slot').src = fencedFrameConfig;
}

injectButton();

known-customer-worklet.js (em inglês)

class SelectURLOperation {
  async run(urls) {
    const knownCustomer = await this.sharedStorage.get('known-customer');

    // '0' is unknown and '1' is known
    return parseInt(knownCustomer);
  }
}

register('known-customer', SelectURLOperation);

Casos de uso

Esses são apenas alguns dos casos de uso possíveis para o armazenamento compartilhado. Continuaremos adicionando exemplos à medida que recebermos feedback e descobrirmos novos casos de uso.

Seleção de conteúdo

Selecione e exiba conteúdos diferentes em diferentes sites em frames isolados com base nas informações coletadas no armazenamento compartilhado. A porta de saída para esses 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: você pode atribuir um usuário a um grupo experimental e, em seguida, armazenar esse grupo no armazenamento compartilhado para ser acessado entre sites.
  • Experiências do usuário personalizadas: compartilhe conteúdo e calls-to-action personalizados com base no status de registro ou em outros estados do usuário

Gerar relatórios de resumo

Coletar informações com o Armazenamento compartilhado e gerar um relatório resumido agregado e com ruído. A porta de saída para esses casos de uso é a API Private Aggregate.

  • Medição do alcance único: muitos produtores de conteúdo e anunciantes querem saber quantas pessoas únicas viram o conteúdo. Use o armazenamento compartilhado para registrar a primeira vez que um usuário viu seu anúncio, vídeo incorporado ou publicação e evite a contagem duplicada desse mesmo usuário em sites diferentes. É possível usar a API Private agregação para gerar um relatório resumido sobre 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-alvo. É possível usar o armazenamento compartilhado 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 sobre eles em muitos outros sites, como conteúdo incorporado.
  • Medição de frequência K+: às vezes descrita como "frequência efetiva", 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. Use o armazenamento compartilhado para criar relatórios de usuários únicos que visualizaram um conteúdo pelo menos K vezes.

Engage and share feedback

The Shared Storage proposal is under active discussion and subject to change in the future. If you try this API and have feedback, we'd love to hear it.