Enviando eventos para o dataLayer
OdataLayer é a camada de dados utilizada pelo Google Tag Manager ou Google
Tag (utilizado pelo Google Analytics) para gerenciar os eventos dos pixels que
estão configurados na tag.
Em um projeto deco.cx existe uma
sdk/analytics.ts
que contem a função sendEvents, que recebe um objeto do tipo
AnalyticsEvent
e adiciona o dado no dataLayer. Neste mesmo arquivo, também contem 2
componentes, que recebe uma propriedade event do tipo AnalyticsEvent e envia o
evento para o dataLayer. O SendEventOnLoad dispara o evento quando ocorrer o
evento de load do navegador, ele é útil para enviar os eventos, cujo nome tem
padrão view_*. Já o SendEventOnClick dispara o evento quando o elemento
for clicado.
Exemplos:
- Enviando evento de
add_to_cartquando o usuário clicar no botão de adicionar produto ao Carrinho. Este componente deve ser utilizado dentro de uma Island.
- Enviando evento de
view_itemna página de produto ao carregar a página, utilizando SendEventOnLoad.
- Enviando evento de
select_itemao clicar num link de produto, utilizando SendEventOnClick. Utilizar o SendEventOnClick é útil quando o componente é renderizado no servidor.
Customizando função de sendEvents
É possível extender a funçãosendEvents para disparar eventos para outras
camadas de dados diferente do dataLayer. No arquivo sdk/analytics.tsx do seu
projeto deco, você pode customizar a função sendEvent adicionando novos
integrações.
Exemplo:
Integrando dado do carrinho com o tipo AnalyticsItem
Para integrar um novo modelo de dados de carrinho, adicione um mapeador de dados no hook deuseCart.ts da plataforma que está implementando. Exemplo do
VTEX useCart.