Ask every visitor first.
Keep every answer.
Stacklumen Consent puts a cookie-consent dialog on any site with one tag. It holds your trackers until each visitor agrees, and records every decision in your workspace: when, what they allowed, and under which policy.
Coming to the Marketplace: $10 a month per site, on any plan. Pricing.
Your data, your call.
We ask before using anything beyond what the site needs to work. Essential cookies stay on. Privacy Policy
AcceptEssential onlyChooseWhat visitors see. A question, not a wall.
-
A first-visit prompt
In the corner, never across the page: “Your data, your call.”, your notice, your privacy policy, and Accept, Essential only or Choose.
-
Preferences
Essential stays on. Analytics, Functional and Marketing each have a switch and a line, in your words, saying what they cover.
-
A way back
Once they answer, a small Preferences control stays in the corner, so a visitor can change their mind on any page.
Your data, your call.
We ask before using anything beyond what the site needs to work. Choose what you’re comfortable with; essential cookies (sign-in, security) can’t be switched off because the site doesn’t work without them.
Details in the Privacy Policy. Change your mind any time via Preferences, bottom-left.
What you see. Every decision, in your workspace.
Every site that asks, in one list in the Hub. Each site has its opt-in rates, its decisions day by day, and every record, ready to search, export or erase.
Consent on your sites.
Every site in this workspace that asks visitors about cookies, and what they chose.
Consent Example Shop.
What this site’s visitors allowed, when, and under which policy, with its dialog, keys and webhooks.
Consent Example Shop.
What this site’s visitors allowed, when, and under which policy, with its dialog, keys and webhooks.
- Decisions1,284
- Visitors1,137
- Analytics allowed64.2%
- Functional allowed71.5%
- Marketing allowed38.9%
How it works. Three steps, one tag.
From the Hub to a site that asks, in a few minutes. The tutorial walks through every screen.
-
Add a site
A guided setup in the Hub: name the site and list the addresses it is served from, then turn it on. Decisions are accepted from those addresses only.
-
Paste one tag
The setup gives you the tag for HTML, React / Next.js, Astro or a site builder’s head code, checks your page for it, and lets you set the dialog’s words and look beside a live preview.
-
Decisions recorded
Every answer lands in your workspace as it is made: when, what was allowed, under which policy version, on which page.
<script src="https://www.stacklumen.com/consent/v1/consent.js" data-key="slc_pub_example_key_000000000000" async></script>
The key in the tag is public by design: decisions are accepted only from your site’s addresses. The tutorial, step by step.
Built in Terminal? It’s a switch.
-
On in Settings
Switch on Stacklumen Consent in the site’s Settings. The dialog is added to every page as it is served, on the site’s address and its custom domain.
-
Trackers held for you
The Google tag, Tag Manager and Plausible wait for Analytics, and the Meta Pixel for Marketing, whether they come from the site’s settings or its head code.
-
Nothing to paste
Nothing is written into your pages, so turning it off takes the dialog off every page at once. A Code site gets the one-line tag for its own layout.
Settings Example Journal.
What applies to the whole site. Per-page settings live in Pages & SEO.
For developers. Hold a tag, read a record.
Plain HTML attributes on the page, and a small API on the server, documented in full.
Held tags
Any script or iframe marked with a category runs only once the visitor allows it, including ones a single-page app adds later.
In the browser
StacklumenConsent.open(), get() and on(fn), window.slConsent and an sl-consent event on every decision.
The records API
With a secret key: the records, a CSV of them, a summary, and erasing a visitor. Read-only MCP tools let an agent read them too.
Webhooks
Each decision POSTed to your server as it is recorded, signed with the same Stacklumen-Signature header as every Stacklumen webhook.
Held until Analytics is allowed
<script type="text/plain" data-sl-consent="analytics"
src="https://analytics.example.com/a.js" async></script> The last 30 days, from your server
curl -H "Authorization: Bearer $SLC_SECRET" \ https://www.stacklumen.com/app/api/consent/v1/summary
What is kept. And what never is.
A consent record should prove what a visitor chose, and nothing more.
No IP address
Never stored, anywhere. A page is kept as its path, without the query string where sites put tokens and email addresses.
An anonymous visitor
Each visitor is a random id their browser keeps. A record says what they chose, not who they are.
Erase on request
Find a visitor by their id and erase every decision they made on the site, from the Hub or the API.
Export any time
Every record as CSV, from the Records tab or the API, with every column the record holds.
Records never edited
A changed mind is a new record. Each one keeps the policy version it was made under.
Kept while the site is
Records stay while the site is in your workspace. A deleted site’s records are removed after 30 days.
Every field a record holds, and how retention works.
$10 a month. Per site, on any plan.
$100 a year if you pay yearly. Stacklumen Consent is coming to the Marketplace; it is not on sale yet.
- Price
- $10 a month, or $100 a year, for each site that records consent
- Plans
- An add-on on any plan, for a Terminal site or any other site
- Included
- The dialog, held tags, the records, CSV export, erasure, the API, webhooks
- Available
- Coming to the Marketplace. Not on sale yet
Every plan and add-on. Prices exclude tax.
Questions, answered.
Does my site have to be built with Stacklumen?
No. Any site can load the tag: add the site in the Hub with the addresses it is served from and paste its tag into your pages. A site built in Terminal needs no tag at all; it is switched on in the site’s Settings.
Is a visitor’s IP address stored?
No. Each record holds the time, an anonymous visitor id, the three choices, the policy version, the page’s path, where the decision was made, the site address it came from and the browser’s user agent. No IP address is written anywhere.
What happens when our privacy policy changes?
Change the site’s policy version under Customize. Every visitor is asked again on their next visit, and each record keeps the version it was made under, so you can show what someone agreed to and when.
How do we answer a request to erase someone’s data?
Find the visitor by their id under Records and erase them, or send DELETE to the API with a secret key. Every decision that visitor made on the site is deleted.
Can our own systems read the records?
Yes. A secret key reads the records, a CSV of them and a summary, and erases a visitor; a webhook sends each decision to your server as it is made. An agent connected over MCP can read the summary and the records, and nothing else.
What does it cost?
$10 a month or $100 a year for each site, on any plan. It is not on sale yet: it is coming to the Marketplace.
Want it on your site first?
Stacklumen Consent is coming to the Marketplace. Tell us about your sites, or read how it works.