Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
File renamed without changes.
File renamed without changes.
22 changes: 11 additions & 11 deletions 13/umbraco-ums/SUMMARY.md → 13/umbraco-engage/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@
## Marketers and Editors

* [Introduction](marketers-and-editors/introduction/README.md)
* [The Umbraco Engage Section](marketers-and-editors/introduction/the-umarketingsuite-section.md)
* [The Umbraco Engage Section](marketers-and-editors/introduction/the-umbraco-engage-section.md)
* [Content Apps](marketers-and-editors/introduction/content-apps.md)
* [The Umbraco Engage Cookie](marketers-and-editors/introduction/the-umarketingsuite-cookie.md)
* [The Umbraco Engage Cookie](marketers-and-editors/introduction/the-umbraco-engage-cookie.md)
* [Analytics](marketers-and-editors/analytics/README.md)
* [What is measured by default](marketers-and-editors/analytics/what-is-measured-by-default.md)
* [Client-side Events](marketers-and-editors/analytics/client-side-events-and-additional-javascript-files/README.md)
Expand All @@ -49,7 +49,7 @@
* [Forms](marketers-and-editors/analytics/forms.md)
* [Videos](marketers-and-editors/analytics/videos.md)
* [Scroll Heatmap](marketers-and-editors/analytics/scroll-heatmap.md)
* [Google Analytics vs Umbraco Engage](marketers-and-editors/analytics/difference-in-analytics-between-google-analytics-and-umarketingsuite.md)
* [Google Analytics vs Umbraco Engage](marketers-and-editors/analytics/google-analytics-vs-umbraco-engage.md)
* [A/B Testing](marketers-and-editors/ab-testing/README.md)
* [What is A/B testing](marketers-and-editors/ab-testing/what-is-ab-testing.md)
* [Types of A/B Tests](marketers-and-editors/ab-testing/types-of-ab-tests/README.md)
Expand Down Expand Up @@ -93,8 +93,8 @@
* [Data Storage](developers/introduction/dataflow-pipeline/data-storage.md)
* [Data Parsing](developers/introduction/dataflow-pipeline/data-parsing.md)
* [Reporting](developers/introduction/dataflow-pipeline/reporting.md)
* [The Umbraco Engage Cookie](developers/introduction/the-umarketingsuite-cookie/README.md)
* [Module Permissions](developers/introduction/the-umarketingsuite-cookie/module-permissions.md)
* [The Umbraco Engage Cookie](developers/introduction/the-umbraco-engage-cookie/README.md)
* [Module Permissions](developers/introduction/the-umbraco-engage-cookie/module-permissions.md)
* [Performance](developers/introduction/performance.md)
* [Analytics](developers/analytics/README.md)
* [Request tracking](developers/analytics/what-is-measured-by-default.md)
Expand All @@ -104,7 +104,7 @@
* [Video tracking](developers/analytics/videos.md)
* [Scroll Heatmap](developers/analytics/scroll-heatmap.md)
* [Client-side events](developers/analytics/client-side-events-and-additional-javascript-files/README.md)
* [Additional measurements Umbraco Engage analytics scripts](developers/analytics/client-side-events-and-additional-javascript-files/additional-measurements-with-our-ums-analytics-scripts.md)
* [Additional measurements with analytics scripts](developers/analytics/client-side-events-and-additional-javascript-files/additional-measurements-with-the-analytics-scripts.md)
* [Bridging Library for Google Analytics](developers/analytics/client-side-events-and-additional-javascript-files/bridging-library-for-google-analytics.md)
* [Bridging Library for Google Tag Manager](developers/analytics/client-side-events-and-additional-javascript-files/bridging-library-for-google-tag-manager.md)
* [Google Analytics Blocker Detection](developers/analytics/client-side-events-and-additional-javascript-files/google-analytics-blocker-detection.md)
Expand All @@ -123,7 +123,7 @@
* [Reporting](developers/reporting.md)
* [Settings](developers/settings/README.md)
* [Custom goals scoring](developers/settings/custom-goals-scoring.md)
* [Configuration](developers/settings/configuration-options-2-x/README.md)
* [Configuration](developers/settings/configuration/README.md)
* [Reporting](developers/settings/configuration-options-2-x/reporting.md)
* [Headless](developers/headless/README.md)
* [Using the Marketing API](developers/headless/using-the-marketing-api.md)
Expand All @@ -142,10 +142,10 @@
## Tutorials

