REVE Chat GTM Event Listener
Track REVE Chat interactions in GTM. Monitor widget open, messages, co-browsing, video calls, and offline messages with revechat_type variable.
reve-chatvideo-chatco-browsingchatgtmga4support
Event fired
revechat_interactionKey variable
revechat_typeReve Chat
Overview
REVE Chat is a customer engagement platform with unique features including co-browsing, video chat, voice calls, and screen sharing in addition to standard live chat. This listener tracks all interaction types.
Event fired: revechat_interaction
Variable: revechat_type
Tracked Events
| revechat_type | Description |
|---|---|
chat opened | Widget opens |
chat closed | Widget closes |
chat started | Conversation begins |
message sent | Visitor message |
message received | Agent reply |
video chat started | Video call initiated |
voice call started | Voice call initiated |
co-browse started | Co-browsing session starts |
screen share started | Screen sharing starts |
offline form submitted | Offline contact |
chat rated | Session rated |
Installation
html
<!-- GTM Custom HTML Tag: REVE Chat Listener -->
<script>
(function() {
function revePush(type, extra) {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push(Object.assign({
'event': 'revechat_interaction',
'revechat_type': type
}, extra || {}));
}
var initReve = function() {
if (typeof window.REVE === 'undefined') return;
REVE.on('open', function() { revePush('chat opened'); });
REVE.on('close', function() { revePush('chat closed'); });
REVE.on('chatStarted', function() { revePush('chat started'); });
REVE.on('messageSent', function() { revePush('message sent'); });
REVE.on('messageReceived', function() { revePush('message received'); });
REVE.on('videoChatStart', function() { revePush('video chat started'); });
REVE.on('voiceCallStart', function() { revePush('voice call started'); });
REVE.on('cobrowseStart', function() { revePush('co-browse started'); });
REVE.on('screenShareStart', function() { revePush('screen share started'); });
REVE.on('offlineMessage', function() { revePush('offline form submitted'); });
REVE.on('chatRating', function(data) {
revePush('chat rated', { chatRating: data.rating });
});
};
window.addEventListener('load', initReve);
})();
</script>Data Layer Output
json
{
"event": "revechat_interaction",
"revechat_type": "co-browse started"
}Trigger Configuration
Trigger Type: Custom Event
Event Name: revechat_interaction
GA4 Mapping
Differentiate engagement types with revechat_type as a parameter:
| GA4 Event | Condition | Parameters |
|---|---|---|
chat_widget_open | chat opened | chat_platform, engagement_type: "text" |
chat_widget_open | video chat started | chat_platform, engagement_type: "video" |
chat_widget_open | co-browse started | chat_platform, engagement_type: "cobrowse" |