Skip to main content

Salesmate Chat GTM Event Listener

Track Salesmate CRM chat widget interactions in GTM. Monitor open, messages, and lead capture events with salesmate_action and event_type variables.

salesmatecrmchatgtmga4saleslead-generation

Event fired

salesmate_Event

Key variable

event_type

Salesmate

Overview

Salesmate is a CRM platform with built-in live chat and automation. This listener tracks chat widget interactions and pushes them to the GTM dataLayer.

Event fired: salesmate_Event Variables: event_type, salesmate_action

Tracked Events

salesmate_actionDescription
widget openedChat opens
widget closedChat closes
conversation startedChat initiated
message sentVisitor message
message receivedAgent reply
email capturedEmail submitted
call initiatedClick-to-call
meeting bookedAppointment scheduled

Installation

html
<!-- GTM Custom HTML Tag: Salesmate Listener -->
<script>
(function() {
  function salesmPush(action, type, extra) {
    window.dataLayer = window.dataLayer || [];
    window.dataLayer.push(Object.assign({
      'event': 'salesmate_Event',
      'salesmate_action': action,
      'event_type': type || 'chat'
    }, extra || {}));
  }

  var initSalesmate = function() {
    if (typeof window.SalesmateChat === 'undefined') return;
    SalesmateChat.on('open', function() { salesmPush('widget opened', 'widget'); });
    SalesmateChat.on('close', function() { salesmPush('widget closed', 'widget'); });
    SalesmateChat.on('conversationStart', function() { salesmPush('conversation started', 'chat'); });
    SalesmateChat.on('messageSent', function() { salesmPush('message sent', 'chat'); });
    SalesmateChat.on('messageReceived', function() { salesmPush('message received', 'chat'); });
    SalesmateChat.on('emailCaptured', function(data) {
      salesmPush('email captured', 'lead', { visitorEmail: data.email });
    });
    SalesmateChat.on('meetingBooked', function(data) {
      salesmPush('meeting booked', 'conversion', { meetingData: data });
    });
  };

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

Data Layer Output

json
{
  "event": "salesmate_Event",
  "salesmate_action": "meeting booked",
  "event_type": "conversion",
  "meetingData": { "time": "2024-02-15T14:00:00Z" }
}

Trigger Configuration

Trigger Type: Custom Event Event Name: salesmate_Event

Conversion only:

Condition: DLV – SM Action | equals | meeting booked

Related Listeners