* [Overview](tutorials/README.md)
* [How to get started with Personalization](tutorials/your-first-uMS-setup.md)
* [How to Create a Persona](tutorials/get-started-with-personas-and-personalization.md)
* [Create a Personalized Popup in 5 minutes](tutorials/a-personalized-popup-in-5-minutes.md)
* [8 steps towards the ideal A/B test](tutorials/8-steps-towards-the-ideal-ab-test.md)
* [How to get started with Personalization](tutorials/how-to-get-started-with-personalization.md)
* [How to Create a Persona](tutorials/how-to-create-a-persona.md.md)
* [Create a Personalized Popup in 5 minutes](tutorials/create-a-personalized-popup-in-5-minutes.md)
* [8 steps towards the ideal A/B test](tutorials/set-up-your-first-ab-test.md)
* [Marketing Resources](tutorials/marketing-resources/README.md)
* [Generic Exit Intent Popup Template](tutorials/marketing-resources/generic-exit-intent-popup-template.md)
* [Generic Popup Template](tutorials/marketing-resources/generic-popup-template.md)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
icon: square-exclamation
description: Learn how to bridge Google Analytics with the data in uMS.
description: Learn how to bridge Google Analytics with the data in Umbraco Engage.
---

# Bridging Library for Google Analytics

We have included a bridging JavaScript file to "catch" all Google Analytics event calls and send them to Umbraco Engage. If you have a website with Google Analytics events defined you do not have to change the code to send them to uMS. The only thing you need to do is include our JavaScript bridge.
We have included a bridging JavaScript file to "catch" all Google Analytics event calls and send them to Umbraco Engage. If you have a website with Google Analytics events defined you do not have to change the code to send them to Umbraco Engage. The only thing you need to do is include our JavaScript bridge.

## Google Analytics 4 (GA4)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: Learn how to bridge data between Google Tag Manager and Umbraco Eng

# Bridging Library for Google Tag Manager

When using Google Tag Manager you can collect all events already in uMS. This is set up in the same way as [classic Google Analytics](../../../../../analytics/clientside-events-and-additional-javascript-files/bridging-library-for-google-analytics/).
When using Google Tag Manager you can collect all events in Umbraco Engage. This is set up in the same way as [classic Google Analytics](../../../../../analytics/clientside-events-and-additional-javascript-files/bridging-library-for-google-analytics/).

To include the file add the following code before the closing `body` tag in your HTML:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
---
description: >-
Discover how to push A/B testing and personalization variables from
uMarketingSuite to the Google Tag Manager (GTM) data layer in Razor templates.
Umbraco Engage to the Google Tag Manager (GTM) data layer in Razor templates.
---

# Sending data to the GTM Datalayer

The uMarketingSuite provides a partial view that pushes variables related to A/B testing and personalization to the Google Tag Manager (GTM) data layer.
Umbraco Engage provides a partial view that pushes variables related to A/B testing and personalization to the Google Tag Manager (GTM) data layer.

The following variables are pushed:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: Learn how data from Umbraco Forms is tracked with Umbraco Engage.

# Extending forms

