You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
*[Difference between Google Analytics and uMS](marketers-and-editors/analytics/difference-in-analytics-between-google-analytics-and-umarketingsuite.md)
*[Known issues and work arounds](developers/support/known-issues-and-work-arounds/README.md)
148
-
*[Difference in analytics between Google Analytics and uMS](developers/support/known-issues-and-work-arounds/difference-in-analytics-between-google-analytics-and-umarketingsuite.md)
149
-
*[You cannot select persona or journey images](developers/support/known-issues-and-work-arounds/you-cant-select-persona-or-journey-images.md)
150
-
*[Boot failed after moving to Azure SQL](developers/support/known-issues-and-work-arounds/boot-failed-after-moving-to-azure-sql.md)
151
-
*[Boot failed when updating to uMS 1.15](developers/support/known-issues-and-work-arounds/boot-failed-when-updating-to-umarketingsuite-1-15.md)
152
-
*[Single-page A/B testing and personalization does not always work in Umbraco 10.0](developers/support/known-issues-and-work-arounds/single-page-ab-testing-and-personalization-does-not-always-work-in-umbraco-10-0.md)
153
-
*[uMS modules features not loading](developers/support/known-issues-and-work-arounds/umarketingsuite-modules-features-not-loading.md)
154
-
*[Notifications not working in Umbraco 8](developers/support/known-issues-and-work-arounds/notifications-not-working-in-umbraco-8.md)
155
-
*[Font Awesome icon finder 1.1.0 breaks the Date Picker](developers/support/known-issues-and-work-arounds/font-awesome-icon-finder-1-1-0-breaks-datepicker.md)
156
-
*[Fallback with MultiURLPicker property editor not working](developers/support/known-issues-and-work-arounds/fallback-with-multiurlpicker-property-editor-not-working.md)
*[Visiting page with referral causes stackoverflow exception](developers/support/known-issues-and-work-arounds/visiting-page-with-referral-causes-stackoverflow-exception.md)
159
-
*[Incorrect statistics in Google Analytics using GA4 bridge](developers/support/known-issues-and-work-arounds/incorrect-statistics-in-google-analytics-using-ga4-bridge.md)
160
-
*[Huge reporting performance spike when using Umbraco 10 and higher](developers/support/known-issues-and-work-arounds/huge-reporting-performance-spike-when-using-umbraco-10-and-higher.md)
Copy file name to clipboardExpand all lines: 13/umbraco-ums/developers/analytics/extending-analytics/sending-data-to-the-gtm-datalayer.md
+12-12Lines changed: 12 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,25 +1,25 @@
1
1
---
2
2
description: >-
3
-
Discover how to push A/B testing and personalization variables from uMarketingSuite to the
4
-
Google Tag Manager (GTM) data layer in Razor templates.
3
+
Discover how to push A/B testing and personalization variables from
4
+
uMarketingSuite to the Google Tag Manager (GTM) data layer in Razor
5
+
templates.
5
6
---
6
7
7
-
# Sending Data to the GTM Data Layer
8
+
# Sending data to the GTM Datalayer
8
9
9
10
The uMarketingSuite provides a partial view that pushes variables related to A/B testing and personalization to the Google Tag Manager (GTM) data layer.
10
11
11
12
The following variables are pushed:
12
13
13
-
-**inabtest: true** - if the visitor participates in an active A/B test on the page; otherwise **false**.
14
+
***inabtest: true** - if the visitor participates in an active A/B test on the page; otherwise **false**.
14
15
15
-
{% hint style="info" %}
16
-
This will also be **true** if the visitor is assigned to the "A" variant which is the original page.
17
-
{% endhint %}
18
-
19
-
-**abtestname** - The name of the A/B test the visitor is participating in. If there is no active A/B test, the value will be **null**
20
-
-**abtestvariant** - The name of the A/B test variant assigned to the visitor. If there is no active A/B test, the value will be **null**
21
-
-**personalized: true** - If personalisation is applied to the page for the visitor; otherwise **false**.
22
-
-**personalizationname** - The name of the active personalization. If there is no active personalization, the value will be **null**.
16
+
{% hint style="info" %}
17
+
This will also be **true** if the visitor is assigned to the "A" variant which is the original page.
18
+
{% endhint %}
19
+
***abtestname** - The name of the A/B test the visitor is participating in. If there is no active A/B test, the value will be **null**
20
+
***abtestvariant** - The name of the A/B test variant assigned to the visitor. If there is no active A/B test, the value will be **null**
21
+
***personalized: true** - If personalisation is applied to the page for the visitor; otherwise **false**.
22
+
***personalizationname** - The name of the active personalization. If there is no active personalization, the value will be **null**.
23
23
24
24
To render the partial view in your Razor template, use the following line:
Copy file name to clipboardExpand all lines: 13/umbraco-ums/developers/analytics/scroll-heatmap.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
---
2
+
icon: square-exclamation
2
3
description: >-
3
4
Learn how you can use the Scroll Heatmap in uMS to gather data on the
4
5
behaviour of your visitors.
5
-
icon: square-exclamation
6
6
---
7
7
8
8
# Scroll Heatmap
@@ -13,6 +13,6 @@ The feature gives a visual representation of the average scroll depth of your vi
13
13
14
14
An advantage is that you do not need to integrate any 3rd-party tools. This will prevent additional load times and possible issues with data ownership.
15
15
16
-
![]()
16
+

17
17
18
18
The heatmap only collects data if [the client-side script](../../../../analytics/clientside-events-and-additional-javascript-files/) is installed on your website.
description: The Umbraco uMS package is all about data, data and more data. To make the most out of this data and do it the most efficient way we have four different stages where the data goes to.
2
+
description: >-
3
+
The Umbraco uMS package is all about data, data, and more data. To make the
4
+
most out of this data and do it the most efficient way we have four different
5
+
stages where the data goes to.
3
6
---
4
7
5
8
# Dataflow Pipeline
6
9
7
-
1.[Data collection](/the-umarketingsuite-broad-overview/dataflow-pipeline/data-collection/): This is where the visitordata is collected and stored for a moment in memory of the server.
8
-
2.[Data storage](/the-umarketingsuite-broad-overview/dataflow-pipeline/data-storage/): This is where the data from memory goes to the database.
9
-
3.[Data processing](/the-umarketingsuite-broad-overview/dataflow-pipeline/data-parsing/): The data is processed at a later moment to make it more efficient and normalized
10
-
4.[Data reporting](/the-umarketingsuite-broad-overview/dataflow-pipeline/reporting/): And finally the data is reported within the Umbraco uMS
10
+
1.[Data collection](../../../../../the-umarketingsuite-broad-overview/dataflow-pipeline/data-collection/): This is where the visitor data is collected and stored for a moment in the memory of the server.
11
+
2.[Data storage](../../../../../the-umarketingsuite-broad-overview/dataflow-pipeline/data-storage/): This is where the data from memory goes to the database.
12
+
3.[Data processing](../../../../../the-umarketingsuite-broad-overview/dataflow-pipeline/data-parsing/): The data is processed at a later moment to make it more efficient and normalized
13
+
4.[Data reporting](../../../../../the-umarketingsuite-broad-overview/dataflow-pipeline/reporting/): Finally the data is reported within the Umbraco uMS
11
14
12
-
The concept of this dataflow is the most important concept to grasp when using Umbraco uMS.
15
+
The concept of this dataflow is the most important concept to grasp when using Umbraco uMS.
description: This is the first phase of the data flow. In this stage, the data is collected from the user and stored temporarily in memory.
2
+
description: >-
3
+
This is the first phase of the data flow. In this stage, the data is collected
4
+
from the user and stored temporarily in memory.
3
5
---
4
6
5
-
# Data collection
6
-
7
+
# Data Collection
7
8
8
9
## Server side collection
9
10
10
11
Umbraco uMS works via serverside collecting meaning that all initial visitor data is collected on the server and not sent via JavaScript for example. When a visitor visits your website the Umbraco uMS code checks whether you already have an Umbraco uMS cookie. If not, it creates one and sends it back to you.
11
12
12
13
At the same time the visitor is making a request the visitor sends all kinds of data to the server:
13
14
14
-
- Which browser the visitors are using
15
-
- Which URL is requested
16
-
- If there was any referring page (where did the visitor come from)
17
-
- At what time the page is requested
18
-
- Which IP Address is used
19
-
- Which operation system is used
20
-
- Which type of device is used
21
-
- Which cookies are sent
15
+
* Which browser the visitors are using
16
+
* Which URL is requested
17
+
* If there was any referring page (where did the visitor come from)
18
+
* At what time the page is requested
19
+
* Which IP Address is used
20
+
* Which operation system is used
21
+
* Which type of device is used
22
+
* Which cookies are sent
22
23
23
24
This data is all collected and, because of the efficiency stored for a while in the web server memory. The idea is that storing this data in memory is faster than directly writing it to the database. It is more efficient to store multiple database records at once than to store the database records one at a time.
24
25
25
-
In the next phase, the data in memory will [be stored in the database](/the-umarketingsuite-broad-overview/dataflow-pipeline/data-storage/).
26
+
In the next phase, the data in memory will [be stored in the database](../../../../../the-umarketingsuite-broad-overview/dataflow-pipeline/data-storage/).
26
27
27
28
The beauty of server-side collection is that it always works and you're not relying on JavaScript for example. Also, there is no way for clients to block this behavior because this is "how the internet works".
28
29
29
-
### Collected requests
30
+
### Collected requests
30
31
31
-
Only page requests are collected in Umbraco uMS. Requests to images (.png, .jpg, etcetera) and CSS files are ignored.
32
+
Only page requests are collected in Umbraco uMS. Requests to images (.png, .jpg) and CSS files are ignored.
32
33
33
34
Also, all requests to the /Umbraco/-folder are ignored.
34
35
35
36
### Configuration options
36
37
37
-
There are different [configuration options](/installing-umarketingsuite/configuration-options-1-x/) to adjust the collecting process.
38
+
There are different [configuration options](../../../../../installing-umarketingsuite/configuration-options-1-x/) to adjust the collecting process.
38
39
39
-
- You can limit the amount of data records stored in memory. If you are limited in memory you can adjust these settings to fit your needs.
40
-
- The IP Address is anonymized by default. There is an option to change this
41
-
- You can turn off server-side tracking. This can be useful if not every page request reaches your website. This could be the case if you're using CloudFlare for example.
40
+
* You can limit the amount of data records stored in memory. If you are limited in memory you can adjust these settings to fit your needs.
41
+
* The IP Address is anonymized by default. There is an option to change this
42
+
* You can turn off server-side tracking. This can be useful if not every page request reaches your website. This could be the case if you're using CloudFlare for example.
42
43
43
-
## Clientside collection
44
+
## Client-side collection
44
45
45
46
The amount of data that you can collect via serverside is limited. Visitors have all kinds of interactions when your website loads. They can scroll, click on the website, watch videos, and click on other pages (inside and outside of your website).
46
47
47
-
These kinds of requests need to be collected via the client side. To support this we have created a JavaScript that collects a lot of data, and it is also possible to extend this with your events.
48
+
These kinds of requests need to be collected via the client side. To support this we have created a JavaScript that collects a lot of data, and extending this with your own events is possible.
48
49
49
50
### uMarketingSuite.analytics.js
50
51
51
52
If you install the package you will find this JavaScript file in the folder /Assets/uMarketingSuite/scripts/.
52
53
53
54
This JavaScript collects the following data for you:
54
55
55
-
- The maximum scroll depth as a percentage of the whole page and in absolute pixels
56
-
- The links you have clicked and at the moment you have clicked these
57
-
- The time you have been 'engaged' on the page. We track the time that you are actively using the page. We see whether you are scrolling, moving your cursor, or typing. As long as you are doing that we track the time. As soon as you do not anything of the above we stop the timer until you start doing 'stuff' again. So if you've opened a page, but you went away for a cup of coffee for ten minutes this time will still be less than a minute probably. Also if you've opened the page in a tab for example, but you are using another website at the moment, we will not count that time. We stop measuring time as soon as you haven't done anything for 5 seconds.
56
+
* The maximum scroll depth as a percentage of the whole page and in absolute pixels
57
+
* The links you have clicked and at the moment you have clicked these
58
+
* The time you have been **engaged** on the page. 
59
+
60
+
61
+
62
+
We track the time that you are actively using the page. We see whether you are scrolling, moving your cursor, or typing. As long as you are doing that we track the time. 
58
63
59
-
To enable these events you will need to load the file /Assets/uMarketingSuite/scripts/uMarketingSuite.analytics.js at the end of your page.
64
+
As soon as you do not do anything of the above we stop the timer until you start doing something again. If you have opened a page but went away for a cup of coffee for ten minutes this time will still be less than a minute likely. 
60
65
61
-
{% code overflow="wrap" lineNumbers="false" %}
66
+
Also if you have opened the page in a tab for example, but you are using another website at the moment, we will not count that time. We stop measuring time as soon as you have not done anything for 5 seconds.
67
+
68
+
You need to load the file at the end of your page to enable these events.
Client-side events is collected and sent to the server and stored in-memory when Visitors exits the page or close the tab/browser.
76
+
Client-side events are collected and sent to the server and stored inmemory when visitors exit the page or close the tab/browser.
68
77
69
78
### Automatic script
70
79
71
-
Looking in the source code of your website you will see one line of code that is automatically inserted by Umbraco uMS. It probably looks like something like this:
80
+
Looking at your website source code you will see a line of code automatically inserted by Umbraco uMS. It most likely looks like something like this:
@@ -80,20 +89,20 @@ This snippet of code ensures loading the uMarketingSuite.analytics.js-file, the
80
89
81
90
### Creating custom events
82
91
83
-
It is also possible to push your own events to the Umbraco uMS. It work 80% the same as [Google Analytics Event Measurement](https://developers.google.com/analytics/devguides/collection/analyticsjs/events). Read more about custom events in the [Create your own events](/analytics/clientside-events-and-additional-javascript-files/create-your-own-events/) article.
92
+
It is also possible to push your own events to the Umbraco uMS. It works 80% the same as [Google Analytics Event Measurement](https://developers.google.com/analytics/devguides/collection/analyticsjs/events). Read more about custom events in the [Create your own events](../../../../../analytics/clientside-events-and-additional-javascript-files/create-your-own-events/) article.
84
93
85
94
### Google Analytics Bridging library
86
95
87
96
There is a chance that you've already implemented all kinds of events via Google Analytics with their syntax:
If that is the case you can include a bridging library we created. This bridging library ensures that all custom events sent to Google Analytics are also sent to Umbraco uMS. These events will now be sent to both systems.
92
101
93
-
The only thing you will need to do is include the script *\Assets\uMarketingSuite\Scripts\uMarketingSuite.analytics.ga-bridge.js* somewhere on your page:
102
+
The only thing you will need to do is include the script _\Assets\uMarketingSuite\Scripts\uMarketingSuite.analytics.ga-bridge.js_ somewhere on your page:
0 commit comments