Work symptom → verify → fix. Keep GTM Preview and DevTools open; one change at a time.
- View page source (not only Elements):
uc.js appears once, near the top of <head>.
- GTM Preview (if you use GTM): CMP tag fires on Consent Initialization before dependent tags.
- Application tab: after choosing consent, storage/cookies look plausible for your
rootDomain.
| Likely cause | How to verify | Fix |
|---|
Bad policy_link | Open the URL in a new tab; check HTTPS and status code | Use a live policy page; fix redirects / 404 |
| Snippet too low or only in body | View page source; search for uc.js | Move the block to the start of <head> |
| SPA / framework mounts late | Compare server HTML vs rendered DOM | Load the CMP from the root layout or shell that wraps every route |
Duplicate or conflicting window.INTA | Search the repo / HTML for window.INTA | Keep one definition before uc.js |
| Likely cause | How to verify | Fix |
|---|
| Tag has no post-consent trigger | GTM Preview: accept in banner; tag never appears in timeline after | Add a Custom Event trigger on cookie_consent_update (Events and API), and/or consent-aware tag settings |
| Tag blocked by GTM “consent” settings | Tag configuration → Consent settings; Preview shows tag “blocked” | Align tag consent with your legal default or fire only when purpose is granted |
gtagId missing for GA4 + CMP-driven Google path | Compare with Quickstart | Set settings.gtagId or wire GA without it using a documented alternative |
| Consent Mode defaults too strict | GA DebugView / Tag Assistant: no hits after accept | Adjust defaults on purpose and document; see Google Consent Mode |
| Ad blockers / browser privacy | Same page in clean profile or disable extensions | Distinguish product issue from client blocking |
| Likely cause | How to verify | Fix |
|---|
| GA/Ads on “All Pages” before CMP | GTM Preview timeline | Fire CMP on Consent Initialization; gate dependent tags |
Hard-coded gtag.js in HTML | Search for googletagmanager.com/gtag | Remove duplicate loaders or place after CMP |
Third-party embed in <head> | Network tab | Defer until the matching purpose is allowed |
| Likely cause | How to verify | Fix |
|---|
| CMP not on Consent Init | Tag trigger type in GTM | Use Consent Initialization – All pages (or equivalent) |
| Race with Page View | Order of events in Preview | Ensure CMP fires before analytics tags |
| Wrong container | Container ID on site | Point the site at the intended GTM container |
| Likely cause | How to verify | Fix |
|---|
Wrong rootDomain | Compare settings.rootDomain with hostname | Align with your cookie domain model |
Two copies of uc.js | Search for uc.js in source | Single canonical install |
| Likely cause | How to verify | Fix |
|---|
| Tags cached before choice | Full reload after clearing site data | Retest in private window |
| Container not republished | GTM workspace vs live | Publish version with CMP + trigger changes |
| Wrong environment (staging container) | GTM ID in source vs expected | Point site at correct container |
Capture: browser, page URL (staging is fine), view-source snippet around uc.js, and if using GTM a Preview screenshot or export. Then use your support channel or FAQ resources on the docs home.
← Documentation home