Troubleshooting

The banner is not displayed

Check in this order:

  1. Is the <script> tag in the <head> with a non-empty data-site?
  2. Does the /api/consent/{siteId} request return 200? (DevTools Network tab, filter palladium.)
  3. Do you already have a plm_consent cookie locally? The banner re-triggers only if the cookie is absent. Click the floating button at the bottom left, or run Palladium.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.write before 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.