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 interactionKey variable
chatActionJivo 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
| chatAction | Description |
|---|---|
chat widget opened | Widget expanded |
chat widget closed | Widget minimized |
chat started | Conversation initiated |
message sent | Visitor message |
message received | Agent reply |
phone call initiated | Click-to-call started |
email captured | Email submitted |
callback requested | Callback form submitted |
chat invitation shown | Proactive chat shown |
chat invitation accepted | Proactive chat accepted |
chat invitation dismissed | Proactive 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 Event | Condition | Parameters |
|---|---|---|
chat_widget_open | chatAction = chat widget opened | chat_platform: "jivochat" |
generate_lead | chatAction = email captured |