Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Essas são apenas algumas das inúmeras possibilidades oferecidas por essa integração.

Google Tag Manager

Acesse Tag Manager e faça login com uma Conta Google. Para os próximos passos, é necessário já possuir uma conta no ambiente, pois a aba de Tags é liberada.

...

Code Block
<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

  1. Obrigatório: declaração da lista de objetos, contendo variáveis e eventos do Tag Manager.

    Code Block
    window.dataLayer = window.dataLayer || [];
  2. Capturar os eventos do fluxo e enviá-los para o Google Tag Manager.

    Code Block
    window.addEventListener("message", function(event) {
        if(event.origin !== 'https://hub.conecta.com.vc') return;//origem
    
        if(event.data.action === 'chat-event'){//ação do componente
            window.dataLayer.push({//envio dos eventos
                event: event.data.action,
                message: event.data.message
            });
        }
    }, false);

Eventos automáticos

No exemplo abaixo, o script está definido para capturar quando o chat for aberto:

Code Block
window.webchat('afterOpen', function(event) {
    window.dataLayer.push({ chat_status: 'aberto' });
});

Eventos

Após o carregamento do script, alguns eventos ficarão disponíveis e para capturar os eventos é necessário acessar o método de instância:

...

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

Code Block
s.webchat('host', h);
s.webchat('szf_custom_var', 'custom value');

...