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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion 16/umbraco-engage/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@
* [Retention periods of data](security-and-privacy/retention-periods-of-data.md)
* [Anonymization](security-and-privacy/anonymization.md)
* [GDPR & EU regulation](security-and-privacy/gdpr/README.md)
* [How to become GDPR compliant using cookiebot](security-and-privacy/gdpr/how-to-become-gdpr-compliant-using-cookiebot.md)
* [How to become GDPR compliant using Cookiebot](security-and-privacy/gdpr/how-to-become-gdpr-compliant-using-cookiebot.md)
* [How it works](security-and-privacy/how-it-works.md)

## Tutorials
Expand Down
2 changes: 1 addition & 1 deletion 16/umbraco-engage/developers/ab-testing/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Umbraco Engage offers multiple ways for performaing A/B tests on your website.
description: Umbraco Engage offers multiple ways for performing A/B tests on your website.
hidden: true
---

Expand Down
3 changes: 1 addition & 2 deletions 16/umbraco-engage/developers/analytics/location.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,5 +111,4 @@ From the country, you can drill down to the city. This will then filter the disp

A community package called "[Engage LocationHeaders](https://github.com/hjaltedaniel-umbraco/Umbraco.Community.Engage.LocationHeaders)" is available. It's a lightweight package that enriches analytics and segmentation data with location information extracted from the HTTP headers, based on the sample code above.

The package is designed to work out-of-the-box on **Umbraco Cloud**, using location headers automatically injected by services like **Cloudflare** or **Azure Front Door**. This allows Umbraco Engage to tap into geographic information such as **country**, **region**, and **city**, without the need for client-side geolocation or third-party services.

The package works out-of-the-box on **Umbraco Cloud**, using location headers injected by services like **Cloudflare** or **Azure Front Door**. This lets Umbraco Engage access geographic details such as **country**, **region**, and **city**, without relying on client-side geolocation or third-party services.
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,4 @@ For a request to be considered a valid pageview, the following conditions have t

With the collected data, the Analytics reports in Umbraco Engage can be visualized. It also allows us to calculate other metrics, such as conversion rates, bounce rates, and landing & exit pages.

