Skip to content
Open
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
6 changes: 3 additions & 3 deletions docs/cdp/cdp_activation/cdp_activation.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ edition: experience

Follow a step-by-step procedure that allows you to activate [[= product_name_cdp =]].

Activation includes configuration, data export and adding Client-side Tracking.
Activation includes configuration, data export and adding tracking.

[[= cards([
"cdp/cdp_activation/cdp_configuration",
"cdp/cdp_activation/cdp_data_export",
"cdp/cdp_activation/cdp_add_clientside_tracking",
], columns=3) =]]
"cdp/cdp_activation/cdp_add_tracking",
], columns=3) =]]
35 changes: 0 additions & 35 deletions docs/cdp/cdp_activation/cdp_add_clientside_tracking.md

This file was deleted.

50 changes: 50 additions & 0 deletions docs/cdp/cdp_activation/cdp_add_tracking.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
description: Adding tracking in [[= product_name_cdp =]].

Check failure on line 2 in docs/cdp/cdp_activation/cdp_add_tracking.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/cdp/cdp_activation/cdp_add_tracking.md#L2

[Ibexa.Spellcheck] Did you really mean 'product_name_cdp'?
Raw output
{"message": "[Ibexa.Spellcheck] Did you really mean 'product_name_cdp'?", "location": {"path": "docs/cdp/cdp_activation/cdp_add_tracking.md", "range": {"start": {"line": 2, "column": 37}}}, "severity": "ERROR"}
edition: experience
---

# Add tracking

The final step is setting up a tracking script that identifies visitors and records their interactions.
You can set it up in two ways:

## Tracking with built-in Raptor tracking functions