To track Umbraco Forms submissions, you need to install [Umbraco Forms](https://umbraco.com/products/add-ons/forms/) with a valid license from Umbraco HQ. You also need to install the Umbraco Engage[ Forms Addon package from Nuget](https://www.nuget.org/packages/uMarketingSuite.UmbracoForms).
To track Umbraco Forms submissions, you need to install [Umbraco Forms](https://umbraco.com/products/add-ons/forms/) with a valid license from Umbraco HQ. You also need to install the Umbraco Engage[ Forms Addon package from Nuget](https://www.nuget.org/packages/Umbraco.Engage.UmbracoForms).

## Summary

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Serverside the following data is tracked:
* The query string of the visited page (`?filtering=on&parameter1=2`)
* The variant of the page that we serve. This could be a personalized version of the page or one of the A/B-test variants.
* The time that the page was visited (`31 august 2021, 16:04:22`)
* Where the visitor came from before this visit (the so-called referrer). This could be an internal webpage (`/my-contentpage/`) or an external URL (`www.umbraco.com/the-umarketingsuite-rocks/`)
* Where the visitor came from before this visit (the so-called referrer). This could be an internal webpage (`/my-contentpage/`) or an external URL (`www.umbraco.com/the-umbraco-engage-rocks/`)
* The browser being used (Firefox), the Operating System used (Windows), and the type of device being used (Desktop). These data points are based on the user-agent string that any browser is sending.
* The IP address (`213.62.44.123`) or anonymized IP address (`213.62.44.0`), depending on your configuration.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
description: >-
Discover how to integrate the uMarketingSuite.Headless package with Umbraco
Discover how to integrate Umbraco.Engage.Headless package with Umbraco
12.0+ for a Content Delivery API.
---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-

# Headless Example

This article shows how to use the uMarketingSuite Headless API with Umbraco Content Delivery API.
This article shows how to use the Umbraco Engage Headless API with Umbraco Content Delivery API.

## Setting up a Personalization Segment

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ Now that the data is [persisted in the database](../../../../../the-umarketingsu

## Getting the data

There is a background process constantly running on the webserver to check whether there are unprocessed pageviews in memory or records in the table **uMarketingSuiteAnalyticsRawClientSideData**. 
There is a background process constantly running on the webserver to check whether there are unprocessed pageviews in memory or records in the table **umbracoEngageAnalyticsRawClientSideData**. 

The records in the table **uMarketingSuiteAnalyticsRawClientSideData** can be identified because the column **processingStarted** is **NULL**.
The records in the table **umbracoEngageAnalyticsRawClientSideData** can be identified because the column **processingStarted** is **NULL**.

If the background process finds unprocessed pageviews in memory or one of these unprocessed records it fetches the rows of data and starts processing it. Once it has finished processing it updates the record in the table by setting values in the columns '**processingFinished**' and '**processingMachine**'.

Expand All @@ -22,9 +22,9 @@ When the data is fetched Umbraco Engage will perform some different actions:

### Normalize the data

All data is stored in a normalized way in the tables with the prefix: **uMarketingSuiteAnalytics.**
All data is stored in a normalized way in the tables with the prefix: **umbracoEngageAnalytics.**

For example; each browser is only stored once in the table **uMarketingSuiteAnalyticsBrowser** and each browser version is stored once in the table **uMarketingSuiteAnalyticsBrowserVersion**. 
For example; each browser is only stored once in the table **umbracoEngageAnalyticsBrowser** and each browser version is stored once in the table **umbracoEngageAnalyticsBrowserVersion**. 

The session is now related to the primary key ID of the browser version instead of storing the full-text string. This way, data can be queried effortlessly and is stored more efficiently (only an integer per browser instead of a text string).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,6 @@ The lower the value you set, the less memory Umbraco Engage uses on your web ser

The data will be stored as quickly as possible to minimize the needed resources. For this reason, the the data collected from client-side events will be stored in so-called raw tables in a non-normalized. This data will be processed in [the next step](../../../../../the-umarketingsuite-broad-overview/dataflow-pipeline/data-parsing/) of the data flow.

The data collected from clientside events is stored in the table `uMarketingSuiteAnalyticsRawClientSideData`.
The data collected from clientside events is stored in the table `umbracoEngageAnalyticsRawClientSideData`.

When the data is stored in these tables the columns `processingStarted`, `processingFinished`, `processingMachine`**,** and `processingFailed` are empty. They will be filled in the parsing step.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-

# Performance

Within Umbraco Engage we have implemented several performance optimizations and there are also some configurations you can do yourself to optimize the performance of your Umbraco solution with uMarketingSuite.
Within Umbraco Engage we have implemented several performance optimizations and there are also some configurations you can do yourself to optimize the performance of your Umbraco solution with Umbraco Engage.

## Separate processes for storing, parsing, and reporting

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ description: >-

When visiting a website with Umbraco Engage installed you will get a unique cookie. This cookie allows for relating different page visits or sessions to the same visitor. It will also continuously serve the same variant of an A/B test.

By default the uMS cookie has the name `umbracoEngageAnalyticsVisitorId`. You can change the name in the [configuration file](../../settings/configuration-options-2-x/).
By default the Umbraco Engage cookie has the name `umbracoEngageAnalyticsVisitorId`. You can change the name in the [configuration file](../../settings/configuration-options-2-x/).

The Umbraco Engage cookie:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Sometimes you want more fine-grained control over when something does (or doesn'

This might be difficult to accomplish through the Content Scoring UI in Umbraco, but can be done by code.

To manage scoring for personas, we need to get a reference to `IPersonaService`. For the customer journey, we will need the `ICustomerJourneyService`. Both services can be found under the namespace `uMarketingSuite.Business.Personalization.Services`.
To manage scoring for personas, we need to get a reference to `IPersonaService`. For the customer journey, we will need the `ICustomerJourneyService`. Both services can be found under the namespace `Umbraco.Engage.Infrastructure.Personalization.Services`.

To implement our example above, we will be using the `ICustomerJourneyService`. To modify the customer journey step scoring, we need to know the ID of the step we are trying to score. For your implementation you could hardcode the IDs (since they are unlikely to change), we can also fetch them by name through the `ICustomerJourneyGroupRepository`.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,12 @@ For more inspiration, you can look at the built-in rule editors of Umbraco Engag

We use the "**data.days**" property of our rule definition in the editor. The editor gets passed in the rule definition as well as a "**config**" object which we should update according to the user input.

```
<ums-segment-rule-editor name="$ctrl.rule.name" type="$ctrl.rule.type" save="$ctrl.save()"> <select ng-options="value as day for (value, day) in $ctrl.rule.data.days" ng-model="$ctrl.config.dayOfWeek"> <option value="">- Select -</option> </select></ums-segment-rule-editor>
```html
<ums-segment-rule-editor name="$ctrl.rule.name" type="$ctrl.rule.type" save="$ctrl.save()">
<select ng-options="value as day for (value, day) in $ctrl.rule.data.days" ng-model="$ctrl.config.dayOfWeek">
<option value="">- Select -</option>
</select>
</ums-segment-rule-editor>
```

* `segment-rule-day-of-week-editor.js`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ To render this External Profile Tab with a custom component, you have to create

{% code overflow="wrap" %}
```javascript
angular.module("myCustomModule", ["Engage"]);// angular.module("umbraco").requires.push("myCustomModule");// angular.module("myCustomModule").run([ ... ]) // Create a component. We create a component named "myCustomExternalProfileDataComponent" here:angular.module("umbraco").component("myCustomExternalProfileDataComponent", { bindings: { visitorId: "<" }, template: "<h1>My custom external profile data component! visitorId = {{$ctrl.visitorId}}</h1>", controller: [function () { this.$onInit = function () { // Your logic here } }]});// Register your custom external profile data component.// Please note you have to use kebab-case for your component name here// just like how you would use it in an AngularJS template (i.e. myCustomComponent -> my-custom-component)angular.module("umbraco").run(["umsCustomComponents", function (customComponents) { customComponents.profiles.externalProfileData = "my-custom-external-profile-data-component";}]);
angular.module("myCustomModule", ["Engage"]);// angular.module("umbraco").requires.push("myCustomModule");// angular.module("myCustomModule").run([ ... ]) // Create a component. We create a component named "myCustomExternalProfileDataComponent" here:angular.module("umbraco").component("myCustomExternalProfileDataComponent", { bindings: { visitorId: "<" }, template: "<h1>My custom external profile data component! visitorId = {{$ctrl.visitorId}}</h1>", controller: [function () { this.$onInit = function () { // Your logic here } }]});// Register your custom external profile data component.// Please note you have to use kebab-case for your component name here// just like how you would use it in an AngularJS template (i.e. myCustomComponent -> my-custom-component)angular.module("umbraco").run(["myCustomComponents", function (customComponents) { customComponents.profiles.externalProfileData = "my-custom-external-profile-data-component";}]);
```
{% endcode %}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ description: >-

# Settings

In this section, you can find information about configuring different parts of uMS.
In this section, you can find information about configuring different parts of Umbraco Engage.

## **Goals Configuration**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: >-

# Content Delivery Network recommendations

This article provides information and best practices on using Content Delivery Network (CDN) with uMarketingSuite.
This article provides information and best practices on using Content Delivery Network (CDN) with Umbraco Engage.

## Pages (HTML)

Expand Down
Loading
Loading