Script WebChat - Exemplo de usos do Google Tag Manager

Modificado em Qui, 17 Abr na (o) 8:17 AM

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 Wide Chat como gatilho 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 Wide 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.





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 milissegundos);
  • 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;

Agora ao enviar ou visualizar as modificações, o chat será aberto automaticamente após 30 segundos.




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 Wide 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.


a) Em fluxo

b) Selecione o componente evento webchat

c) Adicione a informação da sua preferência da caixa de texto

d) 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.

<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.widechat.com.br/webchat/v2/webchat.js'; 
        a.parentNode.insertBefore(t, a);
        s.webchat('cid', '615daaae7a90be00117c5930');
        s.webchat('host', h);
    })(window, document, 'script', 'https://domain.widechat.com.br');
    
    window.dataLayer = window.dataLayer || [];
    
    window.addEventListener("message", function(event) {
        if(event.origin !== 'https://domain.widechat.com.br') 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.widechat.com.br’, 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.widechat.com.br') 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 eventoAcionador
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 Wide Chat com as mesmas caracteristicas removendo apenas o ‘szf_’)

Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos
A verificação do CAPTCHA é obrigatória.

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo