Tawk: Difference between revisions

From Growth Agency Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
Line 11: Line 11:
         dataLayer.push({'event' : 'tawk-' + eventName});
         dataLayer.push({'event' : 'tawk-' + eventName});
     }
     }
     Tawk_API = Tawk_API || {};
     window.Tawk_API = window.Tawk_API || {};
     if( Tawk_API ) {
     if( window.Tawk_API ) {
         Tawk_API.onLoad                       = function(){ tawkDataLayerEvent('loaded'); };
         window.Tawk_API.onLoad             = function(){ tawkDataLayerEvent('loaded'); };
         Tawk_API.onStatusChange       = function(){ tawkDataLayerEvent('status-changed'); };
         window.Tawk_API.onStatusChange     = function(){ tawkDataLayerEvent('status-changed'); };
         Tawk_API.onBeforeLoad           = function(){ tawkDataLayerEvent('before-load'); };
         window.Tawk_API.onBeforeLoad       = function(){ tawkDataLayerEvent('before-load'); };
         Tawk_API.onChatMaximized    = function(){ tawkDataLayerEvent('chat-maximised'); };
         window.Tawk_API.onChatMaximized    = function(){ tawkDataLayerEvent('chat-maximised'); };
         Tawk_API.onChatMinimized    = function(){ tawkDataLayerEvent('chat-minimised'); };
         window.Tawk_API.onChatMinimized    = function(){ tawkDataLayerEvent('chat-minimised'); };
         Tawk_API.onChatHidden           = function(){ tawkDataLayerEvent('chat-hidden'); };
         window.Tawk_API.onChatHidden       = function(){ tawkDataLayerEvent('chat-hidden'); };
         Tawk_API.onChatStarted       = function(){ tawkDataLayerEvent('chat-started'); };
         window.Tawk_API.onChatStarted     = function(){ tawkDataLayerEvent('chat-started'); };
         Tawk_API.onChatEnded           = function(){ tawkDataLayerEvent('chat-ended'); };
         window.Tawk_API.onChatEnded       = function(){ tawkDataLayerEvent('chat-ended'); };
         Tawk_API.onPrechatSubmit    = function(){ tawkDataLayerEvent('prechat-submitted'); };
         window.Tawk_API.onPrechatSubmit    = function(){ tawkDataLayerEvent('prechat-submitted'); };
         Tawk_API.onOfflineSubmit    = function(){ tawkDataLayerEvent('offline-submitted'); };
         window.Tawk_API.onOfflineSubmit    = function(){ tawkDataLayerEvent('offline-submitted'); };
     }
     }
})();
})();

Revision as of 14:49, 21 January 2025

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