Data Layer for Google Analytics events

This article explains how you can track preezie user behaviour within your own Google Analytics (GA) reports.

Need help with GA4 reports? Read our quick starter guide to setting up GA4 preezie reports here

4 easy steps

  1. Contact your Customer Success representative to turn on your ‘data layer’ preezie events

  2. Create custom variables to pass what you see in the data layer into Google Tag Manager (GTM)

  3. Create custom tags in GTM to pass the data to GA

  4. Create the custom variables in your GA4 to use them in your reports

This guide covers passing all of the available preezie events into your GA, however you can choose to pass only the ones you need

Step 1: Check the data layer is turned on

After your CS rep has confirmed this is now activated, open up Google Chrome browser:

  • Visit your website page where preezie is loaded, e.g.

  • Click through the answers to complete the journey

  • When you see the results, right-click > Inspect (or Ctrl+Shift+I) to open the Chrome Developer tools console

  • Choose the Console tab, type dataLayer and hit Enter, you will now see the fired events:

  • Depending on what action you performed you will see preezie events fired (full details) for:

    • preezie.load - fired everytime preezie widget is loaded

    • preezie.click - fired everytime someone answers a question

    • preezie.completed - fired everytime someone completes a preezie journey

    • preezie.results - fired when the first page of product results is shown

    • preezie.resultclick - fired everytime someone clicks on a product result

    • preezie.email - fired if someone submits their email address into the lead capture form

You’re now ready to join this custom data to your GA using GTM.


Step 2: Pass preezie data into Google Tag Manager (GTM)

2a. Create the GTM Data Layer Variables

This will allow any GTM tags to use the preezie data variables (as GA4 parameters) in various ways.

First go to your GTM account:

  1. Variables > User-Defined Variables > New

  2. Give it a name of preezie.trigger

  3. Click Variable Configuration > Data Layer Variable

4. In Data Layer Variable Name enter preezie.trigger hit Save

  • Repeat these 4 steps to create the other 7 data layer variables needed:

Variable name (8 Data Layer Variables)

Data Layer Variable Name

What it captures

Variable name (8 Data Layer Variables)

Data Layer Variable Name

What it captures

preezie.trigger

preezie.trigger

How the journey was triggered (note, workflow = embedded)

preezie.journey

preezie.workflow

The name of the journey

preezie.connector

preezie.selector

The name of the journey connector (aka a workflow selector)

preezie.questionref

preezie.ref

The short version of the question

preezie.answer

preezie.answer

The text of each answer the user gives

preezie.productid

preezie.product.unique

The unique id of the clicked product in the results (as defined by your product feed attributes in the preezie CMS)

preezie.position

preezie.product.position

The position the clicked product was ranked in the recommendation results

preezie.productname

preezie.product.name

The name of the product that was clicked on.

Note, you can add/change if you have other product attributes you need as shown in your data layer, e.g. price:

  • Now to join the above to Data Layer events, repeat the above steps 5 times but instead use variable type Custom Event - just ensure the variable names match these below:

Variable name (Custom Event)

What it captures

Variable name (Custom Event)

What it captures

preezie.load

When the widget loads

preezie.click

An answer click

preezie.completed

A completion click

preezie.resultclick

A click on a product recommendation

preezie.email

If an email address was captured at the end of the journey

You now have your new variables, they should look like this:

2b. Create the GTM triggers for your tags

In your GTM account, create these triggers before you create your tags:

preezie ‘load’ event

  • Triggers > New

  • Name: preezie.load

  • Trigger Type: Custom Event

  • Event name: preezie.load

  • Save

Now repeat these steps for the other Triggers:

Name

Trigger Type

Event name

What it captures

Name

Trigger Type

Event name

What it captures

preezie.click

Custom Event

preezie.click

Each time the user answers a question

preezie.completed

Custom Event

preezie.completed

When the user has completed the journey

preezie.resultclick

Custom Event

preezie.resultclick

Each click to the product results

preezie.email

Custom Event

preezie.email

Each time an email is captured at the end of the journey

Step 3: Create GA4 tags

Now you need to create tags to tell GA what event data is available. Each event fired contains parameters, you can choose which parameters you’d like to send to GA4 (full details).

3a. Tag set up

  • In GTM > Tags > New

  • Create and publish these tags with the below values:

If you want to include other parameters just use the same format with the variables from Step 2a.

Note, preezie_click has both event parameters and user parameters

Tag name

Taq type

Configuration Tag

Event Name

Event Parameter Name

Value

Trigger (as per Step 2b)

Tag name

Taq type

Configuration Tag

Event Name

Event Parameter Name

Value

Trigger (as per Step 2b)

GA4 preezie_load

Google Analytics: GA4 Event

(Select your GA4 variable within GTM)

preezie_load

journey_trigger

{{preezie.trigger}}

preezie.load
Custom Event

 

 

 

 

journey_name

{{preezie.journey}}{{preezie.connector}}

GA4 preezie_click

Google Analytics: GA4 Event

(Select your GA4 variable within GTM)

preezie_click

journey_trigger

{{preezie.trigger}}

preezie.click
Custom Event

 

 

 

 

journey_name

{{preezie.journey}}{{preezie.connector}}

 

 

 

 

journey_answer

{{preezie.answer}}
OR
{{preezie.questionref}}_{{preezie.answer}}

 

 

 

 

User Properties

 

 

 

 

 

journey_user

{{preezie.journey}} {{preezie.connector}}

