Usar uma worklet de armazenamento compartilhado para identificar clientes conhecidos.
A API Shared Storage é uma proposta do Sandbox de privacidade para armazenamento entre sites de uso geral e compatível com muitos casos de uso possíveis. Um exemplo é identificar clientes conhecidos, disponível para teste no Chrome 104.0.5086.0 e posterior.
É possível armazenar se o usuário se registrou no seu site no armazenamento compartilhado e, em seguida, renderizar um elemento separado com base no status armazenado do usuário (se o usuário é 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. Em seguida, ative a flag de
experimento das APIs de anúncios do Sandbox de privacidade em chrome://flags/#privacy-sandbox-ads-apis
.
Também é possível ativar o armazenamento compartilhado com a sinalização --enable-features=PrivacySandboxAdsAPIsOverride,OverridePrivacySandboxSettingsLocalTesting,SharedStorageAPI,FencedFrames
na linha de comando.
Testar exemplos de código
É possível renderizar um elemento diferente se o usuário foi visto em outro site ou não. Por exemplo, um provedor de pagamento pode querer renderizar um botão “Registrar” ou “Comprar agora” com base no fato de o usuário ter se registrado ou não no site do provedor de pagamento. O armazenamento compartilhado pode ser usado para definir o status do usuário e personalizar a experiência dele com base nesse status.
Neste exemplo:
known-customer.js
está incorporado a um frame. Este script define as opções de exibição do botão "Registrar" ou "Comprar agora" em um site.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.
// 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.
Interaja e compartilhe feedback
A proposta de armazenamento compartilhado está em discussão e sujeita a mudanças no futuro. Se você testar essa API e quiser enviar seu feedback, adoraríamos ouvir.
- GitHub: leia a proposta, faça perguntas e participe de discussões.
- Avisos sobre a API Shared Storage: participe ou confira avisos anteriores na nossa lista de e-mails
- Suporte ao desenvolvedor: faça perguntas e participe de discussões no repositório de suporte para desenvolvedores do Sandbox de privacidade.