Skip to main content

Jivo Chat GTM Event Listener

Track JivoChat widget interactions in GTM. Monitor chat open, messages, calls, email capture, and CRM actions with chatAction and chatWidgetID variables.

jivochatjivochatgtmga4supportecommerce

Event fired

jivochat interaction

Key variable

chatAction

Jivo Chat

Overview

JivoChat is a multi-channel business messaging platform supporting live chat, calls, email, and CRM. This listener hooks into Jivo's jivo_onLoadCallback and event API to track 10+ interactions.

Event fired: jivochat interaction Variables: chatAction, chatWidgetID

Tracked Events

chatActionDescription
chat widget openedWidget expanded
chat widget closedWidget minimized
chat startedConversation initiated
message sentVisitor message
message receivedAgent reply
phone call initiatedClick-to-call started
email capturedEmail submitted
callback requestedCallback form submitted
chat invitation shownProactive chat shown
chat invitation acceptedProactive chat accepted
chat invitation dismissedProactive chat dismissed

Installation

html
<!-- GTM Custom HTML Tag: Jivo Chat Listener -->
<script>
(function() {
  function jivoPush(action, extra) {
    window.dataLayer = window.dataLayer || [];
    window.dataLayer.push(Object.assign({
      'event': 'jivochat interaction',
      'chatAction': action,
      'chatWidgetID': window.jivo_config ? jivo_config.widget_id : ''
    }, extra || {}));
  }

  window.jivo_onLoadCallback = function() {
    jivo_api.on('show', function() { jivoPush('chat widget opened'); });
    jivo_api.on('hide', function() { jivoPush('chat widget closed'); });
    jivo_api.on('chat_start', function(c) { jivoPush('chat started', { chatSessionId: c.chat_id }); });
    jivo_api.on('chat_end', function() { jivoPush('chat ended'); });
    jivo_api.on('message_sent', function() { jivoPush('message sent'); });
    jivo_api.on('message_received', function() { jivoPush('message received'); });
    jivo_api.on('invitation_shown', function() { jivoPush('chat invitation shown'); });
    jivo_api.on('invitation_accepted', function() { jivoPush('chat invitation accepted'); });
    jivo_api.on('invitation_rejected', function() { jivoPush('chat invitation dismissed'); });
    jivo_api.on('call_start', function() { jivoPush('phone call initiated'); });
    jivo_api.on('email_capture', function(data) {
      jivoPush('email captured', { chatVisitorEmail: data.email });
    });
    jivo_api.on('callback', function() { jivoPush('callback requested'); });
  };
})();
</script>

Data Layer Output

json
{
  "event": "jivochat interaction",
  "chatAction": "chat started",
  "chatWidgetID": "widget_abc123",
  "chatSessionId": "session_xyz"
}

Trigger Configuration

Trigger Type: Custom Event Event Name: jivochat interaction

GA4 Mapping

GA4 EventConditionParameters
chat_widget_openchatAction = chat widget openedchat_platform: "jivochat"
generate_leadchatAction = email capturedemail

Related Listeners