# Late \`default\` signal

Google Consent Mode is enabled, but the `default` consent signal is sent **too late**, meaning **after some Google tags have already fired**. In such cases, those tags may load **before the consent state is known**, reducing the effectiveness of Consent Mode.

#### Possible causes

1. **Google Tag Gateway (GTG) was enabled via the Google Ads account** — This is the **most frequent cause** of late consent signals. When GTG is enabled through a Google Ads account (rather than Google Tag Manager), Google tags can load at the infrastructure level before the CMP has a chance to set consent defaults. To fix this, disable GTG in your Google Ads account and re-enable it via Google Tag Manager using the ABConsent CMP template. See the [Google Tag Gateway documentation](/en/consent-transmission-standards/google-consent-mode/google-tag-gateway.md) for details.
2. A Google script is loaded before the CMP
3. The `gtag` script is loaded **asynchronously or deferred**, or delayed by an optimization system:
   * presence of `async` or `defer` attributes on the main `<script>` tag;
   * interference from caching/CDN systems like **Rocket Loader** (Cloudflare);
   * dynamic or conditional loading of the `gtag` script.
4. If Consent Mode is initialized via **Google Tag Manager**:
   * the **trigger** used is not the expected `"Consent Initialization"` (`gtm.init_consent`);
   * **another tag** also uses that trigger, which can create a conflict and delay Consent Mode.
5. If you use gtag without a GTM:
   1. You must condition the gtag script with "data-cmp-src":

#### What to check ?

* If NOT using Google Tag Manager: ensure the CMP script is loaded before any other script, placed in fiorst position in the `<head>` section of your page.
* If NOT using Google Tag Manager: ensure the `gtag` script is loaded **synchronously**, **before any other Google tags**, without `async` or `defer`.

<figure><img src="/files/yzD4gQSB4bTwcDD2Cv5p" alt=""><figcaption></figcaption></figure>

* If using Google Tag Manager:
  * make sure that **only your CMP tag** uses the `"Consent Initialization"` trigger;
  * do **not reuse** this trigger in other tags.

<figure><img src="/files/Vnzn9A05KwTQfG9w7Gp1" alt=""><figcaption></figcaption></figure>

* If you are using a gtag without a Google Tag Manager:
  * You must condition the gtag script with "data-cmp-src":

<figure><img src="/files/T9OaQrUWRpYVVDt4Xitg" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://cmp.docs.sirdata.net/en/consent-transmission-standards/google-consent-mode/fix-implementation-errors/late-default-signal.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
