Google Tag Manager: correct setup order
One rule: KukiBot first, then Tag Manager.
denied for new visitors, the stored choice for returning ones) the moment its script runs. For your GTM tags to respect it, that has to happen before the GTM container loads.The snippet order
In the <head> of every page, put the KukiBot script first and the GTM snippet after it. For GTM sites, load KukiBot without async so the browser runs it before continuing — it's a small, cached file:
<head>
<!-- 1. KukiBot (no async, so it runs before GTM) -->
<script src="https://kukibot.com/cb.js" data-site-id="YOUR_SITE_ID"></script>
<!-- 2. Google Tag Manager -->
<script>(function(w,d,s,l,i){ /* your GTM snippet */ })(window,document,'script','dataLayer','GTM-XXXXXXX');</script>
</head>Your site ID is in your KukiBot dashboard.
Do I need a consent tag inside GTM?
No. KukiBot talks to Google directly through the page's dataLayer, so you don't need a separate consent tag or template in your container. Add KukiBot to the page itself as shown above rather than as a Custom HTML tag in GTM — that way it always runs before your tags.
Optional: review consent settings per tag
GTM can show which tags check consent. In GTM go to Admin → Container Settings, enable Enable consent overview, then open Tags and click the Consent Overview icon. Google tags (GA4, Google Ads) understand Consent Mode automatically; for other vendors' tags you can add Additional Consent Checks there.
Check it works
Follow Verify GA4 is receiving consent signals: the earliest Consent event should show all signals denied before you click the banner.