Skip to content
Draft
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
20 changes: 19 additions & 1 deletion docs/administration/admin_panel/segments_admin_panel.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
---
description: You can use segments to display specific content to specific users.
edition: experience
month_change: true
---

# Segments

You can use segments to display specific content to specific [users](users.md).
They're used out of the box in the Targeting block in the page.
They're used out of the box in the [Targeting block](targeting_block.md) in the page.

You can collect segments in segment groups:

Expand All @@ -16,4 +17,21 @@ Each segment group can contain segments that you can target content for.

![Segment](admin_panel_segment.png)

## Segments view

The segments view lists all segments within a segment group in a searchable, sortable, and filterable table.

The table shows the following metadata:

- **Name** - the audience's name
- **Identifier** - the unique audience identifier used, for example, in the [Targeting block](targeting_block.md)
- **Size** - the number of profiles currently in the audience
- **Last updated** - the timestamp of the most recent audience sync

Secondary metadata, such as the audience's description and tags, is available through contextual UI elements, for example tooltips or hover states.
Additional metadata may also be displayed when it's available from the source system.

All of this metadata is synced from your CDP and served from [[= product_name =]], so opening the Segments view doesn't trigger a live request per audience.
For more information on how metadata is retrieved and kept up to date, see [Audience metadata](cdp_audience_metadata.md).