If your project uses the [Raptor connector](raptor_connector.md), use the built-in [Raptor tracking functions](tracking_functions.md).
This recommended approach supports both client-side and server-side tracking, handles cookie consent, and sets the tracking cookie required for [anonymous user segmentation](cdp_configuration.md#anonymous-user-segmentation).

For setup instructions, see [Raptor tracking functions](tracking_functions.md).

## Manual setup
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is existing content (git didn't handle the rename correctly), except for the anonymous user mention around line 48.


If you aren't using the Raptor connector, you can set up tracking manually.

Check notice on line 20 in docs/cdp/cdp_activation/cdp_add_tracking.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/cdp/cdp_activation/cdp_add_tracking.md#L20

[Ibexa.ByUsing] Prefer 'by using' or 'with' to plain 'using'.
Raw output
{"message": "[Ibexa.ByUsing] Prefer 'by using' or 'with' to plain 'using'.", "location": {"path": "docs/cdp/cdp_activation/cdp_add_tracking.md", "range": {"start": {"line": 20, "column": 8}}}, "severity": "INFO"}

It requires a head tracking script between the `<head></head>` tags on your website, a main script after the head script, and cookie consent.

For more information about setting up a tracking script manually, see [Raptor documentation](https://content.raptorservices.com/help-center/client-side-tracking).

Now, you need to add a tracker to specific places in your website where you want to track users.
For example, add this tracker to the landing page template to track user entrances.

```js
raptor.trackEvent('visit', ..., ...);
```
or purchases:

```js
//Parameters for Product 1
raptor.trackEvent('buy', ..., ...);
//Parameters for Product 2
raptor.trackEvent('buy', ..., ...);
```

For tracking to be effective, you also need to send ID of a logged-in user in the same way.
Add the user ID information of logged-in users by using below script:

```js
raptor.push("setRuid","USER_ID_HERE")
```

For anonymous visitors, Raptor's tracking script automatically sets an `rsa` cookie that uniquely identifies the visitor, without calling the `setRuid` method.

Check failure on line 48 in docs/cdp/cdp_activation/cdp_add_tracking.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/cdp/cdp_activation/cdp_add_tracking.md#L48

[Ibexa.Spellcheck] Did you really mean 'Raptor's'?
Raw output
{"message": "[Ibexa.Spellcheck] Did you really mean 'Raptor's'?", "location": {"path": "docs/cdp/cdp_activation/cdp_add_tracking.md", "range": {"start": {"line": 48, "column": 25}}}, "severity": "ERROR"}

For more information on tracking events, see [the documentation](https://content.raptorservices.com/help-center/tracking-events-for-recommendation).
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apparently this link doesn't work.

43 changes: 43 additions & 0 deletions docs/cdp/cdp_activation/cdp_configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,21 @@
client_id: '%env(CDP_ACTIVATION_CLIENT_ID)%'
client_secret: '%env(CDP_ACTIVATION_CLIENT_SECRET)%'
segment_group_identifier: example_segment_group_identifier
membership: # For anonymous user segmentation
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’ve just added a PR with the commented default configuration to recipes:
ibexa/recipes-dev#248

Maybe we should align the environment variable naming to keep it consistent.

activation_id: '%env(CDP_API_ACTIVATION_ID)%'
api_key: '%env(CDP_API_KEY)%'
base_url: 'https://cdp-api.raptorsmartadvisor.com'
timeout: 5
```

- `account_number` - a [number](#account-number) obtained from Accounts settings in [[= product_name_cdp =]] dashboard
- `stream_id` - stream ID generated when importing data from the stream file in Data Manage
- `activations` - activation details. You can configure multiple activations. They have to be of type `Ibexa` in [[= product_name =]] dashboard
- `client_id` and `client_secret` - client credentials are used to authenticate against the Webhook endpoint. Make sure they're random and secure
- `segment_group_identifier` - a [location](#segment-group) to which CDP data is imported
- `membership.activation_id` and `membership.api_key` - credentials for the CDP Membership API, required for [anonymous user segmentation](#anonymous-user-segmentation)
- `membership.base_url` - base URL of the CDP Membership API (default: `https://cdp-api.raptorsmartadvisor.com`)
- `membership.timeout` - timeout in seconds for Membership API requests (default: `5`)

## Account number

Expand Down Expand Up @@ -65,3 +73,38 @@
![Creating a new segment group](cdp_create_segment_group.png)

Next, add a segment group identifier to the configuration.

## Anonymous user segmentation

To set up [segmentation for Anonymous visitors](cdp_guide.md#anonymous-user-segmentation), execute the following steps:

### Set up CDP API activation

Check notice on line 81 in docs/cdp/cdp_activation/cdp_configuration.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/cdp/cdp_activation/cdp_configuration.md#L81

[Ibexa.SentenceCapitalizationInHeadings] Use sentence-style capitalization in headings
Raw output
{"message": "[Ibexa.SentenceCapitalizationInHeadings] Use sentence-style capitalization in headings", "location": {"path": "docs/cdp/cdp_activation/cdp_configuration.md", "range": {"start": {"line": 81, "column": 5}}}, "severity": "INFO"}

Create an activation of type "CDP API" in the Raptor dashboard.
For instructions, see [CDP API activations](https://content.raptorservices.com/help-center/cdp/activations/cdp-api) in Raptor documentation.

### Configure website tracking dataflow

Set up a "Website tracking" dataflow with `coid` (cookie ID) as the person identifier so that Raptor can use the tracking data in the CDP.

For more information, see [Website tracking dataflow](https://content.raptorservices.com/help-center/tools/datamanager/introduction-to-the-data-manager#:~:text=Website%20tracking,-You) in Raptor documentation.

### Configuration

First, add the `membership.activation_id` and `membership.api_key` credentials to your [`ibexa_cdp` configuration](#configuration), using the values for [CDP API activation](#set-up-cdp-api-activation).

Check failure on line 94 in docs/cdp/cdp_activation/cdp_configuration.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/cdp/cdp_activation/cdp_configuration.md#L94

[Ibexa.Spellcheck] Did you really mean 'ibexa_cdp'?
Raw output
{"message": "[Ibexa.Spellcheck] Did you really mean 'ibexa_cdp'?", "location": {"path": "docs/cdp/cdp_activation/cdp_configuration.md", "range": {"start": {"line": 94, "column": 90}}}, "severity": "ERROR"}

To control how long resolved segment memberships are cached per visitor, use the `ibexa_segmentation.anonymous.cache` configuration key:

Check notice on line 96 in docs/cdp/cdp_activation/cdp_configuration.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/cdp/cdp_activation/cdp_configuration.md#L96

[Ibexa.Passive] Try to avoid passive tense, when possible.
Raw output
{"message": "[Ibexa.Passive] Try to avoid passive tense, when possible.", "location": {"path": "docs/cdp/cdp_activation/cdp_configuration.md", "range": {"start": {"line": 96, "column": 50}}}, "severity": "INFO"}

```yaml
# config/packages/ibexa_segmentation.yaml
ibexa_segmentation:
anonymous:
cache:
enabled: true # default; set to false to disable
ttl: 300 # cache lifetime in seconds, default 300 (5 minutes)
pool: 'ibexa.cache_pool' # Symfony cache pool service ID, default ibexa.cache_pool
```

- `enabled` - whether to cache CDP segment results per visitor cookie. Disabling this causes an additional API call to Raptor on every request
- `ttl` - how long resolved segment results are cached per visitor (in seconds)

Check notice on line 109 in docs/cdp/cdp_activation/cdp_configuration.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/cdp/cdp_activation/cdp_configuration.md#L109

[Ibexa.Passive] Try to avoid passive tense, when possible.
Raw output
{"message": "[Ibexa.Passive] Try to avoid passive tense, when possible.", "location": {"path": "docs/cdp/cdp_activation/cdp_configuration.md", "range": {"start": {"line": 109, "column": 45}}}, "severity": "INFO"}
- `pool` - the Symfony cache pool used to store the results
10 changes: 9 additions & 1 deletion docs/cdp/cdp_guide.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: The Ibexa CDP product guide describes all the possibilities that the Customer Data Platform offers to help you build great customer experiences.
description: The [[= product_name_cdp =]] product guide describes all the possibilities that the Customer Data Platform offers to help you build great customer experiences.

Check failure on line 2 in docs/cdp/cdp_guide.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/cdp/cdp_guide.md#L2

[Ibexa.Spellcheck] Did you really mean 'product_name_cdp'?
Raw output
{"message": "[Ibexa.Spellcheck] Did you really mean 'product_name_cdp'?", "location": {"path": "docs/cdp/cdp_guide.md", "range": {"start": {"line": 2, "column": 22}}}, "severity": "ERROR"}
edition: experience
---

Expand Down Expand Up @@ -103,6 +103,14 @@

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

### Anonymous user segmentation

[[= product_name_cdp =]] can build audiences for anonymour users, enabling personalised experiences for not logged-in visitors.

Check failure on line 108 in docs/cdp/cdp_guide.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/cdp/cdp_guide.md#L108

[Ibexa.Spellcheck] Did you really mean 'anonymour'?
Raw output
{"message": "[Ibexa.Spellcheck] Did you really mean 'anonymour'?", "location": {"path": "docs/cdp/cdp_guide.md", "range": {"start": {"line": 108, "column": 50}}}, "severity": "ERROR"}

When an anonymous visitor accesses your site, Raptor starts building an [anonymous profile](https://content.raptorservices.com/help-center/introduction-to-person-identifiers-and-profile-unification).

You can segment these anonymous profiles into different audiences, exactly as in case of logged-in users, and use this information in [[= product_name =]] to provide personalized experiences.

## Benefits

### Personalized user experience
Expand Down
4 changes: 2 additions & 2 deletions docs/cdp/cdp_installation.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
description: Installation of standalone Ibexa CDP package.
description: Installation of standalone [[= product_name_cdp =]] package.

Check failure on line 2 in docs/cdp/cdp_installation.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/cdp/cdp_installation.md#L2

[Ibexa.Spellcheck] Did you really mean 'product_name_cdp'?
Raw output
{"message": "[Ibexa.Spellcheck] Did you really mean 'product_name_cdp'?", "location": {"path": "docs/cdp/cdp_installation.md", "range": {"start": {"line": 2, "column": 45}}}, "severity": "ERROR"}
edition: experience
---

Expand All @@ -10,7 +10,7 @@

## Register in [[= product_name_cdp =]] dashboard

If you decide to acquire [[= product_name_cdp =]] contact your sales representative, they provide you with a registration link to [[= product_name_cdp =]].
If you decide to acquire [[= product_name_cdp =]], contact your sales representative to receive a registration link to [[= product_name_cdp =]].
After registration, you get access to a separate instance where you can find data required for configuring, activating, and using this feature.

## Install CDP package
Expand Down
2 changes: 1 addition & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -528,7 +528,7 @@ nav:
- CDP activation: cdp/cdp_activation/cdp_activation.md
- CDP configuration: cdp/cdp_activation/cdp_configuration.md
- CDP data export: cdp/cdp_activation/cdp_data_export.md
- CDP add client-side tracking: cdp/cdp_activation/cdp_add_clientside_tracking.md
- 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
- Search:
Expand Down
3 changes: 2 additions & 1 deletion plugins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,6 @@ plugins:
'guide/basket/basket.md': 'commerce/commerce.md'
'guide/basket/wishlist_and_stored_baskets.md': 'commerce/commerce.md'
'commerce/wishlist_and_stored_baskets.md': 'commerce/commerce.md'
'commerce/basket.md': 'commerce/commerce.md'
'guide/checkout/checkout.md': 'commerce/checkout/checkout.md'
'guide/checkout/order_confirmation.md': 'commerce/checkout/checkout.md'
'commerce/checkout/order_confirmation.md': 'commerce/checkout/checkout.md'
Expand Down Expand Up @@ -586,3 +585,5 @@ plugins:
'ai_actions/install_ai_actions.md': 'ai_actions/configure_ai_actions.md'
'discounts/install_discounts.md': 'discounts/configure_discounts.md'
'content_management/collaborative_editing/install_collaborative_editing.md': 'content_management/collaborative_editing/configure_collaborative_editing.md'

'cdp/cdp_activation/cdp_add_clientside_tracking.md': 'cdp/cdp_activation/cdp_add_tracking.md'
Loading