Consent Scanner Test Rig
A public test page by ConsentStack for evaluating cookie and consent scanners.
This page has known, deliberate consent behavior. It exists so that anyone can point a cookie scanner at it and compare what the scanner reports against what this page actually does. The table below is the complete ground truth. Nothing else on this page loads trackers.
This site does not run ConsentStack or any other consent management platform. The cookie banner below is a few lines of plain JavaScript written specifically for this test, and its deliberate misbehavior is documented in the table. A real CMP exists to prevent exactly these violations, so running one here would defeat the test and bias it toward whoever built the rig.
| Item | Actual behavior | What a correct scan reports |
|---|---|---|
Google Analytics 4 G-RIGTEST01 |
Loads and fires on every page load, before any consent choice. | A pre-consent tracker fire. |
| TikTok pixel | Fires only after the visitor clicks Reject, and on every later load while the stored choice is rejected. | A tracker firing after consent was rejected. |
| Meta pixel | Loads only after the visitor clicks Accept. Correct gating. | A consent-gated tracker. A scanner that never accepts consent will wrongly report it absent. |
| LinkedIn Insight | Loads only after the visitor scrolls, regardless of consent. | An engagement-gated tracker fire. A scanner that never interacts with the page will miss it. |
| dayjs (cdn.jsdelivr.net) | A functional date library. Third-party host, performs no tracking, sets no cookies. | Not a tracker. Flagging it is a false positive. |
rig_session cookie |
First-party session cookie set on load. | Strictly necessary class. Requiring consent for it is over-strict. |
rig_consent cookie |
Stores the visitor's consent choice. | Strictly necessary class. |
All tracker IDs are dummies. The scripts are the vendors' real scripts and make their real network requests, but the IDs belong to no account and collect nothing.
To reset the rig's stored consent and see the banner again, clear cookies for this site or open a private window.
The paragraphs below exist only to make the page tall enough to scroll, because one of the test cases is a tracker that loads on scroll.
Cookie scanners differ widely in what they measure. Some request a page once and list the cookies present. Some run a real browser. Very few interact with the consent banner they find, and fewer still compare what happens after a rejection with what happened before it. This rig makes those differences visible.
A scanner cannot tell you whether a site honors a refusal unless it refuses and keeps watching. It cannot tell you whether a site over-blocks unless it accepts and checks what still failed to load. And it cannot see engagement-gated trackers unless it behaves like a person instead of a request.
Today's date, printed by the functional third-party library that correct scanners should not flag: .