---
title: "Setup"
manual: "Klaro! Consent Manager"
version: "3.0"
permalink: "https://docs.typo3.org/permalink/erhaweb/klaro-consent-manager:configuration-typoscript-setup@3.0"
source: "Configuration/TypoScriptReference/Setup.rst"
rendered: "2026-09-24T10:59:28+00:00"
---

# Setup {#configuration-typoscript-setup}

TypoScript setup is loaded by the [Site Set](https://docs.typo3.org/permalink/erhaweb/klaro-consent-manager:configuration-site-set@3.0) and
by the [Static TypoScript Include](https://docs.typo3.org/permalink/erhaweb/klaro-consent-manager:configuration-typoscript@3.0). It
registers frontend assets, Fluid paths, the [contextual consent](https://docs.typo3.org/permalink/erhaweb/klaro-consent-manager:features-contextual-consent@3.0) layout integration, and selected runtime
settings.

# Service filtering {#service-filtering}

-   **services.whitelist**

    -   *type:* string (comma-separated list)
    -   *Default:* ''
    -   *Path:* plugin.tx_klaroconsentmanager.settings

    Restrict the available services to the given list of service *names*.
    If a whitelist is defined, **only** the listed services are active.
    Any configured [services.blacklist](https://docs.typo3.org/permalink/erhaweb/klaro-consent-manager:confval-services-blacklist@3.0) is ignored when a whitelist is present.

    **Example:**

    ```typoscript
    plugin.tx_klaroconsentmanager.settings.services.whitelist = google-analytics, matomo
    ```

-   **services.blacklist**

    -   *type:* string (comma-separated list)
    -   *Default:* ''
    -   *Path:* plugin.tx_klaroconsentmanager.settings

    Disable specific services by *name*. All other services remain active.
    The blacklist is evaluated **only if no** [services.whitelist](https://docs.typo3.org/permalink/erhaweb/klaro-consent-manager:confval-services-whitelist@3.0) **is set**.

    **Example:**

    ```typoscript
    plugin.tx_klaroconsentmanager.settings.services.blacklist = facebook-pixel
    ```

> [!NOTE]
> **Priority:** Whitelist > Blacklist > Default
>
> -   If a **whitelist** is set (non-empty), only its entries are active; a blacklist is ignored.
> -   If **no whitelist** is set, the **blacklist** excludes its entries.
> -   If **neither** is set, **all services are active**.
>
> This mechanism is especially useful in combination with TypoScript
> conditions, for example to enable or disable specific services depending
> on the current language, site identifier, or application context.
> See also the feature overview for [Service Filtering](https://docs.typo3.org/permalink/erhaweb/klaro-consent-manager:features-service-filtering@3.0).
>
> **Example:**
>
> ```typoscript
> # Restrict the services exclusively to Google Analytics and Matomo if this is the default language
> [siteLanguage("languageId") === 0]
> plugin.tx_klaroconsentmanager.settings.services.whitelist = google-analytics, matomo
> [end]
>
> # Remove the Facebook Pixel services if the current language has the UID 1
> [siteLanguage("languageId") === 1]
> plugin.tx_klaroconsentmanager.settings.services.blacklist = facebook-pixel
> [end]
> ```

# Configuration overrides {#configuration-overrides}

-   **configuration.\[...\]**

    -   *type:* Array
    -   *Default:* \[\]
    -   *Path:* plugin.tx_klaroconsentmanager.settings

    > [!WARNING]
    > Experimental feature!

    The entries made here from TypoScript are merged into the configuration
    array shortly before the transformation into the JavaScript configuration.
    Use the lowerCamelCase notation of the final Klaro JavaScript keys.

    Nesting in the TypoScript override cannot currently be mapped reliably for
    list-like values such as services without an associative index. There is no
    plausibility check for the keys used.

    There is currently no type conversion based on the Klaro properties. Use
    only known, non-nested keys and string values unless you have verified the
    generated JavaScript configuration.

    **Example**

    ```typoscript
    plugin.tx_klaroconsentmanager.settings.configuration {
        elementID = overwrittenID
        cookieName = overwrittenCookieName
    }
    ```

# TypoScript condition {#configuration-typoscript-setup-klaro-is-active}

The extension registers the TypoScript condition variable `klaroIsActive`.
It returns `true` when a Klaro configuration is active for the current request.
The feature overview contains a more complete integration example:
[TypoScript condition to check if Klaro is used](https://docs.typo3.org/permalink/erhaweb/klaro-consent-manager:klaroisactive@3.0).

```typoscript
[klaroIsActive]
page.10 = TEXT
page.10.value = Klaro is active
[end]
```

# Fluid ViewHelper {#configuration-typoscript-setup-klaro-is-active-viewhelper}

The Fluid namespace `klaro` is registered globally. Use
`{klaro:isActive()}` to branch Fluid output depending on the active Klaro
configuration.
The feature overview contains a template example:
[Fluid ViewHelper to check if Klaro is used](https://docs.typo3.org/permalink/erhaweb/klaro-consent-manager:klaroisactiveviewhelper@3.0).

```html
<f:if condition="{klaro:isActive()}">
    <f:then>
        Klaro is active.
    </f:then>
    <f:else>
        Klaro is inactive.
    </f:else>
</f:if>
```
