> ## 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).

# Key integration steps for Poool Access

We’ve listed the key steps to plan when integrating Poool Access and linked to the relevant documentation. Depending on the use cases you're implementing, some actions may require further configuration.

You can also find all of our technical documentation on our [Devhub](https://www.poool.dev/docs/access/javascript).

# Introduction

Implementing journeys with Poool Access involves integrating two scripts: `Access.js` and `Audit.js`.

## Access.js script

This script displays the paywall and tracks everything related to its appearance.

A preliminary step is required: identifying the content to block and the position of the paywall on the page. You’ll need to:

* Identify the content you want to lock

```
<div class="content" data-poool="80" data-poool-mode="excerpt">  
  This is an important premium article, telling the story of...  
</div>
```

* Add the necessary HTML and JavaScript to define where your wall will be displayed:

```
<div id="poool-widget">  
  <!-- your paywall will be displayed here -->  
</div>
```

For more information, you can refer to the [installation documentation](https://www.poool.dev/docs/access/javascript/access/installation).

## Audit.js Script

This script is dedicated to **tracking**. It monitors user interactions with the page and the site. Its integration is required to use Poool’s native segmentation and to access complete statistics.

---

## Access.js – Initial setup

`Access.js` is made up of three mandatory steps, which must be called in the following order:

1. [Initialization](https://www.poool.dev/en/docs/access/javascript/access/methods#init) using your application ID provided during onboarding
2. [Configuration](https://www.poool.dev/docs/access/javascript/access/configuration), which includes all your settings
3. [Creation of a paywall instance](https://www.poool.dev/docs/access/javascript/access/methods#createpaywall) with its options

To comply with **GDPR**, the [consent information](https://www.poool.dev/docs/access/javascript/access/installation#retrieve-user-consent) you collect from the user must be sent to Poool in your configuration:

```
access.config({ cookies_enabled: <true|false> })
```

---

## Page Type management

The Poool tag is dynamic. It must be adapted to each page based on its [type](https://www.poool.dev/docs/access/javascript/access/methods#pagetype): homepage, premium article, or free content. Three values are available: `'premium'`, `'free'`, and `'page'`.

```
access.createPaywall({ pageType: 'premium' });
```

Depending on the value sent, the corresponding settings configured in the Dashboard will be applied:

* **Premium** → applies active premium contexts in the Dashboard, as well as the default context
* **Free** → applies active free contexts in the Dashboard

---

## Blocking modes

There are two main methods to block content:

* **Native methods** (`hide` and `excerpt`), designed to optimize integration time and user experience
* **Custom method**, which allows you to define unlock rules based on your specific security requirements

To help you choose, check out our dedicated article:  
​[Which blocking modes are available in Poool Access?](https://help.poool.fr/en/articles/10249216-what-content-blocking-modes-are-available-in-poool-access)

---

## Subscriber Rights Management

Poool Access does not handle the exclusion of the paywall for users with subscriber rights. The publisher's team must manage this case. For more information, see our article [How to configure content access for users with subscriber rights](https://help.poool.fr/en/articles/11895092-poool-access-how-do-i-set-up-content-access-for-my-subscribers).

---

## Customization via Contexts

The Dashboard natively offers different types of **c**ontexts and audience segmentations. Adding elements to your configuration allows you to customize certain parameters based on your marketing strategy.

You can create a **custom context** in the Dashboard and add the associated **slug** to your configuration.

In the integration code, you can pass either a single context value or an array of values:

```
access.config('context', 'custom-test-context');

// You can also pass multiple values to refine context selection access.config('context', ['custom-test-context', 'fan', 'category']);
```

To dive deeper into targeting options and learn how multiple values interact, read our article: [How to configure advanced context with multiple custom variables](https://help.poool.fr/en/articles/9334988-how-to-set-up-an-advanced-context-with-multiple-custom-values).

---

## Customization via Custom Groups

Similarly, **custom groups** allow you to send a custom value to Poool and activate a scenario accordingly:

```
access.config('custom_segment', 'test-segment');
```

To explore this option in more depth, refer to our article: [How to create a custom group](https://help.poool.fr/en/articles/1071391-how-do-i-create-a-custom-group).

Unlike custom contexts, you can only send **one value** at a time in the `custom_segment` configuration.

---

## Data Collection

If you’re using our data collection widgets (Newsletter widget and Form widget), you’ll need to implement logic to retrieve the collected data using the methods we provide:

* [Retrieve data collected via the Newsletter widget](https://help.poool.fr/en/articles/2389694-how-can-i-retrieve-any-data-collected-by-poool-in-my-own-system)
* [Retrieve data collected via the Form widget](https://help.poool.fr/en/articles/8347692-how-to-retrieve-data-collected-via-the-form-widget)

---

## Default paywall behavior

In some cases, an error may prevent communication with the Dashboard. As a result, your defined settings won't be applied, and the reader may be exposed to a **default paywall action**.

Several options are available to ensure a good user experience. You can consult our articles:

* [How to configure behavior in case of error](https://help.poool.fr/en/articles/9970345-poool-access-how-to-configure-the-behavior-in-case-of-errors)
* [Our technical guide on fallback behavior](https://www.poool.dev/guides/timeouts-and-errors)

**Poool status**

|| You can track API incidents at this page: 👉 [https://status.poool.fr/](https://status.poool.fr/)  Feel free to subscribe to alerts.

---

## Performance Tracking

Poool provides the performance of your actions in the Dashboard under the Statistics tab. The statistics are updated daily overnight and available in the Dashboard the following day.

|| Poool statistics remains accessible in your Dashboard for **120 days**.

You can also link Poool data to your analytics solution. We provide the following connectors:

* [Piano Analytics](https://www.poool.dev/docs/access/javascript/access/configuration#piano_auto_tracking_enabled)
* [Google Analytics 4](https://www.poool.dev/docs/access/javascript/access/configuration#ga_auto_tracking_enabled)
* [GTM](https://www.poool.dev/docs/access/javascript/access/configuration#gtm_auto_tracking_enabled) (choose this if GA4 is loaded via GTM)

If you want to implement custom tracking or if you use a different analytics tool, you can rely on [Poool events](https://www.poool.dev/docs/access/javascript/access/events).

---

## Web Performances

For publishers who prioritize **web performance**, we offer a set of [optimization recommendations](https://help.poool.fr/en/articles/6792031-web-performance-optimizations-our-recommendations) to consider during your integration. Don’t hesitate to discuss this with our team during onboarding.

---

## Audit.js – Key Integration Steps

[`Audit.js`](https://www.poool.dev/docs/access/javascript/audit/installation#installation) is a sibling library of `Access.js` and is automatically detected by it.

It consists of three required steps, which must be executed in the following order:

1. [Initialization](https://www.poool.dev/docs/access/javascript/audit/methods#init) with your application ID
2. [Configuration](https://www.poool.dev/docs/access/javascript/audit/configuration#configuration)
3. Sending an [Audit event](https://www.poool.dev/docs/access/javascript/audit/methods#page-view) – this must be adapted for each page, depending on whether it is a premium or free page.

As with `Access.js`, the [user consent information](https://www.poool.dev/docs/access/javascript/audit/installation#retrieve-user-consent) must be sent to Poool in the configuration:

```
audit.config({ cookies_enabled: <true|false> })
```

---

# Audit.js – Additional Configurations

## Customization

If you use custom contexts and/or groups, the same information must also be passed to **Audit.js**, in the same way as for Access:

* [Custom context](https://www.poool.dev/docs/access/javascript/audit/configuration#context)
* [Custom group](https://www.poool.dev/docs/audit/javascript/audit/configuration#custom_segment)

## Performance Tracking

The analytics connection you set up in `Access.js` must also be integrated in `Audit.js`:

* [Piano connector](https://www.poool.dev/docs/access/javascript/audit/configuration#piano_auto_tracking_enabled)
* [GA4 connection](https://www.poool.dev/docs/access/javascript/audit/configuration#ga_auto_tracking_enabled)
* [GTM connector](https://www.poool.dev/docs/access/javascript/audit/configuration#gtm_auto_tracking_enabled)
* Custom tracking via JS events

---

Once all your configurations are complete, we recommend you review our [pre-launch checklist](https://help.poool.fr/en/articles/11896095-poool-access-our-pre-launch-checklist) to help with final testing.

Our Customer Success and Operations teams are here to support you throughout your implementation — don’t hesitate to reach out our team 🙂