> For the complete documentation index, see [llms.txt](https://doc.dastra.eu/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.dastra.eu/de/features/gerer-le-consentement-aux-cookies/integration-technique/blocage-des-cookies/google-tag-manager.md).

# Google Tag Manager

Dastra ist nativ in Google Tag Manager integriert. Dieser Artikel erklärt Ihnen, wie Sie das Blockieren oder Freigeben von Tags in Abhängigkeit von den Einwilligungen des Nutzers mithilfe von GTM inte

## Einführung

Google Tag Manager ist ein leistungsstarkes Tagging-Tool, das alle Code-Snippets zentralisiert, die Sie in Ihre Website integrieren möchten (Dastra kann übrigens dazugehören!).\
Diese Tagging-Lösung ist sehr effektiv für die Implementierung der effektiven Cookie-Einwilligung, da sie es nicht erfordert, die gesamte Website bei jeder Tag-Änderung neu zu deployen.

## Google Consent Mode V2

Dastra unterstützt nativ den **Google Consent Mode V2**. Die Voraussetzungen, die Aktivierung für einen Dienst und das Standard-Einwilligungs-Snippet werden auf einer eigenen Seite beschrieben:

{% content-ref url="/pages/430wGXIis7vvwfvLThhO" %}
[Google Consent Mode V2](/de/features/gerer-le-consentement-aux-cookies/integration-technique/blocage-des-cookies/google-consent-mode-v2.md)
{% endcontent-ref %}

## An GTM im DataLayer gesendete Ereignisse

Die folgenden Ereignisse werden automatisch an den Google dataLayer gesendet:

| Name                              | Bedeutung                                                                                         |
| --------------------------------- | ------------------------------------------------------------------------------------------------- |
| dastra:consent:{your-vendor-name} | Dieses Ereignis wird gesendet, wenn der Nutzer die Cookies dieses Anbieters akzeptiert hat        |
| dastra:refused:{your-vendor-name} | Dieses Ereignis wird ausgelöst, wenn der Nutzer den Cookies dieses Anbieters nicht zugestimmt hat |

Sie können daher die Tags, die den verschiedenen im Widget konfigurierten Anbietern entsprechen, mithilfe dieser beiden Ereignisse auslösen.

## Beispiel

In diesem Beispiel lösen wir das Google Optimize-Tag bei Einwilligung des Nutzers aus.

Erstellen Sie in Ihrem GTM-Container einen Trigger für ein dataLayer-Ereignis mit dem Namen „dastra:consent:google-optimize"

Das Google Optimize-Tag wird dann nur bei diesem Ereignis ausgelöst. So sieht es in der GTM-Oberfläche aus:

![](https://1094947073-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgG4SiA7dB1sjSI91cItk%2Fuploads%2Fgit-blob-f19b3920625cdb6219212e3794914da9b3f6d6d4%2Fimage-169.png?alt=media)

## Spezialfall der „Blocking Triggers"

In bestimmten Fällen müssen Sie bestimmte Tags deaktivieren, wenn die Einwilligung nicht erteilt wurde. Da das Ereignis „dastra:consent:\<Dienstname>" nur beim Laden einer Seite ausgeführt wird, kann dies in bestimmten Fällen unzureichend sein, wenn Sie andere Interaktions-Trigger auf der Seite verwenden, wie Klicks auf Seitenelemente, Scroll-Höhen usw.

In diesem Fall müssen bestimmte Konfigurationen vorgenommen werden, um **den Einwilligungswert direkt aus dem Einwilligungs-Cookie zu lesen**.

### 1. Eine Variable „DastraConsents" erstellen

#### Die Variable definieren

**Melden Sie sich** bei Ihrem Google Tag Manager-Konto an und gehen Sie zu „Variablen", dann erstellen Sie eine neue „Benutzerdefinierte Variable".

#### „1st party cookies" auswählen

Benennen Sie Ihr Tag z. B. „DastraConsents". Geben Sie im Feld Cookie-Name (Cookie name) den Namen des Einwilligungs-Cookies ein (Standard: **consent-eu**).\
Denken Sie daran, **die Option „URI-decode cookie" zu aktivieren**

<figure><img src="https://1094947073-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgG4SiA7dB1sjSI91cItk%2Fuploads%2Fgit-blob-2bb0b760fa905b0aaa4e3fc2cdb7ee9b0d761157%2Fimage-7-1-1.png?alt=media" alt=""><figcaption></figcaption></figure>

#### Konfigurieren Sie anschließend Ihren Trigger folgendermaßen:

In diesem Fall wird unser Tag ausgelöst, wenn die Scroll-Tiefe auf der Seite > 20% beträgt. Wir möchten, dass dieses Tag nur ausgelöst wird, wenn der Google Analytics-Dienst vom Nutzer autorisiert wurde. So konfigurieren Sie den Tag-Trigger.

<figure><img src="https://1094947073-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgG4SiA7dB1sjSI91cItk%2Fuploads%2Fgit-blob-1e32e545961473f9e18a6f30c8b53eff563984f8%2Fimage-4-1-2.png?alt=media" alt=""><figcaption></figcaption></figure>

Im Bereich „Some Pages", wenn Sie das Tag nur aktivieren möchten, wenn die Nutzung eines Dienstes genehmigt wurde, geben Sie die Formel ein: **DastraConsents contains "{serviceName}":true** (Beispiel: "crisp":true) ohne Leerzeichen

Wenn Sie das Tag im Falle einer Ablehnung auslösen möchten, verwenden Sie die Formel:

**DastraConsents contains "{serviceName}":false** (Beispiel: "google-analytics":false)

#### Fall mehrerer Trigger desselben Typs mit einer Ausnahme

Wenn Sie viele verschiedene Trigger für ein und dasselbe Tag haben, ist es auch durchaus möglich, eine Ausnahme auf diese Weise zu erstellen.\
Beispiel eines Tags mit mehreren Triggern:

<figure><img src="https://1094947073-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgG4SiA7dB1sjSI91cItk%2Fuploads%2Fgit-blob-25d8e59350f992317d5717be73e5b190a43f2462%2Fimage-2-1-1-1-1-1-1-1.png?alt=media" alt=""><figcaption></figcaption></figure>

In diesem Fall möchten wir eine Ausnahme hinzufügen: Wenn das Google Ads-Tag (google-ads) nicht akzeptiert wurde, soll das Tag nicht ausgelöst werden.

Klicken Sie auf **„Ausnahme hinzufügen"** (Add Exception)

{% hint style="info" %}
Achtung: Ausnahmen funktionieren nur dann korrekt, wenn sie vom gleichen Typ sind. Wenn Ihre Trigger vom Typ „Page view" sind, muss die Ausnahme ebenfalls vom Typ Page view sein
{% endhint %}

Erstellen Sie einen Trigger desselben Typs mit dem Namen z. B. „Seitenaufrufe mit explizit abgelehntem Google Ads-Dienst".

{% hint style="info" %}
Wenn Sie auch das Tag standardmäßig nicht aktivieren möchten, einschließlich wenn der Nutzer nicht auf das Einwilligungs-Modal geklickt hat (und daher kein Cookie mit den Präferenzen gespeichert ist). In diesem Fall können Sie einen Trigger mit einer Negation verwenden:

**DastraConsents Does not contain "google-ads":true**
{% endhint %}

<figure><img src="https://1094947073-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgG4SiA7dB1sjSI91cItk%2Fuploads%2Fgit-blob-0267fed2ce21346fd66690e9546f6b08ae948691%2Fimage-3-1-1-1-1-1.png?alt=media" alt=""><figcaption></figcaption></figure>

Klicken Sie auf „Speichern". Sie sollten Folgendes sehen:

<figure><img src="https://1094947073-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgG4SiA7dB1sjSI91cItk%2Fuploads%2Fgit-blob-ae886eb80090260ce0df4306be8d699a933a8ca3%2Fimage-5-1-1.png?alt=media" alt=""><figcaption></figcaption></figure>

Speichern Sie Ihre Änderungen und Sie sollten feststellen, dass Ihre Tags auf den betreffenden Seiten korrekt deaktiviert sind, wenn die Einwilligung nicht erteilt wurde.

### Spezialfall: Seitenaktualisierung bei Änderung der Einwilligungskonfiguration

#### Ablehnung von Cookies nach Akzeptierung:

In bestimmten Fällen werden einige Tags nach der Ablehnung von Cookies nicht korrekt bereinigt. Dies geschieht insbesondere, wenn ein Nutzer sich entscheidet, die Cookies zu akzeptieren, dann erneut auf das Widget klickt und seine Einwilligung zurücknimmt. In den meisten Fällen stellt dies kein Problem dar, da die Marker ohnehin nicht mehrmals auf der Seite ausgeführt werden und es daher nicht mehr notwendig ist, die in die Seite eingefügten Script-Tags zu entfernen.

In bestimmten Situationen ist es möglich, dass die Tags weiterhin aktiv sind.

Um diese Art von Problemen zu verhindern, ist es möglich, eine Seitenaktualisierung zu erzwingen, die alle Marker oder JavaScript-SDKs, die von den Diensten geladen werden, vollständig zurücksetzt.

Fügen Sie einfach den folgenden Code ein (wenn möglich unterhalb des Initialisierungs-Tags des Dastra-Widgets)

```html
<script>
// If any service is refused explicitely in the modal
window.addEventListener('dastra:consents:any_refused', function(){
    // Refresh the current page
    location.reload();
})
</script>
```

#### Aktualisierung der Einwilligung:

Um die Seite neu zu laden, wenn eine Einwilligung auf irgendeine Weise geändert wird, verwenden Sie die Funktion *updated* mit dem folgenden Code:

```markup
<script>
window.addEventListener('dastra:consents:updated', function(){
    // Refresh the current page
    location.reload();
})
</script>
```

#### Vollständige Akzeptierung der Tracker:

Um die Seite beim vollständigen Akzeptieren der Tracker neu zu laden (Schaltfläche „Alle akzeptieren"):

```markup
<script>
window.addEventListener('dastra:consents:all_accepted', function(){
    // Refresh the current page
    location.reload();
})
</script>
```

#### Akzeptierung eines bestimmten Dienstes:

Um die Seite bei der Akzeptierung eines bestimmten Dienstes neu zu laden:

```markup
<script>
window.addEventListener('dastra:consent:<slug du service>', function(){
    // Refresh the current page
    location.reload();
})
</script>
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://doc.dastra.eu/de/features/gerer-le-consentement-aux-cookies/integration-technique/blocage-des-cookies/google-tag-manager.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
