Tawk: Difference between revisions

From Growth Agency Wiki
Jump to navigation Jump to search
Created page with "== Tracking In Tag Manager == Tawk has an API for tracking. this has NOT been tested yet! <pre> <script> (function() { function tawkDataLayerEvent( eventName ) {..."
 
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Tracking In Tag Manager ==
== Tracking In Tag Manager ==


Tawk has an API for tracking.
Tawk has an API for tracking.<br />
this has NOT been tested yet!
https://developer.tawk.to/jsapi/


<pre>
<pre>
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 ) {
     window.Tawk_API.onLoad             = function(){ tawkDataLayerEvent('loaded'); };
        Tawk_API.onLoad                       = function(){ tawkDataLayerEvent('loaded'); };
    window.Tawk_API.onStatusChange     = function(){ tawkDataLayerEvent('status-changed'); };
        Tawk_API.onStatusChange       = function(){ tawkDataLayerEvent('status-changed'); };
    window.Tawk_API.onBeforeLoad       = function(){ tawkDataLayerEvent('before-load'); };
        Tawk_API.onBeforeLoad           = function(){ tawkDataLayerEvent('before-load'); };
    window.Tawk_API.onChatMaximized    = function(){ tawkDataLayerEvent('chat-maximised'); };
        Tawk_API.onChatMaximized    = function(){ tawkDataLayerEvent('chat-maximised'); };
    window.Tawk_API.onChatMinimized    = function(){ tawkDataLayerEvent('chat-minimised'); };
        Tawk_API.onChatMinimized    = function(){ tawkDataLayerEvent('chat-minimised'); };
    window.Tawk_API.onChatHidden       = function(){ tawkDataLayerEvent('chat-hidden'); };
        Tawk_API.onChatHidden           = function(){ tawkDataLayerEvent('chat-hidden'); };
    window.Tawk_API.onChatStarted     = function(){ tawkDataLayerEvent('chat-started'); };
        Tawk_API.onChatStarted       = function(){ tawkDataLayerEvent('chat-started'); };
    window.Tawk_API.onChatEnded       = function(){ tawkDataLayerEvent('chat-ended'); };
        Tawk_API.onChatEnded           = function(){ tawkDataLayerEvent('chat-ended'); };
    window.Tawk_API.onPrechatSubmit    = function(){ tawkDataLayerEvent('prechat-submitted'); };
        Tawk_API.onPrechatSubmit    = function(){ tawkDataLayerEvent('prechat-submitted'); };
    window.Tawk_API.onOfflineSubmit    = function(){ tawkDataLayerEvent('offline-submitted'); };
        Tawk_API.onOfflineSubmit    = function(){ tawkDataLayerEvent('offline-submitted'); };
    }
})();
})();
</script>
</script>
</pre>
This creates the following events to be fired:
<pre>
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
</pre>
</pre>

Latest revision as of 13:37, 18 March 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 || {};
    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