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
Contact your Customer Success representative to turn on your ‘data layer’ preezie events
Create custom variables to pass data layer values into your Google Tag Manager (GTM)
Create custom tags in your GTM to pass the data to your GA
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 (it’s case sensitive!) 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
preezie.addtocart - fired if someone clicks an add to cart button
preezie.addalltocart - fired if someone add a Stacks bundle to their cart
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:
Variables > User-Defined Variables > New
Give it a name of preezie.trigger
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 |
---|---|---|
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. |
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 |
---|---|
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 4 triggers:
Name (5 triggers) | Trigger Type | Event name | What it captures |
---|---|---|---|
preezie.load | Custom Event | preezie.load | Each time a preezie journey loads on the page |
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).
Note, events not covered in the below table are:
preezie.results - this is an array of products shown in the results, and therefore not easily represented in GA statistically
preezie.addtocart / preezie.addalltocart - but use these events to fire your existing GA4 add to cart event(s)
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) |
---|---|---|---|---|---|---|
GA4 preezie_load | Google Analytics: GA4 Event | (Select your GA4 variable within GTM) | preezie_load | journey_trigger | {{preezie.trigger}} | preezie.load |
|
|
|
| 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 |
|
|
|
| journey_name | {{preezie.journey}}{{preezie.connector}} | |
|
|
|
| journey_answer | {{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 |
|
|
|
| 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 |
|
|
|
| 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 |
|
|
|
| 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 |
---|---|---|---|
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 | 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!
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 event fire).
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: Using the Data Layer with preezie
Getting started with GA4 reports
How to create a GA4 report with preezie data
Example GA4 reports for preezie journeys
Archive
[ARCHIVE] Universal Analytics reports
Example GA Universal Analytics reports for preezie journeys
Related articles
Some additional reading:
The data layer | Tags | Google for Developers
[GA4] Rename and generate new events - Analytics Help
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 |
---|---|---|---|---|---|---|---|
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 |
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 |
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: | (Select your GA: UA variable within GTM) | preezie.click |
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 |
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 |
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 |
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: Example GA Universal Analytics reports for preezie journeys