GA4 preezie_completed

Google Analytics: GA4 Event

(Select your GA4 variable within GTM)

preezie_completed

journey_trigger

{{preezie.trigger}}

preezie.completed
Custom Event

 

 

 

 

journey_name

{{preezie.journey}} {{preezie.connector}}

GA4 preezie_resultclick

Google Analytics: GA4 Event

(Select your GA4 variable within GTM)

preezie_resultclick

journey_trigger

{{preezie.trigger}}

preezie.resultclick
Custom Event

 

 

 

 

journey_name

{{preezie.journey}} {{preezie.connector}}

 

 

 

 

journey_product_id

{{preezie.productid}}

 

 

 

 

journey_product_name

{{preezie.productname}}

 

 

 

 

journey_product_position

{{preezie.position}}

GA4 preezie_email

Google Analytics: GA4 Event

(Select your GA4 variable within GTM)

preezie_email

journey_trigger

{{preezie.trigger}}

preezie.email
Custom Event

 

 

 

 

journey_name

{{preezie.journey}} {{preezie.connector}}

These events now need to be configured in GA4.

3b. Mapping your Custom events into GA4

Each GTM event will automatically fire into GA4 however you now need to set up the additional ‘values’ sent with each event. This means you’ll be also able to see things like answer text.

  • In GA4 > Settings > Custom definitions

  • Create custom dimension

  • Then add each of these values for these events:

Dimension name

Scope

Description

Event parameter
*note, must match your GTM parameter names!

Dimension name

Scope

Description

Event parameter
*note, must match your GTM parameter names!

preezie_trigger

Event

How the preezie widget was triggered

journey_trigger

preezie_journey

Event

Which journey was loaded and clicked on

journey_name

preezie_answer

Event

The text of each answer the user gives

journey_answer

preezie_product_id

Event

The unique ID of the clicked product
(as defined in your Admin > Database > Product attributes > Unique)

journey_product_id

preezie_product_name

Event

The name of the clicked product

journey_product_name

preezie_product_position

Event

The rank position of the clicked product in the preezie results

journey_product_position

preezie_user

User

Which journeys the user loaded and clicked on

journey_user

That’s it!

Note, It can take up to 24 hours for these events to show within your GA4.

Step 4: How to use the data in GA

These events will give you the ability to segment/group behaviour by starts (i.e at least 1 preezie.click) and completed (at least 1 preezie.completed).

But you can also breakdown by matching exactly/partially on the text of the values, e.g.

  • Engagement with preezie i.e. how many clicked on preezie when it was loaded?

  • Which triggers are most engaging?

  • Journey click through performance by preezie.journey name

  • Trigger method (embedded workflow/embedded selector/cta/popup) i.e. how they saw that journey

  • Which answers are the most popular for new users?

A full event definition guide can be found here: https://preezie.atlassian.net/wiki/spaces/PW/pages/125337615

What’s next?

  • GA4 reports:

https://preezie.atlassian.net/wiki/spaces/PW/pages/175570950

https://preezie.atlassian.net/wiki/spaces/PW/pages/200605697

  • [ARCHIVE] Universal Analytics reports

Some additional reading:


ARCHIVE: Universal Analytics set up

  • In GTM > Tags > New

  • Create and Publish the below tags with these values:

Tag name

Taq type

Track Type

Category

Action

Label

Google Analytics Settings

Trigger

Tag name

Taq type

Track Type

Category

Action

Label

Google Analytics Settings

Trigger

preezie loaded

Google Analytics: Universal Analytics

Event

preezie

{{preezie.trigger}}_{{preezie.load}}

{{preezie.journey}}{{preezie.connector}}

(Select your GA: UA variable within GTM)

preezie.load
Custom Event

preezie answer click

Google Analytics: Universal Analytics

Event

preezie

{{preezie.trigger}}_{{preezie.click}}

{{preezie.journey}}{{preezie.connector}}

(Select your GA: UA variable within GTM)

preezie.click
Custom Event

preezie answer text

Google Analytics: Universal Analytics

Event

preezie

{{preezie.trigger}}_{{preezie.journey}}{{preezie.connector}}_answer

Note, no {{ }} in the above!

{{preezie.answer}}

Note, if you want to add the question as a prefix use this:
{{preezie.questionref}} - {{preezie.answer}}

(Select your GA: UA variable within GTM)

preezie.click
Custom Event
+
preezie.completed
Custom Event

preezie completed

Google Analytics: Universal Analytics

Event

preezie

{{preezie.trigger}}_{{preezie.completed}}

{{preezie.journey}}{{preezie.connector}}

(Select your GA: UA variable within GTM)

preezie.completed
Custom Event

preezie result click

Google Analytics: Universal Analytics

Event

preezie

{{preezie.trigger}}_preezie.resultclick

Note, no {{ }} in the above!

{{preezie.productclick}}

(Select your GA: UA variable within GTM)

preezie.resultclick
Custom Event

preezie email

Google Analytics: Universal Analytics

Event

preezie

{{preezie.trigger}}_{{preezie.email}}

{{preezie.journey}}{{preezie.connector}}

(Select your GA: UA variable within GTM)

preezie.email
Custom Event

These events will automatically appear in your Behavior > Events > Top Events reports

You can now create Segments using the tag values to understand

  • How do preezie users convert over time? Is it same session or after several?

  • Does preezie help new users stay on site and/or return to convert?

  • etc.

[ARCHIVE] You can see how to set up UA GA reports here: