> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.poool.fr/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Using Marfeel Engagement Segments (RFV) with Access

Poool Access can use the engagement groups calculated by Marfeel to personalize the experience offered to readers.
With this integration, the engagement group assigned by Marfeel is passed to Poool as a custom segment (`custom_segment`). This makes it possible to display different scenarios based on each visitor's engagement level.
This integration relies on the Marfeel JavaScript SDK already present on your website.

# How it works

When a reader lands on an article, the script queries the Marfeel SDK already loaded on the page.
Marfeel returns the RFV engagement score, calculated based on three indicators:
* **Recency** — date of the reader's last visit
* **Frequency** — frequency of visits
* **Volume** — number of pages viewed

This score places the reader into one of the groups in Marfeel's *Audience Loyalty Funnel*:

| Group | Description |
| ---- |
| `new` | New reader |
| `fly-by` | Occasional visit, with no engagement |
| `casual` | Occasional reader |
| `loyal` | Loyal reader |
| `lover` | Highly engaged reader |

The group is then passed to Poool through the `custom_segment` property when the paywall is created, triggering the scenario associated with that reader.

||| If no valid score is available, Poool simply falls back to its native segmentation.


# Configuration in the Poool Dashboard

Before going live, create the corresponding custom segments in your Poool Dashboard. You can use exactly the same slugs as those used by Marfeel so that the mapping is automatic:

* `new`
* `fly-by`
* `casual`
* `loyal`
* `lover`

Then assign a specific scenario to each of these segments.

||| Custom segments take priority over Poool's native segmentation. As soon as a reader belongs to a custom segment, the scenario associated with that segment overrides the native rules.


# Technical integration

### JavaScript

Once the Marfeel group has been retrieved, pass it to Poool when initializing Access. If no group is available, simply omit the `custom_segment` property:

```
.config({
  ...
  ...(segment && { custom_segment: segment })
})

```

### React

With the `@poool/react-access` SDK, retrieve the Marfeel group before mounting the `AccessContext` component, then pass it through the configuration:

```
<AccessContext
  appId="YOUR_APP_ID"
  config={{
    ...(segment && { custom_segment: segment }),
  }}
>

```

### Example

```
custom_segment: "loyal"

```

This value automatically triggers the scenario configured for readers in the `loyal` segment.

| For the segmentation to work correctly, make sure Poool Access is initialized only after the Marfeel engagement group has been retrieved.


We also recommend implementing a fallback mechanism. If Marfeel is unavailable or does not respond within a reasonable timeframe, the paywall should still be displayed using Poool's native segmentation.

# Poool × Marfeel integration example

In our integration example, the process works as follows:

When a reader lands on an article, the script retrieves the RFV engagement score from the Marfeel SDK already present on the pages.
This score is then converted into a custom engagement group.
The resulting group is passed to Poool when the paywall is created, triggering the scenario associated with the reader's segment.

If Marfeel is unavailable, does not respond within the expected timeframe (2 seconds), or if the reader cannot be personalized, no custom segment is sent to Poool. In this case, Poool automatically falls back to its native segmentation, and the paywall continues to work as it does today.

Before going live, you will therefore need to create the five custom segments in the Dashboard using exactly the correct slugs.

Example react: https://codesandbox.io/p/sandbox/gq54q6
Example JS: https://codesandbox.io/p/sandbox/marfeel-files-js-lrt6yd

# Further reading

To learn more about how the RFV score is calculated and what the different engagement groups mean, see Marfeel's official documentation:
[RFV Score: Recency, Frequency and Volume explained](https://www.marfeel.com/docs/loyalty/rfv-score-recency-frequency-and-volume-explained?utm_source=chatgpt.com)