Skip to main content

RingCentral Engage (Glip) GTM Event Listener

Track RingCentral Engage digital chat interactions in GTM. Monitor widget interactions and conversation events with rcEventType variable.

ringcentralengagechatgtmga4enterprisesupportucaas

Event fired

ringCentralEvents

Key variable

rcEventType

RingCentral

Overview

RingCentral Engage Digital is a customer engagement platform part of the RingCentral unified communications suite. This listener hooks into RingCentral's Engage Digital widget JavaScript API to track interaction events.

Event fired: ringCentralEvents Variable: rcEventType

Tracked Events

rcEventTypeDescription
widget openedChat panel opens
widget closedChat panel closes
conversation startedNew conversation
message sentVisitor message
message receivedAgent reply
agent assignedAgent allocated
conversation transferredChat transferred
conversation endedSession closes
satisfaction submittedCSAT response

Installation

html
<!-- GTM Custom HTML Tag: RingCentral Listener -->
<script>
(function() {
  function rcPush(eventType, extra) {
    window.dataLayer = window.dataLayer || [];
    window.dataLayer.push(Object.assign({
      'event': 'ringCentralEvents',
      'rcEventType': eventType
    }, extra || {}));
  }

  var initRC = function() {
    if (typeof window.RingCentralEngage === 'undefined') return;
    RingCentralEngage.on('open', function() { rcPush('widget opened'); });
    RingCentralEngage.on('close', function() { rcPush('widget closed'); });
    RingCentralEngage.on('conversationStart', function(data) {
      rcPush('conversation started', { conversationId: data.id });
    });
    RingCentralEngage.on('messageSent', function() { rcPush('message sent'); });
    RingCentralEngage.on('messageReceived', function() { rcPush('message received'); });
    RingCentralEngage.on('agentAssigned', function(data) {
      rcPush('agent assigned', { agentName: data.agentName });
    });
    RingCentralEngage.on('conversationEnd', function() { rcPush('conversation ended'); });
    RingCentralEngage.on('satisfactionSent', function(data) {
      rcPush('satisfaction submitted', { satisfactionScore: data.score });
    });
  };

  window.addEventListener('load', initRC);
})();
</script>

Data Layer Output

json
{
  "event": "ringCentralEvents",
  "rcEventType": "conversation started",
  "conversationId": "conv_12345"
}

Trigger Configuration

Trigger Type: Custom Event Event Name: ringCentralEvents

Related Listeners