Com essa integração é possível abrir, fechar ou esconder o chat, por meio de regras definidas dentro do Google Tag Manager. E com o componente "Evento Webchat" você pode realizar o processo inverso, utilizando o SZ.chat como gatinho para ações dentro do Tag Manager.
Nesse artigo você aprenderá a inserir o script de ativação no site, a abrir o chat automaticamente após 30 segundos de navegação em seu website e como preencher campos adicionais com informações vindas do site.
Essas são apenas algumas das diversas possibilidades trazidas por esta integração.
1 - Adicionar o script de ativação no site
- Acessar a aba de Tags;
- Clicar em novo;
- Na configuração de Tag, escolha a opção HTML Personalizado;
- No campo HTML cole o script de ativação gerado pelo SZ.chat;
- No acionamento, escolha a opção que mais lhe atenda (Nesse exemplo usaremos a opção: Initialization - All Pages);
- Atribua um nome para a Tag e clique em Salvar.
Ao acessar o website, o Webchat será exibido.
2 - Abrir o chat automaticamente após certo tempo do usuário navegando pelo website.
Criar uma variável para controlar a abertura do chat
- Acessar a aba de Variáveis;
- No card Variáveis definidas pelo usuário, clique em Novo;
- Na configuração da variável, escolha a opção Variável da camada de dados;
- No campo ‘Nome da variável da camada de dados’, escolha o nome da variável que será usada pelo Webchat. (Nesse exemplo usaremos o nome webchatHasOpen);
- Defina o nome (Nesse exemplo usaremos o nome Chat Foi Aberto);
- Clique em salvar.
Criar um acionador por tempo
- Acessar a aba Acionadores;
- Clique em novo;
- Na configuração do acionador, escolha a opção Timer;
- No campo intervalo, defina o tempo para que o acionador seja executado. (Valor em milisegundos);
- No campo limite, escolha quantas vezes o acionador será executado;
- Na etapa de condições, escolha a que mais lhe atenda (Nesse exemplo usaremos o filtro de Page Path, ou seja, o acionador será executado em todas a páginas do site);
- Defina um nome e clique em salvar.
Criar uma tag para abrir o chat
- Acessar a aba de Tags;
- Clicar em novo;
- Na configuração de Tag, escolha a opção HTML Personalizado;
- No campo HTML adicione o seguinte código:
<script> if ({{Chat Foi Aberto}} !== 'true') { window.webchat.chatOpen(); } </script>
- Na etapa de acionadores, escolha o acionador de tempo criado anteriormente;
- Escolha o nome da Tag e clique em salvar.
Modificar script de ativação para preencher a variável
- Edite a Tag criada com o script de ativação do Webchat;
- Adicione o seguinte código, antes do fechamento do script
</script>
:window.webchat('afterOpen', function() { window.dataLayer.push({ webchatHasOpen: 'true' }); });
- Salve as modificações;
3 - Enviar dados do site para o cadastro do contato
Nessa etapa iremos enviar alguns dados do site para campos adicionais no cadastro do contato
Enviar o caminho da página em que o chat foi iniciado
Será necessário alterar o script de ativação do Webchat.
- Abra a Tag que contem o script;
- Adicione uma nova linha do código, contendo o nome do campo adicional:
Exemplo: para adicionar o valor no campo adicional {{PAGINA_ATUAL}}
é necessário adicionar a seguinte linha:
s.webchat('szf_pagina_atual', {{Page Path}});
Obs: Para que o dado seja recebido corretamente pela plataforma, é preciso cadastrar o campo adicional.
- Salve as modificações
Agora ao enviar ou visualizar as modificações e o chat for iniciado, a informação da página será exibida no campo adicional do contato.
4 - Enviar informações do fluxo do SZ.chat para o Tag Manager utilizando o componente evento webchat
Este recurso possibilita o envio de eventos configurados no fluxo e eventos automáticos para o Google Tag Manager.
Adicionar o componente evento webchat no fluxo
Quando o cliente passa pelo componente a informação contida na caixa de texto será enviada para o Tag Manager para ser usada conforme a sua preferência.
1 - Em fluxo
2 - Selecione o componente evento webchat
3 - Adicione a informação da sua preferência da caixa de texto
4 - Posicione o evento no local da sua preferência
Modificar o script de ativação para escutar os eventos enviados pelo componente do fluxo Evento Webchat.
Exemplo:
<script type="text/javascript"> (function(s, z, c, h, a, t) { s.webchat = s.webchat || function() { (s.webchat.q = s.webchat.q || []).push(arguments); }; t = z.createElement(c), a = z.getElementsByTagName(c)[0]; t.async = 1; t.src = 'https://domain.sz.chat/webchat/v2/webchat.js'; a.parentNode.insertBefore(t, a); s.webchat('cid', '615daaae7a90be00117c5930'); s.webchat('host', h); })(window, document, 'script', 'https://domain.sz.chat'); window.dataLayer = window.dataLayer || []; window.addEventListener("message", function(event) { if(event.origin !== 'https://domain.sz.chat') return; if(event.data.action === 'chat-event'){ window.dataLayer.push({ event: event.data.action, message: event.data.message }); } }, false); window.webchat('afterOpen', function(event) { window.dataLayer.push({ chat_status: 'aberto' }); }); </script>
Detalhes do Script
Declaração da lista de objetos, contendo variáveis e eventos do Tag Manager. (Obrigatório).
window.dataLayer = window.dataLayer || [];
Escutar os eventos do fluxo e enviá-los para o Google Tag Manager.
- linha 2: Verificando a origem da mensagem, no exemplo, se a URL de origem não corresponder a ‘https://domain.sz.chat’, o script não realiza nenhuma ação.
- linha 4: Verificando se a ação corresponde ao componente de evento do fluxo (chat-event).
- linha 5: Envio dos eventos recebidos para o Tag Manager.
window.addEventListener("message", function(event) { if(event.origin !== 'https://domain.sz.chat') return; if(event.data.action === 'chat-event'){ window.dataLayer.push({ event: event.data.action, message: event.data.message }); } }, false);
Eventos automáticos:
No exemplo abaixo, o script está definido para ouvir quando o chat for aberto.
window.webchat('afterOpen', function(event) { window.dataLayer.push({ chat_status: 'aberto' }); });
Eventos
Após o carregamento do script alguns eventos ficarão disponíveis. Para ouvir os eventos é necessário acessar o método de instância:
window.webchat('nome-do-evento')
Exemplo
<script> window.webchat('onReady', function(event) { console.log('O chat está pronto'); }) window.webchat('afterClose', function(event) { console.log('O chat fechou'); }) </script>
Nome do evento | Acionador |
onReady | Quando o chat é carregado |
beforeOpen | Antes de abrir o chat |
onOpen | Ao abrir o chat |
afterOpen | Após abrir o chat |
beforeClose | Antes de fechar o chat |
onClose | Ao fechar o chat |
afterClose | Após fechar o chat |
Parâmetros disponíveis antes do carregamento do chat:
Via script
Os parâmetros devem ser definidos abaixo da chamada no script de integração:
s.webchat('host', h);
s.webchat('szf_custom_var', 'custom value');
Option | Type | Default | Description |
debug | Boolean | false | Exibe informações de debug no console |
locale | String | pt-BR | Linguagem de exibição |
cid | String | null | ID do canal. Obrigatório por script ou por URL |
button_label | String | null | Texto que vai aparecer no balão do lado do botão do chat e que tem prioridade em relação a configuração do texto no canal (Disponível apenas no modo janela) |
fid | String | null | ID do fluxo que o chat será iniciado. Se vazio inicia no fluxo padrão |
z-index | Integer | 2147483640 | Altera a ordem de exibição do elemento na página |
szf_name | String | null | Definir nome do usuário do chat |
szf_email | String | null | Definir email do usuário do chat |
szf_{CAMPO} | String | null | É possível definir qualquer campo adicional usando o prefixo szf_ + nome do campo em minúsculo, ex.: szf_telefone (Só é permitido utilizar letras e underlines, um campo adicional deve ser criado no SZ.chat com as mesmas caracteristicas removendo apenas o ‘szf_’) |