CookiesRegTech cookie consent: guided connect, consent banner with automatic tracker blocking, Google Consent Mode, cookie scanner, and consent log.
released October 6, 2026
npm install strapi-plugin-cookiesregtechCookie consent banner with automatic tracker blocking, Google Consent Mode, a cookie scanner, and a verifiable consent log — powered by CookiesRegTech.
Helps with GDPR, UK GDPR, CCPA/CPRA, LGPD, POPIA, and PIPEDA compliance. Supports Strapi v5 (Node 18+).
Strapi is headless: it does not render the public website, so this plugin cannot inject the consent banner script by itself the way the WordPress or October CMS plugins do. Instead it gives you everything needed to add it to your frontend in one step:
GET /api/cookiesregtech/config — so your
frontend can read the script URL at build or run time instead of
hardcoding it.Inside your Strapi project:
npm install strapi-plugin-cookiesregtechEnable the plugin in config/plugins.js:
module.exports = () => ({
cookiesregtech: { enabled: true },
});or config/plugins.ts:
export default () => ({
cookiesregtech: { enabled: true },
});Rebuild the admin panel and start Strapi:
npm run build
npm run developThe package ships prebuilt (dist/ contains both the server and admin
parts), so no extra build step is needed for the plugin itself.
https://www.example.com). A headless CMS cannot detect this on its own,
so it must be the site your visitors actually see — not the Strapi URL.If the email already has a CookiesRegTech account, a confirmation link is sent to it instead — click it, then press Check status in the plugin screen.
After connecting, the plugin screen shows your snippet. Place it
right after the opening <head> tag, before Google Tag Manager or any
analytics script, so it can block trackers and signal Google Consent Mode
before anything else runs. Do not add async or defer to it.
Copy the line shown in the admin into your site's HTML head:
<head>
<!-- CookiesRegTech: must be the first script -->
<script src="PASTE_SCRIPT_URL_FROM_STRAPI_ADMIN"></script>
<!-- Google Tag Manager, analytics, etc. go below -->
</head>The endpoint returns:
{
"enabled": true,
"domainId": "…",
"server": "…",
"scriptUrl": "…"
}First allow public access to it: Settings → Users & Permissions plugin →
Roles → Public → Cookiesregtech → config, then save. Without this the
endpoint returns 403 Forbidden.
Next.js (App Router) — app/layout.tsx:
async function getConsentConfig() {
try {
const res = await fetch(`${process.env.STRAPI_URL}/api/cookiesregtech/config`, {
next: { revalidate: 3600 },
});
return res.ok ? res.json() : null;
} catch {
return null;
}
}
export default async function RootLayout({ children }: { children: React.ReactNode }) {
const consent = await getConsentConfig();
return (
<html lang="en">
<head>
{consent?.enabled && consent.scriptUrl && <script src={consent.scriptUrl} />}
{/* analytics scripts after this line */}
</head>
<body>{children}</body>
</html>
);
}Astro — in your base layout:
---
const res = await fetch(`${import.meta.env.STRAPI_URL}/api/cookiesregtech/config`).catch(() => null);
const consent = res?.ok ? await res.json() : null;
---
<html lang="en">
<head>
{consent?.enabled && consent.scriptUrl && <script is:inline src={consent.scriptUrl}></script>}
</head>
<body><slot /></body>
</html>The same pattern works for Nuxt (useHead in app.vue), SvelteKit,
Gatsby, or any static site generator: fetch the config once, and render the
scriptUrl as the first script in the head when enabled is true.
The plugin screen shows the account, plan, banner status, and the cookies found by the last scan, plus Open dashboard / Upgrade plan, which open the CookiesRegTech dashboard already signed in. Banner design, cookie scans, languages, and the consent log are managed there and publish to your site instantly — no frontend redeploy needed, since the snippet stays the same.
The free plan includes a working banner, consent logging, and cookie scans; paid plans add scheduled full-site scans, geo-targeted banners, custom CSS, and higher limits. Upgrades happen in the CookiesRegTech dashboard, never inside this plugin.
403 from /api/cookiesregtech/config — public access to the route
has not been enabled (see Option B).config/plugins.js and that you ran npm run build after installing.Built with the official @strapi/sdk-plugin toolchain:
npm install # once, inside this folder
npm run build # bundles server + admin into dist/
npm run watch # rebuilds on change while linked into a Strapi app
npm run verify # checks that the package exports resolveTo iterate inside a Strapi app, link this folder
(npm install /path/to/this/folder), or use npx yalc or a file:
dependency, then run npm run develop in the app.
Share your work with the community and get it listed in the Strapi ecosystem for everyone to discover and use.
Submit