You can assign users to segments [through the API](segment_api.md#assigning-users).
4 changes: 4 additions & 0 deletions docs/cdp/cdp.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
description: Ibexa CDP is a software system designed to collect and organize customer data from multiple sources to build comprehensive customer profiles.
edition: experience
month_change: true
---

# Customer Data Platform (CDP)
Expand All @@ -20,3 +21,6 @@ With defined audiences you can target your user segments at the right time, thro

The customer data are collected through the system of trackers embedded in different parts of your page.
For more information on activation and trackers, see [CDP activation documentation](cdp_activation.md).

Audience metadata, such as size, description, tags, and last update timestamp, is synced from [[= product_name_cdp =]] and persisted on the [[= product_name =]] side.
For more information, see [Audience metadata](cdp_audience_metadata.md).
24 changes: 24 additions & 0 deletions docs/cdp/cdp_audience_metadata.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
description: Audience metadata retrieved from Raptor is synced and persisted on the CMS side, and served through APIs.
edition: experience
month_change: true
---

# Audience metadata

For each [audience](cdp_guide.md#audience-builder) built in [[= product_name_cdp =]], [[= product_name =]] retrieves and stores the following metadata:

- number of profiles in the audience
- audience description
- audience tags
- last audience update timestamp

Audience metadata is synced from [[= product_name_cdp =]] and persisted on the [[= product_name =]] side.
It's exposed through APIs, rather than being fetched from [[= product_name_cdp =]] on every request.

This means that components, such as the [Targeting block](targeting_block.md), [audience preview](page_builder_guide.md#audience-preview), and the [Segments view](segments_admin_panel.md#segments-view), read metadata from [[= product_name =]] directly, instead of making a runtime request to [[= product_name_cdp =]].
This makes setting up targeting rules and browsing audiences faster.

Metadata refreshes automatically, without editors having to manually trigger an update.

To retrieve audience metadata through the API, use the `SegmentationService`, as described in [Segment API](segment_api.md#getting-segment-information).
7 changes: 7 additions & 0 deletions docs/cdp/cdp_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,13 @@ You can also connect created audiences to the activations.

![Audience Builder](img/audience_builder.png)

#### Audience metadata

For each audience, [[= product_name_cdp =]] retrieves metadata such as the number of profiles, description, tags, and the timestamp of the last update.
This metadata is synced and persisted on the [[= product_name =]] side, and then served through CMS APIs, so components like the [Targeting block](targeting_block.md), audience preview, and the [Segments view](segments_admin_panel.md#segments-view) don't need to make a live request to [[= product_name_cdp =]] for every audience.

For more information, see [Audience metadata](cdp_audience_metadata.md).

### Anonymous user segmentation

[[= product_name_cdp =]] can build audiences for anonymous users, enabling personalised experiences for not logged-in visitors.
Expand Down
4 changes: 4 additions & 0 deletions docs/content_management/content_management_guide.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
description: Read the content management product guide and learn how to create, modify, and display information to the target audience.
month_change: true
---

# Content management product guide
Expand Down Expand Up @@ -208,6 +209,9 @@ Although segments aren't meant to classify content, they could fall into this ca
With segments, you can reach specific groups, or categories, of visitors with specific information about content or products that could be of their interest.
For example, you can build Pages that contain different recommendations, depending on who is visiting them.

Each segment, also referred to as an audience, contains metadata such as size, description, tags, and last update timestamp, synced from your CDP.
This metadata is available in the [Segments view](segments_admin_panel.md#segments-view), and while configuring the [Targeting block](targeting_block.md) in Page Builder.

![A segment group with two user segments](img/user_segments.png)

## How to get started
Expand Down
15 changes: 13 additions & 2 deletions docs/content_management/pages/page_builder_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ E. Buttons:
|Button|Description|
|------|-----------|
|![Edit and preview switch](page_builder_toolbar_editpreview.png)|Access main properties of the page, like title and description.|
|![Preview segments](page_builder_toolbar_preview_segment.png)|Access preview of the page for a given segment.|
|![Preview segments](page_builder_toolbar_preview_segment.png)|Access [preview of the page for a given audience](#audience-preview).|
|![Timeline button](page_builder_toolbartimelinetoggler.png)|Access the timeline to preview how the page changes with time. You can also view the list of all upcoming scheduled events.|
|![View toggler](page_builder_toolbar_devicestoggler.png)|Toggle through to see how the page is rendered on different devices.|
|![Page blocks menu](page_builder_toolbarelements.png)|Move Page blocks / Structure view to the other side of the screen.|
Expand Down Expand Up @@ -187,6 +187,17 @@ You can schedule content to be revealed, or hidden in Page Builder in two ways w

For more information, see [Schedule publication]([[= user_doc =]]/content_management/schedule_publishing/).

#### Audience preview

When previewing content for a specific [audience](cdp_audience_metadata.md), editors can see the audience’s details and metadata without leaving Page Builder.

Where the metadata is available, the tooltip includes:

- thumbnail
- content type icon
- content name
- available language versions

## Benefits

### Manage your pages without technical skills
Expand All @@ -213,7 +224,7 @@ Additionally, Page Builder offers you a selection of ready-to-use page blocks th

A. **Default** blocks:

- Targeting - embeds a content item based on the segment the user belongs to.
- [Targeting](targeting_block.md) - displays a content variation based on the audiences the user belongs to.

B. **PIM** blocks:

Expand Down
49 changes: 49 additions & 0 deletions docs/content_management/pages/targeting_block.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
description: Targeting block provides recommendation of content based on users related to the configured segments.
edition: experience
month_change: true
---

# Targeting block

The Targeting block is a [Page Builder](page_builder_guide.md) block that displays a content variation based on the [audiences](cdp_audience_metadata.md) a visitor belongs to.
While configuring the block, you can see each audience's size, timestamp, and tags inline.

## Multi-audience configuration

The Targeting block lets you assign multiple audiences to a single content item in one configuration pass.

Each variation in the block is configured with:

- one or more audiences
- the content item to display when a visitor matches

The system uses audiences in the order set by the editor.
If a visitor belongs to multiple audiences, the first matching audience determines the displayed variation.

The same audience can be assigned to more than one variation.
If the same audience appears in multiple variations, visitors see the variation that comes first in the list.
To avoid audience overlaps, audiences already assigned to another variation are disabled and cannot be selected again.

## Permissions

Audience evaluation takes content permissions into account.
The system checks if the visitor can access the content for each audience.

If a visitor belongs to multiple audiences:

- the system checks audiences in the configured order
- the system checks the next matching audience if the visitor cannot access the content for the first one
- the system stops when it finds content the visitor can access

If a visitor belongs to only one audience and cannot access the associated content, the system shows the [fallback content](targeting_block.md#fallback-content).

## Fallback content

Fallback content is rendered:

- if a visitor belongs to only one audience and the associated content is not accessible
- whenever no accessible content variation can be displayed across all audiences the visitor belongs to
- the visitor doesn't belong to any of the configured audiences

You can find the fallback selector at the bottom of the configuration screen, as it should be treated as the default option rather than the primary choice.
4 changes: 2 additions & 2 deletions docs/ibexa_products/ibexa_experience.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,9 @@ Using this tool, your customers can change their organization details, invite an

#### Segments

[Segmentation](segments_admin_panel.md) allows you to split up the user base.
[Segmentation](segments_admin_panel.md) allows you to split up the user base into audiences with the metadata such as size, description, tags, and last update timestamp synced from the CDP.
By assigning users to segments, you can display specific content to selected visitors and tailor the content that they can see.
One of the tools that you can use right out of the box is the Targeting block that is available in the Page Builder.
One of the tools that you can use right out of the box is the [Targeting block](targeting_block.md) that is available in the Page Builder, where you can assign multiple audiences to a single content item.
Segmentation is also useful with the [Recommendations](raptor_connector_guide.md).
You can assign users to different recommendation groups and create advanced logic with operators to provide your audience with the best recommendations.

Expand Down
3 changes: 3 additions & 0 deletions docs/users/segment_api.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ Similarly, you can load a segment by using `SegmentationService::loadSegmentById
[[= include_code('code_samples/api/public_php_api/src/Command/SegmentCommand.php', 57, 57, remove_indent=True) =]]
```

The returned `Segment` includes [audience metadata](cdp_audience_metadata.md) synced from your CDP: the number of profiles in the audience, its description, tags, and the timestamp of the last update.
This metadata is read-only through the API, as it's kept up to date by the synchronization process rather than by manual updates.

## Checking assignment

You can check whether a user is assigned to a segment with `SegmentationService::isUserAssignedToSegment()`:
Expand Down
2 changes: 2 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ nav:
- Page block attributes: content_management/pages/page_block_attributes.md
- Page block validators: content_management/pages/page_block_validators.md
- Create custom Page block: content_management/pages/create_custom_page_block.md
- Targeting block: content_management/pages/targeting_block.md
- React App page block: content_management/pages/react_app_block.md
- Ibexa Connect scenario block: content_management/pages/ibexa_connect_scenario_block.md
- Forms:
Expand Down Expand Up @@ -529,6 +530,7 @@ nav:
- CDP add tracking: cdp/cdp_activation/cdp_add_tracking.md
- CDP data export schedule: cdp/cdp_data_export_schedule.md
- CDP data customization: cdp/cdp_data_customization.md
- CDP audience metadata: cdp/cdp_audience_metadata.md
- Search:
- Search: search/search.md
- Search engines:
Expand Down