If you [include the client-side collection script](client-side-events-and-additional-javascript-files/additional-measurements-with-the-analytics-scripts.md) as well, you can also capture behavioural data of your visitors.
By [including the client-side collection script](client-side-events-and-additional-javascript-files/additional-measurements-with-the-analytics-scripts.md), you can also capture visitor behavior data.
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ An example of configuration in `AppSettings.json` file:
}
```

The settings can be changed at runtime without restarting the website for these changes to take effect. These configurations will toggle whether Umbraco Engage will apply segmentation to the various Content Delivery API endpoints when applicable.
The settings can be changed at runtime without restarting the website for these changes to take effect. These configurations will toggle whether Umbraco Engage will apply segmentation to the different Content Delivery API endpoints when applicable.

| **Key** | **Description** | **Default Value** |
| -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ description: >-
3. [Data processing](data-parsing.md): The data is processed at a later moment to make it more efficient and normalized
4. [Data reporting](reporting.md): Finally the data is reported within Umbraco Engage

The concept of this dataflow is the most important concept to grasp when using Umbraco Engage.
The concept of this Dataflow is the most important concept to grasp when using Umbraco Engage.
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ There are different [configuration options](../../settings/configuration.md) to

* 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.
* The IP Address is anonymized by default. There is an option to change this
* 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.
* 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.

## Client-side collection

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,5 +61,5 @@ If using [Umbraco in a load-balanced configuration](../../../getting-started/for

There is probably no or little reason to store this data forever. That is why we have two settings to clean up this data.

* The first setting is '`AnonymizeDataAfterDays`'. After the set number of days, the data will be anonymized. This means the data will still be shown in aggregate reports like pageviews, used browsers, number of visitors, etcetera, but it can not be related to an individual visitor anymore.
* The first setting is '`AnonymizeDataAfterDays`'. After the set number of days, the data will be anonymized. This means the data will still be shown in aggregate reports like pageviews, used browsers, number of visitors but it can not be related to an individual visitor anymore.
* The second setting is '`DeleteDataAfterDays`'. With this setting the data will be deleted after a set number of days. The reason is that it does not make sense to store your data for all eternity.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ The lower the value you set, the less memory Umbraco Engage uses on your web ser

## Data storage

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](data-parsing.md) of the data flow.
The data will be stored as quickly as possible to minimize the needed resources. For this reason, 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](data-parsing.md) of the data flow.

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

Expand Down
4 changes: 2 additions & 2 deletions 16/umbraco-engage/developers/introduction/performance.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ Umbraco Engage is optimized for performance and you configure it to optimize the

## Separate processes for storing, parsing, and reporting

As documented in the [dataflow process](dataflow-pipeline/) there are different steps for [collecting](dataflow-pipeline/data-collection.md), [storing](dataflow-pipeline/data-storage.md), [parsing](dataflow-pipeline/data-parsing.md), and [reporting](dataflow-pipeline/reporting.md) the data. This is primarily done for performance reasons.
As documented in the [Dataflow process](dataflow-pipeline/) there are different steps for [collecting](dataflow-pipeline/data-collection.md), [storing](dataflow-pipeline/data-storage.md), [parsing](dataflow-pipeline/data-parsing.md), and [reporting](dataflow-pipeline/reporting.md) the data. This is primarily done for performance reasons.

The collection is done in memory of the web server (or webservers if you have multiple web servers in a load-balanced
The collection is done in memory of the web server (or webservers) if you have multiple web servers in a load-balanced environment.

Storing causes the data to flow from the memory to the database. The memory is free again and can be used for other data. The data is stored in the raw data tables at that moment.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ description: >-
nonce to scripts & styles injected by Engage.
---

# Content Security Policy nonce configuration
# Content Security Policy (CSP) nonce configuration

Engage automatically injects different scripts and styles into the returned HTML when requesting content. It also adds the option to set a nonce for the duration of a request to be picked up and added to said scripts and styles. This can be used when a CSP requires a nonce for scripts.
Engage automatically injects different scripts and styles into the returned HTML when requesting content. It also allows setting a nonce for the duration of a request that can be picked up and added to said scripts and styles. This can be used when a CSP requires a nonce for scripts.

## How to set a nonce

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The most common reasons for this are:

* Database connectivity issues.
* Incompatible SQL Server version.
* No COLUMNS STORE index support on Azure SQL lower than S3.
* No COLUMNSTORE index support on Azure SQL lower than S3.

### Exception

Expand Down Expand Up @@ -47,10 +47,10 @@ await app.BootUmbracoAsync();

#### When running on Azure SQL tier lower than S3

Azure SQL lower than S3 doesn't support creating COLUMN STORE indexes. To work around this follow these steps: 
Azure SQL lower than S3 doesn't support creating COLUMNSTORE indexes. To work around this follow these steps: 

1. Scale your Azure SQL environment to S3.
2. Restart the site.
3. Scale back to your initial Azure SQL tier.

The COLUMN STORE indexes are created and can be used in a lower tier.
The COLUMNSTORE indexes are created and can be used in a lower tier.
4 changes: 2 additions & 2 deletions 16/umbraco-engage/installation/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,10 +129,10 @@ The following Google Analytics bridging or blocker script loading types are curr

### Cookie consent

If you need to influence the default [The Umbraco Engage cookie](../marketers-and-editors/introduction/the-umbraco-engage-cookie.md) behaviour please go [here](../security-and-privacy/gdpr/). Or go to an example [implementation using Cookiebot](../security-and-privacy/gdpr/how-to-become-gdpr-compliant-using-cookiebot.md) which can be used as an example for other cookie consent providers.
To change the default [Umbraco Engage cookie](../marketers-and-editors/introduction/the-umbraco-engage-cookie.md) behavior, see the [GDPR & EU regulation](../security-and-privacy/gdpr/) article. Alternatively, check the [implementation using Cookiebot](../security-and-privacy/gdpr/how-to-become-gdpr-compliant-using-cookiebot.md), which can serve as a reference for other cookie consent providers.

{% hint style="warning" %}
If you [change the default cookie behaviour](../developers/introduction/the-umbraco-engage-cookie/) make sure to perform a **client side reload of the initial page after cookie consent**. If this is not done, visitor referrer and/or campaigns will not be tracked.
If you [change the default cookie behavior](../developers/introduction/the-umbraco-engage-cookie/) make sure to perform a **client side reload of the initial page after cookie consent**. If this is not done, visitor referrer and/or campaigns will not be tracked.
{% endhint %}

### Load balancing and CM / CD environments
Expand Down
2 changes: 1 addition & 1 deletion 16/umbraco-engage/installation/troubleshooting-installs.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Go to a form and add a new question. Do you see this option?

Go to **Engage** -> **Settings** -> **Create a new goal**. Do you see the following option called **Umbraco Forms Submission**?

![Umbraco Forms Submission optiom in Goal dropdown](../.gitbook/assets/engage-forms-goal-type.png)
![Umbraco Forms Submission option in Goal dropdown](../.gitbook/assets/engage-forms-goal-type.png)

If you see both options, Umbraco Forms has been configured correctly. If not, ensure that your development team has installed the additional Umbraco Engage [UmbracoForms NuGet package](https://www.nuget.org/packages/Umbraco.Engage.Forms).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ After that, you have to specify the type of test and set up the specific test. I

As a final step, you need to specify which goal you want to measure, as it is all about optimizing for this goal. Set the audience that you want to include in the test.

![An overivew of all the configuration options available when setting up an A/B test.](../../.gitbook/assets/engage-a-b-test-test-setup.png)
![An overview of all the configuration options available when setting up an A/B test.](../../.gitbook/assets/engage-a-b-test-test-setup.png)

## Launching the A/B test

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,4 @@ Finish the steps in the [Settings up the A/B test](../setting-up-the-ab-test.md)

Because of the unique implementation of Umbraco Engage, the content will automatically be updated for this variant.

The algorithm will determine which variant of the propety needs to be rendered.
The algorithm will determine which variant of the property needs to be rendered.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: >-

It goes too far to give a total overview of what A/B testing is. There are some great resource out there that can inspire you and can go in real depth what A/B testing is.

For now we will stick with this explaination: A/B testing is a methodical way of testing (and hopefully improving) your website. By serving multiple versions of a webpage, content block, or website to different visitors, gathering data on which version performs better for a specific goal.
For now we will stick with this explanation: A/B testing is a methodical way of testing (and hopefully improving) your website. By serving multiple versions of a webpage, content block, or website to different visitors, gathering data on which version performs better for a specific goal.

## Why should you A/B test your website?

Expand All @@ -30,4 +30,4 @@ Many books explain the importance of A/B testing and why you should start testin

* Dan Siroker and Pete Koomen. _A/B Testing. The most powerful way to turn clicks into customers_. Hoboken, New Jersey: John Wiley & Sons, Inc., 2013. [Print](https://www.amazon.com/Testing-Most-Powerful-Clicks-Customers/dp/1118792416)
* Chris Goward. _You should test that!_ Indianapolis, Indiana: John Wiley & Sons, Inc., 2013. [Print](https://www.amazon.com/You-Should-Test-That-Optimization/dp/1118301307)
* Will Kurt. _Bayesian statistics the fun way._ San Fransisco, William Pollock, 2019. [Print](https://www.amazon.com/Bayesian-Statistics-Fun-Will-Kurt/dp/1593279566)
* Will Kurt. _Bayesian statistics the fun way._ San Francisco, William Pollock, 2019. [Print](https://www.amazon.com/Bayesian-Statistics-Fun-Will-Kurt/dp/1593279566)
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ In the **Campaigns** tab of the Umbraco Engage, you can view all analytics data
You can add five different parameters to your URLs:

* `utm_source`: Identify the advertiser, site, publication that is sending traffic to your property. For example: google, newsletter4, billboard.
* `utm_medium`: The advertising or marketing medium. For example: cpc, banner, email newsletter.
* `utm_medium`: The advertising or marketing medium. For example: Cost Per Click (CPC), banner, email newsletter.
* `utm_campaign`: The individual campaign name, slogan, promo code for a product.
* `utm_term`: Identify paid search keywords. If you are manually tagging paid keyword campaigns, you should also use _utm_term_ to specify the keyword.
* `utm_content`: Used to differentiate similar content or links within the same ad. For example: if you have two call-to-action links within the same email message, you can use _utm_content_ and set different values for each so you can tell which version is more effective.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@ Serverside the following data is tracked:

With the data collected, the Analytics reports in Umbraco Engage can be visualized. It also allows us to calculate other metrics, such as conversion rates, bounce rates, and landing & exit pages.

If you [include the clientside collection script](../../developers/analytics/client-side-events-and-additional-javascript-files/) as well, you can also capture behavioural data of your visitors.
By [including the clientside collection script](../../developers/analytics/client-side-events-and-additional-javascript-files/), you can also capture visitor behavior data.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ You must first define these segments and then you can start personalizing the we

Segments are created via the Umbraco Engage segment builder, located under the **Personalization** and the **Segments** tab.

<figure><img src="../../.gitbook/assets/Personalization-segments-v16.png" alt="Segment buillder"><figcaption><p>Segment buillder.</p></figcaption></figure>
<figure><img src="../../.gitbook/assets/Personalization-segments-v16.png" alt="Segment builder"><figcaption><p>Segment builder.</p></figcaption></figure>

To create a new segment, follow these steps:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ Campaigns are automatically scored by using utm-parameters, that you may be alre

Each parameter must be paired with a value that you assign. Each parameter-value pair then contains campaign-related information.

For example, if you want to link from a newsletter to the pricing page of the umbraco.com, you can use the following parameters:
For example, if you want to link from a newsletter to the pricing page of the `umbraco.com`, you can use the following parameters:

* `utm_source` = newsletter-july-2024 to identify that this visitor came from this specific newsletter
* `utm_medium` = newsletter to show that the medium was a newsletter
* `utm_campaign` = more_signups because that newsletter was part of a bigger campaign
* `utm_content` = bottom_button to identify a specific link in the newsletter
* `utm_campaign` = `more_signups` because that newsletter was part of a bigger campaign
* `utm_content` = `bottom_button` to identify a specific link in the newsletter

If you want to use these parameters you'll need to set the URL as:

Expand Down Expand Up @@ -72,7 +72,7 @@ An example of this tab could look like this:

In the last row, for example, the `utm_source` is "**Activate account**", `utm_medium` is "**email**" and `utm_content` is **click here to activate your account**. The URL that the visitor used to get to the website looked something like `https://<url>?utm_source=activate account&utm_medium=email&utm_content=click here to activate your account.`

