Before you start
You need a QookieQloud domain, its public Site Key and a GTM web container already installed on your website.
In the domain’s Settings → Connection settings, find the API v2 Site Key and copy the key beginning with qq_pk_. This is not your GTM container ID or a private API token.
Settings → Connection
Use one installation method for the banner. When GTM loads QookieQloud, remove the duplicate loader from your website or CMS integration. Do not also configure QookieQloud to load that same GTM container: the banner depends on the container already running.
Install the template
1. Find and add the template
Open a new tag
In your GTM workspace:
Find QookieQloud
Open the template gallery:
Search for QookieQloud, or open the QookieQloud GTM template directly in the gallery.
Add the template
Select this verified template by QookieQloud (qodli-ab):
Then confirm:
2. Configure the tag
| Setting | Starting value |
|---|---|
| QookieQloud Site Key | Your public Site Key · qq_pk_… |
| Enable Google Consent Mode v2 Default States | Enabled |
| Regional Default Consent Settings | Leave empty |
| Wait For Update (ms) | 500 ms |
| Custom CDN Loader URL (Optional) | Leave empty |
3. Choose the trigger and preview
Choose Consent Initialization - All Pages. The CMP tag itself must not wait for marketing or analytics consent.
Save and use Preview to verify the setup before publishing the container.
Settings reference
Open a setting for its full explanation. The starting values above cover a standard setup.
QookieQloud Site Key
Selects the API v2 loader for your domain. An empty field selects the legacy API v1 loader, which only works while API v1 access remains enabled for the domain. Update the tag if you rotate the Site Key.
Enable Google Consent Mode v2 Default States
Enabled by default. Sets the four signals below before the banner loads. Turning this off only disables defaults written by the template; it does not disable Consent Mode in the banner loader.
Regional Default Consent Settings
With no rows, all four signals default globally to denied. With rows, only those rows are submitted: add a row with an empty Region for a global fallback. Region examples are SE, DE and US-CA; multiple codes can be comma-separated. The current template does not expand EEA into countries. These defaults do not synchronize with Customize’s regional mode overrides.
Wait For Update (ms)
Default: 500 milliseconds. Gives supported Google tags time to receive an asynchronous consent update. It is not the time a visitor has to choose, and expiry does not grant consent.
Custom CDN Loader URL (Optional)
Leave empty for automatic loader selection. The template’s script permission only allows https://cf-cdn.qookieqloud.com/*; this field does not allow arbitrary external CDN hosts.
the current banner loader also writes global denied defaults with a 500 ms wait. Custom timing and regional granted defaults therefore need end-to-end verification; the template table alone does not describe the final state.
Consent signals
| Category | Google signals |
|---|---|
| Statistics | analytics_storage |
| Marketing | ad_storagead_user_dataad_personalization |
The current template defines these four signals. It does not define defaults for functionality_storage, personalization_storage or security_storage. The banner sends updated choices and emits consent_update when its consent payload changes.
Banner settings and tracking tags
Layout, colors, light/dark appearance, logo, text and language remain in QookieQloud. Save those changes there; they are not fields in the GTM template.
Strict
Controls loading of scripts managed by QookieQloud. It cannot stop the GTM container that already loaded the banner.
Flexible
Allows managed tag managers to load while consent signals communicate the visitor’s choices. Google tags with built-in consent support may send cookieless requests while consent is denied.
Auto
Selects Strict or Flexible by visitor country, including configured overrides. It does not create GTM regional default rows or configure consent checks on individual tags.
Consent requirements in GTM
- For a setup that blocks GTM itself until consent, load QookieQloud directly before GTM instead of placing the banner inside that container.
- For GTM-loaded banners, configure each tracking tag’s consent requirements in GTM.
- For tags without built-in consent handling, use additional consent checks and a suitable trigger, such as
consent_update; an event alone is not permission to track. - Check repeat firing to avoid duplicate page views or conversions.
Check before publishing
- Start with a fresh browser session. In Tag Assistant, check that the defaults appear before measurement tags use consent.
- Test reject all, accept all and Statistics without Marketing. Check the four signals against the category mapping above.
- Reopen settings, withdraw consent and reload. Verify both updated and returning-visitor behavior.
- Inspect which tags fire and their network requests. Repeat for any configured regions, then publish the tested container.
Troubleshooting
No banner?
Check the Site Key, domain, loader request and trigger.
Tags fire too early?
Inspect their consent checks and scripts installed outside GTM.
Late-consent warning?
Inspect the event order in Tag Assistant: the loader’s warning can also notice the GTM bootstrap event when the banner is installed through GTM. If you are using Google Tag Gateway (GTG) or seeing persistent warnings, see our Late Consent & GTG troubleshooting guide.