Welcome to our new beta documentation experience! Let us know what you think below, under "Was this article helpful?" 👍 👎

Consent or Pay

Prev Next

Introduction

Consent or Pay is a CMP implementation pattern commonly used by publishers. It presents users with a clear choice: consent to personalised advertising and continue browsing for free, or pay for a subscription to access the site without tracking.

Usercentrics provides a native Consent or Pay theme that can be activated and configured directly from the Admin UI — no custom banner HTML required. The theme handles the banner display, button behaviour, and second-layer UX automatically, while publishers retain full control over the subscriber check logic on their own website.

There are two main components:

  1. CMP (Usercentrics) — Provides the native Usercentrics banner theme configured in the Admin UI. Also, enabling the consent API, delivers the second layer (privacy centre), and serves the TCF API. (__tcfapi).

  2. Payment / Subscription Provider — Handles subscription management, user login, and redirect back to the originating page. The publisher owns this component.

How It Works

When a user visits the site, the publisher checks whether they are an active subscriber:

  • Subscriber — The CMP is loaded silently without displaying any banner. No consent interaction is required.

  • Non-subscriber — The Consent or Pay banner is shown. The user must either accept tracking or take the subscription path.

Setup in the Admin UI

IMPORTANT ℹ️

Consent or Pay require your script to be running with the newest version of our CMP script. Go to your implementation tab and verify that you are using the V3 Script Tag.

If you are not seeing this option, it means you are using the newest version of the Admin UI which only includes the V3 script.  

In the Usercentrics Admin UI, navigate to your CMP configuration and activate the Consent or Pay theme. Once enabled, additional settings become available.

Including a TCF Signal for Paying users when Deny All action is given                                                                                                                                                    

Paying subscribers have rejected consent, and the default approach is that the TCF signal is in these cases not removed, to ensure that no vendors can process based on legitimate interest. It is possible to include the TCF signal for paying users, which will consequently may allow for non-personalized advertising to serve on the webpage, based on legitimate interest as defined by TCF.

When not including the TCF signal for paying users, the __tcfapi is either absent or returns an empty signal.

Step 2 – Configure the Banner

With the theme activated, configure the following settings:

Login link

Allows existing subscribers to log in directly from the banner. Configure as a redirect URL that sends the user to your login page.

Reject & Subscribe button

This button replaces the standard Deny All button in the first layer. It functions as a deny-all action and simultaneously redirects the user to your subscription/payment page.

It is configured as a Redirect URL: The user is sent to your subscription page.

Exclude Pages

Use “Exclude Pages” to automatically suppress CMP on any page where you would like to allow customers to signup or login without the CMP blocking them. When suppressing the CMP, it is not logging a consent decision.

Labels and appearance

Customise button labels and link text under Appearance → Styling and Content → Labels.

An optional text field under Content → TCF First Layer ("Consent or Pay Banner message"). A default text is provided, but this can be changed to align with your tone of voice and desired messaging.

Usercentrics provides a Mandatory / Flexible classification for each Category, Purpose, and Special Feature, allowing the Publisher to assess which purposes is required to not be required to pay for access.

In the Admin UI, alongside the Publisher Restrictions column, there is a Consent or Pay configuration column with two options per entry:

  • Mandatory — This purpose is gated by the Consent or Pay model. The user must either consent or purchase a subscription.

  • Flexible — This purpose can be declined by the user without forcing the pay option.

Second layer behaviour: The second layer always includes a Deny All button (mandatory per TCF policy). After clicking Deny All, the user is returned to the first layer.

Vendor level toggles

When using consent or pay, the consent is normally given based on the purpose or category. However, it is possible to allow vendor level toggles. When doing so, the user can reject individual vendors, while still providing consent to the purpose or category, and access the website.

Required categories

It is also possible to select that a category (used for your own Data Processing Services outside the scope of TCF) can be marked as required for consent or pay.

Publisher Website Integration

The Admin UI theme handles the banner automatically. However, the publisher is still responsible for the subscriber check on their own website — Usercentrics has no visibility into who is a paying subscriber.

Subscriber check and conditional CMP loading

The Usercentrics CMP will always try to prompt, if the mandatory consent requirement is not met. Because we do not control the subscriber layer, the following function must be used to suppress the CMP for paying subscribers.

The following script must be implemented before the CMP script

// Subscriber check

<script type="application/javascript">

// Replace this with your payment provider's actual subscriber check
var isSubscriber = myPaymentProvider.isSubscriber();

// Suppress the CMP display for paying subscribers
var UC_UI_SUPPRESS_CMP_DISPLAY = isSubscriber;

</script>

// CMP script
<script src="https://web.cmp.usercentrics.eu/tcf/stub.js"></script>
<script id="usercentrics-cmp" src="https://web.cmp.usercentrics.eu/ui/loader.js" data-settings-id="YOUR-SETTINGS-ID" async></script>

If you are using the Usercentrics Consent or Pay CMP banner, you do not need to perform this check. If you are utilizing a custom first layer, you may rely on this function

When using the Required / Flexible consent model, you may use AreAllRequiredConsentsAccepted() instead of areAllConsentsAccepted() to check whether the user has provided consent for all purposes marked as mandatory. This allows users who have declined flexible purposes to still access the site freely.

// Check if all Required consents have been given
if (UC_UI.AreAllRequiredConsentsAccepted() === true) {
  // Grant access — user has consented to all required purposes
} else {
  // Show Consent or Pay banner or restrict access
}

If you are not using the granular consent requirement, you may choose to still use areAllConsentsAccepted().

The AreAllRequiredConsentsAccepted function does not take into account vendor level consents, if toggles is made available for vendors.

KPIs to Monitor

When deploying your new Consent or Pay cmp banner, it is recommended that you keep track of the KPI’s listed below, to ensure the launch is working as intended.

KPI

What to expect

Accept Rate %

You should expect an increase in Accept Rate %

Interaction Rate %

You may notice a small decline in Interaction Rate %, as some users may neither want to accept or subscribe for access.

Daily Accepts

Daily Accepts show the absolute number of daily accepts. Compare this to the amount of daily users in your website statistics, for a full picture.

Note: Usercentrics does not provide legal guidance. Best practices and applicable regulations vary by jurisdiction. Publishers should obtain their own legal assessment, particularly regarding granular consent requirements (see e.g UK ICO guidance and DK DPA guidance).