Analytics
TODO
Enviando eventos para o dataLayer
O dataLayer
é 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_cart
quando 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_item
na página de produto ao carregar a página, utilizando SendEventOnLoad.
- Enviando evento de
select_item
ao 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ção sendEvents
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 de useCart.ts
da plataforma que está implementando. Exemplo do
VTEX useCart.