Every unscored campaign can be assigned to a campaign group by clicking on the "**Assign**" button. If you do that a popup will open that allows you to assign the specific campaign to one of your created campaign groups.
Every Unscored campaign can be assigned to a campaign group by clicking on the "**Assign**" button. If you do that a popup will open that allows you to assign the specific campaign to one of your created campaign groups.

<div align="left">

Expand All @@ -86,6 +86,6 @@ Assigning this to "**A campaign group for developers**" ensures all visitors wit

On this tab, you will see all the campaigns that are linked already to a campaign group.

<figure><img src="../../../.gitbook/assets/image (11) (1).png" alt="Scored campaings"><figcaption><p>Scored campaings.</p></figcaption></figure>
<figure><img src="../../../.gitbook/assets/image (11) (1).png" alt="Scored campaings"><figcaption><p>Scored campaigns.</p></figcaption></figure>

You can assign the campaign to a different campaign group or delete it from the existing campaign group. By deleting it, the campaign will go back to the tab "Unscored campaigns".
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ To do this navigate to a node in Umbraco and open the content app "**Personaliza

<figure><img src="../../../.gitbook/assets/engage-personalization-on-content.png" alt="Open personalization on content node."><figcaption><p>Open personalization on content node.</p></figcaption></figure>

You can navigate to the tab "**Content scoring**" to score this Umbraco page. Writting your content for a specific set of personas you can assign a score that will be added to this persona or customer journey step.
You can navigate to the tab "**Content scoring**" to score this Umbraco page. Writing your content for a specific set of personas you can assign a score that will be added to this persona or customer journey step.

Set up the score and save the scoring.

Expand Down
Loading