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
101 changes: 58 additions & 43 deletions 13/umbraco-ums/developers/headless/headless-example.md
Original file line number Diff line number Diff line change
@@ -1,65 +1,80 @@
# headless-example
---
description: >-
This article shows how to personalize content using the uMarketingSuite Headless API and Umbraco’s Content Delivery API.
---

This will show a simple tutorial to use the uMarketingSuite Headless API with Umbraco Content Delivery API.
# Headless Example

### Setting up a simple Personalization Segment
This article shows how to use the uMarketingSuite Headless API with Umbraco Content Delivery API.

* With uMarketingSuite goto the **Marketing** Section and the **Personalization** section
* Navigate to the **Segments** tab and click **Add new Segment**
* Give the segment a name such as **Morning People** or similar
* And a description such as **For people who like to visit us in the morning**
* Set the segment type to **Core** as we don't wish this to be temporary and tied to end date for a campaign
* Choose the parameter **Time of day** and set its configuration values to **Include** **00:00** to **12:00** as it is a 24 hour clock
## Setting up a Personalization Segment

Refer to the [documentation on Personalization to learn more](../../../../personalization/) what can be done.
1. Go to the **Marketing** > **Personalization** section.
2. Navigate to the **Segments** tab.
3. Click **Add new Segment**.
* Give the segment a name. For example: **Morning People**.
* And a description such as **For people who like to visit us in the morning**.
* Set the segment type to **Core** as we don't wish this to be temporary and tied to end date for a campaign.
* Select the **Time of day** parameter and configure it to **Include** times from **00:00** to **12:00** as it is a 24 hour clock.

For more information, see the [Personalization](../personalization/README.md) documentation.

![]()

### Creating a Document Type to Personalize
### Creating a Document Type for Personalization

1. Navigate to **Settings**.
2. Click **Create a New Document Type**.
3. Enable **Allow Segmentation** under **Permissions**.
4. Save the Document Type.
5. Add a new property, such as **Header**, using a **Textstring** property editor.

* Ensure **Allow Segmentation** is enabled for this property.

6. Create a piece of content using this new Document Type so we can query and request it using the Umbraco Content Delivery API

* Navigate to **Settings** and **Create a New Document Type**
* Ensure the setting **Allow Segmentation** is enabled under **Permissions** and Save the Document Type
* Add a new property to the document type such as **Header** using a **Textstring property editor**
* Ensure the property added has the **Allow Segmentation** value enabled
* Create a piece of content using this new Document Type so we can query and request it using the Umbraco Content Delivery API
* _For this example lets create this piece of content at the root_

### Creating Content that is personalized
### Creating Personalized Content

1. Open the created content and go to **Personalization**.
2. Click **Add personalized variant**.
3. Set the following in the **Add a new variant** dialog:

* With a simple piece of content created click the **Personalization** content app
* Click the **Add personalized variant** button
* In the Add a new variant dialog we can set the following
* Choose our segment **Morning People** we added earlier
* Give it a name and a meaningful descriptions such as **Home Page for Morning People**
* Choose the segment **Morning People** we added earlier.
* Give it a name and a meaningful description such as **Home Page for Morning People**.

![]()

* After adding the variant we will return to the content node in split view mode
* We can then add a different piece of content we want to return in our Header property specific to morning people such as **Hello you EARLY risers**
* Save and publish the node with the variant content
4. After adding the variant we will return to the content node in split view mode
5. We can then add a different piece of content we want to return in our Header property specific to morning people such as **Hello you early risers**
6. Save and publish the node with the variant content

![]()

### Using the Content Delivery API

We will do the reminder of this tutorial using the Swagger development tool, so we can easily create requests against Umbraco Content Delivery API and uMarketingSuite Headless

