> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nexudus.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cookie consent

> Ask visitors to your Members Portal for cookie consent before analytics and marketing tags load, or let your own consent tool decide.

## Overview

The Members Portal can show a cookie banner and hold back analytics and marketing tags until the visitor agrees. It covers every tag the portal loads for you ([Google Analytics](https://learn.nexudus.com/integrations/google-analytics.md), [Google Tag Manager](https://learn.nexudus.com/integrations/analytics/google-tag-manager.md), the [ad pixels](https://learn.nexudus.com/integrations/ad-pixels.md)), your own [custom code](https://learn.nexudus.com/editor/custom-web-injector.md) when you tag it, and the tools that remember what customers looked at for marketing emails.

You choose how the portal asks in **Settings → Legal → Cookie banner**.

> [!WARNING]
>
> The banner modes are product defaults, not legal advice. In the EU and the UK you normally need visitors' consent before loading analytics or marketing cookies, so use **Opt-in** there. Check with your own adviser what applies to you.

## Banner modes

| Mode | Banner | Tags |
| - | - | - |
| **Off** (default) | None | Load straight away, as they always have |
| **Notice** | A short notice with **OK** and a **Cookie settings** link | Load straight away; visitors can switch them off in **Cookie settings** |
| **Opt-in** | **Reject all** and **Accept all**, as easy as each other, and **Choose cookies** | Wait until the visitor accepts |
| **My own consent tool** | None | Wait until your consent tool (Cookiebot, OneTrust, a GTM template...) tells the portal what the visitor chose |

The banner only asks about what your location uses:

* **Analytics** when Google Analytics or Google Tag Manager is set up, or custom code is tagged `analytics`.
* **Marketing** when an ad pixel is set up, custom code is tagged `marketing`, or the **Browse reminders** agent is on (it remembers what signed-in customers looked at, to email them about it).

With nothing to ask about, there is no banner. Necessary cookies (signing in, the cart, payments) are always on and are not asked about.

The banner text comes in every portal language. To use your own words, write them in **Cookie banner message**; the link to your cookie policy (**Settings → Legal → Cookie policy**) is added after it.

## What visitors see

* **Notice** — "*Your location* uses cookies to run this site and to understand how it's used." with **OK**.
* **Opt-in** — "Cookies on *your location*", what each kind of cookie is for, **Reject all**, **Accept all** and **Choose cookies**. On phones the buttons stack, **Reject all** first.
* **Cookie settings** — a dialog with one switch per kind of cookie in use, the tools behind each, and **Reject all**, **Save choices** and **Accept all**. Visitors open it from **Cookie settings** at the bottom of every page (in the **Help** menu on phones).

The banner never blocks the page. The choice is remembered on that browser for six months, for your location only. The banner asks again when the six months are up, when you change the banner mode or your cookie policy, or when you start using a new kind of cookie.

When a visitor switches a kind of cookie off, the page reloads so that the tags already running stop.

## Google consent mode

With **Opt-in** or **My own consent tool**, choose how Google's tags wait in **Google consent mode**:

* **Basic** (default) — Google Analytics and Google Tag Manager load only once the visitor accepts.
* **Advanced** — they load straight away with everything denied and send Google cookieless pings until the visitor accepts. Some EU regulators consider these pings to need consent too.

Either way the portal sends Google Consent Mode v2 signals (`analytics_storage`, `ad_storage`, `ad_user_data`, `ad_personalization`). See [Google Analytics](https://learn.nexudus.com/integrations/google-analytics.md#cookie-consent).

## Using your own consent tool

Choose **My own consent tool** when your website already runs a consent platform. The portal then shows no banner, starts with every tag held back, and waits for your tool to pass on the visitor's choice through custom code:

```js theme={null}
// For example, in your consent tool's "consent given" callback
window.__nexudus.consent.set({ analytics: true, marketing: false })
```

The choice is remembered like a banner choice. See [Custom code](https://learn.nexudus.com/editor/custom-web-injector.md#using-your-own-consent-tool) for the full consent API.

## Embedded widget

When you [embed the portal](https://learn.nexudus.com/operators/portal-configuration/widget-embedding.md) in your website with the widget, the portal inside it shows its own compact banner in **Notice** and **Opt-in**. If your website already asks for consent, add `consent="host"` to the widget's container and pass the visitor's choice to it:

```html theme={null}
<script src="https://cdn.nexudus.site/widget/nexudus-widget.min.js"></script>
<div class="nexudus-widget-iframe" url="https://your-location.nexudus.site/bookings/meeting-rooms/list" consent="host"></div>
<script>
  // When your banner records the visitor's choice
  window.NexudusWidget.setConsent({ analytics: true, marketing: false })
</script>
```

The portal inside the widget then shows no banner. With **Off** or **Notice** its tags load straight away; with **Opt-in** or **My own consent tool** they wait for `setConsent`. The choice is not stored by the portal: your website passes it on every visit.

> [!NOTE]
>
> Browsers keep the widget's storage separate from your website's and often block third-party cookies, so ad pixels inside the widget measure less. For ad campaigns, link to the portal itself rather than to a page that embeds it.

## Passport and white-label apps

Inside the Passport app and white-label apps, ad pixels never load and the banner never asks about marketing cookies. With **Notice** or **Opt-in**, the banner asks about analytics cookies when Google Analytics or Google Tag Manager is set up.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.