Tawk

From Growth Agency Wiki
Revision as of 14:49, 21 January 2025 by Aaron.trevellick (talk | contribs)
Jump to navigation Jump to search

Tracking In Tag Manager

Tawk has an API for tracking.
https://developer.tawk.to/jsapi/

<script>
(function() {
    function tawkDataLayerEvent( eventName ) {
        var dataLayer = window.dataLayer || [];
        dataLayer.push({'event' : 'tawk-' + eventName});
    }
    window.Tawk_API = window.Tawk_API || {};
    if( window.Tawk_API ) {
        window.Tawk_API.onLoad             = function(){ tawkDataLayerEvent('loaded'); };
        window.Tawk_API.onStatusChange     = function(){ tawkDataLayerEvent('status-changed'); };
        window.Tawk_API.onBeforeLoad       = function(){ tawkDataLayerEvent('before-load'); };
        window.Tawk_API.onChatMaximized    = function(){ tawkDataLayerEvent('chat-maximised'); };
        window.Tawk_API.onChatMinimized    = function(){ tawkDataLayerEvent('chat-minimised'); };
        window.Tawk_API.onChatHidden       = function(){ tawkDataLayerEvent('chat-hidden'); };
        window.Tawk_API.onChatStarted      = function(){ tawkDataLayerEvent('chat-started'); };
        window.Tawk_API.onChatEnded        = function(){ tawkDataLayerEvent('chat-ended'); };
        window.Tawk_API.onPrechatSubmit    = function(){ tawkDataLayerEvent('prechat-submitted'); };
        window.Tawk_API.onOfflineSubmit    = function(){ tawkDataLayerEvent('offline-submitted'); };
    }
})();
</script>

This creates the following events to be fired:

tawk-loaded
tawk-status-changed
tawk-before-load
tawk-chat-maximised
tawk-chat-minimised
tawk-chat-hidden
tawk-chat-started
tawk-chat-ended
tawk-prechat-submitted
tawk-offline-submitted