* Navigate to the swagger endpoint of your site **/umbraco/swagger**
* From the dropdown select the **Umbraco Delivery API**
* Expand the \*\*/umbraco/delivery/api/v1/content/item/{path}\*\*request
* Click the **Try it out** button
* For the path parameter enter / for the example piece of content we created at the root of our site - alternatively specify the correct URL path to the content
* You may need to set the **Api-Key** parameter depending if your Umbraco application has been [setup to allow Public Access](https://docs.umbraco.com/umbraco-cms/reference/content-delivery-api#additional-configuration) this can be toggled with the configuration value _Umbraco:CMS:DeliveryAPI:PublicAccess_
* If everything is working correctly we should see the JSON result of the content node and see the default value for our header
* Next from the definitions dropdown navigate to **uMarketingSuite Marketing API**
* Expand the **/umbraco/umarketingsuite/api/v1/analytics/pageview/trackpageview/client**request
* Click the **Try it out** button
* Modify the JSON body, we need to set the url property to be the page we have just visited with the content delivery api above and we can leave the other property **referrerUrl** empty
* Repeat the earlier steps to fetch the content by it's path and you should note that the JSON of the content node and the header property now contains our personalized content **Hello you EARLY risers**
* Remember it will only show us different content if we are to view the page before midday
Let us use the Swagger development tool to make requests to the Umbraco Content Delivery API and uMarketingSuite Headless API.

![]()
1. Navigate to the swagger endpoint of your site **/umbraco/swagger**.
2. Select **Umbraco Delivery API** from the dropdown.
3. Expand `/umbraco/delivery/api/v1/content/item/{path}`:

* Click **Try it out**.
* For the path parameter, enter `/` for the example piece of content we created at the root of our site - alternatively specify the correct URL path to the content
* Set the **Api-Key** parameter if your Umbraco application requires [Public Access](https://docs.umbraco.com/umbraco-cms/reference/content-delivery-api#additional-configuration) this can be toggled with the configuration value `Umbraco:CMS:DeliveryAPI:PublicAccess`

4. You should see the JSON result of the content node, including the default header value.
5. Navigate to **uMarketingSuite Marketing API** from the definitions dropdown.
* Expand `/umbraco/umarketingsuite/api/v1/analytics/pageview/trackpageview/client`:

**Disclaimer**: Due to the way uMarketingSuite is licenced to individual domains, it is required that the Host Header matches one of the registered licenced domains in order for personalisation and A/B Testing on the Content Delivery API to work
* Click **Try it out**.
* Modify the JSON body, setting the URL to the page visited earlier. With the content delivery api above, leave the other property **referrerUrl** empty.
* Repeat the earlier steps to fetch the content by it's path. The JSON of the content node and the header property now contains our personalized content **Hello you early risers**
* Remember it will only show different content if we view the page before midday.

![]()

TADA that's it you can see how easy it is.
{% hint style="info" %}
uMarketingSuite is licensed to individual domains. It requires the Host Header to match one of the registered licensed domains for personalization and A/B Testing to work.
{% endhint %}
Original file line number Diff line number Diff line change
@@ -1,17 +1,28 @@
---
description: >-
This article explains how to use the uMarketingSuite cockpit to verify tracking and understand personalization in your analytics.
---

# Cockpit Insights

To verify whether the tracking of uMarketingSuite analytics works correctly and to get a better understanding of the way personalization works in the uMarketingSuite we've added a cockpit to the uMarketingSuite. The cockpit gives you an additional button in the frontend that allows you to see what actually is going on:
uMarketingSuite includes a cockpit feature to help verify the tracking of analytics and understand personalization behavior. The cockpit adds a button to the frontend, giving real-time insights:

![]()

If you click on it, it will open and you see even more information:
Clicking the button provides detailed information:

![]()

To add the cockpit to your website you need to render the html partial that is shipped by default by the uMarketingSuite. The partial view is located in the folder **/Views/Partials/uMarketings/Cockpit.cshtml**.
## Adding the Cockpit to Your Website

To add the cockpit to your website:

The view can be rendered by adding in this code snippets before the closing **</body>**-tag:
1. Render the HTML partial provided by uMarketingSuite.
2. The partial view is located at `/Views/Partials/uMarketings/Cockpit.cshtml`.
3. Insert the following code before the closing `</body>` tag:

```cs
@Html.Partial("uMarketingSuite/Cockpit")
```

The cockpit itself will only be rendered if the user is logged into Umbraco.
The cockpit will only be rendered if the user is logged into Umbraco.
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,9 @@ You see all browsers that have visited the website. So if you're missing a speci

You can save the parameter and the segment will show the parameter that is part of this segment.

![]()&#x20;
![]()

3\. Add a parameter for **Time of day** to select all visitors after "**15:00**". Enter **15:00** in **From** and leave **Until** empty.
3. Add a parameter for **Time of day** to select all visitors after "**15:00**". Enter **15:00** in **From** and leave **Until** empty.

![]()

Expand Down
93 changes: 53 additions & 40 deletions 13/umbraco-ums/marketers-and-editors/profiling/profile-detail.md
Original file line number Diff line number Diff line change
@@ -1,80 +1,93 @@
---
description: >-
Discover how to analyze visitor profiles, including insights on engagement metrics,
potential, personas, and detailed activity tracking.
---

# Profile Detail

If you go to a specific profile in the Profiles section you get access to two sections in that profiles "Insights" & "Activity"
In the Profiles section, you can access specific visitor profiles, which contain two sections: **Insights** and **Activity**.

## Insights

The insights section shows you an overview of the visitor
The insights section provides an overview of the visitor.

![]()

You see when the visitor first visited the website (first session), when the visitor has been to the website for the last time (Last activity), the number of sessions, the number of pageviews, the time spent on the website and the total engaged time.
Here, you can see:

- The date of the visitor's first session on the website,
- The date of the visitor's last activity,
- The number of sessions,
- The number of pageviews,
- The time spent on the website, and
- The total engaged time.

You also see if there any goals triggered by this visitor.
You can also view any goals triggered by this visitor.

### Profile potential
### Profile Potential

![]()

The uMarketingSuite will also show the potential of the profile based on the engagement time and when the profile was last active.

By default a profile is considered active if the profile has visited the website in the last 30 days.
By default, a profile is considered active if the profile has visited the website in the last 30 days.

By default a profile is considered engaged when the engagement time of the visitor was higher than 300 seconds in the last 3 sessions.
By default, a profile is considered engaged when the engagement time of the visitor was higher than 300 seconds in the last 3 sessions.

The exact settings (30 days, 300 seconds, 3 sessions) can be overwritten via the [uMarketingSuite configuration file](/installing-umarketingsuite/configuration-options-1-x/).

## Calculated persona & customer journey phase
## Calculated Persona & Customer Journey Phase

On the profile we will also see all [personas](/personalization/implicit-explicit-personalization/setting-up-personas/) and [customer journeys](/personalization/implicit-explicit-personalization/setting-up-the-customer-journey/) that you have setup within the uMarketingSuite. Per persona and customer journey phase the score is shown and we will show if they uMarketingSuite assigns a persona or customer journey phase to this visitor. In the below example you see that the uMarketingSuite has assigned the persona "Data & Privacy officer" to this visitor.
Within the profile, you can see all [personas](/personalization/implicit-explicit-personalization/setting-up-personas/) and [customer journeys](/personalization/implicit-explicit-personalization/setting-up-the-customer-journey/) that you have setup within the uMarketingSuite. Each persona and customer journey phase displays a score. You can see if uMarketingSuite has assigned a persona or journey phase to this visitor. In the below example, you see that the uMarketingSuite has assigned the persona "Data & Privacy officer" to this visitor.

![]()

![]()

## Activity tab
## Activity Tab

In the Activity tab you see all the activity of this visitor.
In the Activity tab, you can view all the activity of this visitor.

![]()

Per session you see:
For each session, you can see:

- the first icon shows if the uMarketingSuite enriched the visitor experience (blue icon) by showing an A/B Test variant or personalized variant to the visitor. If that was not the case we show a grey icon.
- when the session was recorded
- which device type was uesed
- the number of pages that where visited in this session
- the duration of the session
- how long the person was engaged
- the number of goals that was triggered
- the events that were triggered
- on which page the session started
- from which website the visitor came into your website
- An icon indicating whether the uMarketingSuite enriched the visitor's experience (blue icon for A/B Test variant or personalized variant; grey icon if not).
- The timestamp when the session was recorded.
- Which device type was uesed.
- The number of pages that where visited in this session.
- The duration of the session.
- How long the person was engaged.
- The number of goals that was triggered.
- The events that were triggered.
- On which page the session started.
- From which website the visitor came into your website.

By clicking on the row you see more in-depth data of that session
By clicking on a row, you can access more detailed information about that session.

![]()

You see:
You will see:

- The visited page
- The time of visit
- The time on page
- The engaged time on page
- The scroll depth on that page
- The number of goals that where triggered
- The number of recorded events
- The variant of the page that somebody saw
- Also you see which Operating System, Browser and (anonymized) IP address is being used
- Finally the icon on the beginning indicates whether the person saw a personalized or A/B tested variant of the page
- The visited page.
- The time of visit.
- The time on page.
- The engaged time on page.
- The scroll depth on that page.
- The number of goals that where triggered.
- The number of recorded events.
- The variant of the page displayed to the visitor.
- The operating system, browser, and (anonymized) IP address used.
- An icon indicating whether the visitor saw a personalized or A/B tested variant of the page.

Finally you can also drilldown into the activity on a specific page:
Finally, you can drill down into the activity on a specific page:

![]()

Here you see when somebody:
Here, you can see:

- started a visit on the page
- when the maximum scroll depth was reached
- when the visit was ended
- when goals where triggered
- When the visitor started their visit on the page.
- When the maximum scroll depth was reached.
- When the visit ended.
- When goals were triggered.
Loading