Troubleshooting
The banner is not displayed
Check in this order:
- Is the
<script>tag in the<head>with a non-emptydata-site? - Does the
/api/consent/{siteId}request return200? (DevTools Network tab, filter palladium.) - Do you already have a
plm_consentcookie locally? The banner re-triggers only if the cookie is absent. Click the floating button at the bottom left, or runPalladium.withdraw()in the console.
Error origin_mismatch
The hostname registered for this siteId doesn't match the page's. Go to /domains/{id}, verify that the Hostname covers your URL (subdomains of example.com are automatically accepted).
My third party scripts still run
The Blocker only neutralizes scripts inserted after the load of palladium.js. Three common failure cases:
- The third-party script is inline and above the Palladium tag.
- The third-party script already created a cookie via an
<img>or<iframe>— Palladium can only intercept JS, not HTML requests. - The script uses
document.writebefore the DOM is ready.
Solution: explicitly tag each script with data-palladium-category and place it after the Palladium tag.
Colors do not apply
The theme is served by /api/consent/{siteId} and applied via the CSS variables --plm-clay, --plm-indigo, --plm-moss. If your site's CSS applies !important on these variables or on #plm-modal, you'll see it. Inspect the #plm-modal element to identify the winning rule.
No geolocation statistics
In production, Palladium expects the X-Forwarded-For or CF-Connecting-IP header to identify the visitor's IP. If your proxy doesn't forward them, all requests appear to come from your LB and geolocation stays empty.