Skip to main content

Google Analytics Integration

In this guide, we'll walk you through how to integrate Zoovu with Google Analytics 4 to monitor user interactions with your Digital Assistants.

Track user actions​

To track user actions within the Digital Assistant, use the ZoovuSDK.dataLayer to register events.

The register method enables the tracking of all assistant events and stores the event data in a specified dataLayer object.

Example:

let dataLayer = []; ZoovuSDK.dataLayer.register(dataLayer, <ASSISTANT_CODE>);

<ASSISTANT_CODE> is optional. You can use it to distinguish between multiple assistants on a single page.

Integrate Zoovu with GA4​

Step 1: Add the Zoovu SDK​

Depending on which environment your Zoovu account is in, add the corresponding script within the <head> section of your HTML document to initialize the Zoovu SDK:

  • For the Orca environment:
<script async src="https://orca-cdn.zoovu.com/core-js/zoovu-sdk/zoovu-sdk-latest.min.js"></script>

<script>
ZoovuSDK = window.ZoovuSDK || {
init: function () { ZoovuSDK.q = ZoovuSDK.q || [], ZoovuSDK.q.push(arguments) },
assistantInit: function () { ZoovuSDK.aq = ZoovuSDK.aq || [], ZoovuSDK.aq.push(arguments) }
};
</script>
  • For the Barracuda environment:
<script async src="https://barracuda-cdn.zoovu.com/core-js/zoovu-sdk/zoovu-sdk-latest.min.js"></script>

<script>
ZoovuSDK = window.ZoovuSDK || {
init: function () { ZoovuSDK.q = ZoovuSDK.q || [], ZoovuSDK.q.push(arguments) },
assitantInit: function () { ZoovuSDK.aq = ZoovuSDK.aq || [], ZoovuSDK.aq.push(arguments) }
};
</script>

Step 2: Integrate Google Analytics (GA4)​

Still within the <head> section, insert the GA4 script. Replace <GOOGLE_TAG> with your unique Google tag ID:

<script async src="https://www.googletagmanager.com/gtag/js?id=&lt;GOOGLE_TAG&gt;"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', '&lt;GOOGLE_TAG&gt;'); </script>

Step 3: Track Zoovu assistant events in GA4​

Within the <body> section of your HTML document, add the following script to make sure Zoovu's events are pushed to GA4:

<script> ZoovuSDK.assistantInit(function () { ZoovuSDK.events.listenToAll(function (event) { gtag('zoovu-assistant-event', event.name, event.data); }, &lt;ASSISTANT_CODE&gt;); }, &lt;ASSISTANT_CODE&gt;); </script>

Replace <ASSISTANT_CODE> with your Digital Assistant's unique identifier, especially if you have multiple assistants on the same page.

Step 4: Finalize your HTML​

Make sure to close the <body> and <html> tags properly and add any other necessary website content. For example:

<p>Welcome to my website!</p> </body> </html>

Final result - view the complete code​

The code below is just an example, so please don't copy and paste this code into your website. Make sure to replace placeholder values such as ZOOVU_SDK_BASE_URL, GOOGLE_TAG, and ASSISTANT_CODE with the actual values relevant to your integration. Contact us via the Zoovu Support Portal for more information.

<!DOCTYPE html>
<html lang="en">
<head>
<!-- Zoovu SDK (zoovu-sdk.js) -->
<script async src="&lt;ZOOVU_SDK_BASE_URL&gt;/zoovu-sdk-latest.min.js"></script>
<script>ZoovuSDK = window.ZoovuSDK || { init: function () { ZoovuSDK.q = ZoovuSDK.q || [], ZoovuSDK.q.push(arguments) }, assitantInit: function () { ZoovuSDK.aq = ZoovuSDK.aq || [], ZoovuSDK.aq.push(arguments) } };</script>

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=&lt;GOOGLE_TAG&gt;"></script>
<script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', '&lt;GOOGLE_TAG&gt;'); </script>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Title of the page</title>
</head>

<body>
<p>Welcome to my website!</p>
<script>
ZoovuSDK.assistantInit(function () {
ZoovuSDK.events.listenToAll(function (event) {
gtag('zoovu-assistant-event', event.name, event.data);
}, &lt;ASSISTANT_CODE&gt;);
}, &lt;ASSISTANT_CODE&gt;);
</script>
</body>
</html>