A published Webflow site runs whatever tracking you put in it, from Google Analytics to ad pixels and marketing embeds, and it does that without asking the visitor first. GDPR and the ePrivacy Directive can require consent before non-essential trackers fire, while CCPA/CPRA generally requires opt-out controls for the sale or sharing of personal data and for some targeted advertising. Webflow's built-in tracking settings govern Analyze and Optimize, not the scripts you paste into your own head code. Covering the rest takes a consent management platform.
iubenda fills that role. Connecting it to a Webflow site adds a consent banner that can hold non-essential scripts back until a visitor opts in, privacy and cookie policies that rewrite themselves when the law or your list of third-party services changes, and a stored record of consent for every form submission. All of it installs as snippets in site settings, so nothing runs on your own infrastructure and no build step needs maintaining.
Freelancers use the integration to hand over client sites that already carry a banner and a policy. Agencies standardize it across a portfolio, in-house marketers keep analytics running under GDPR without a legal review for every change, and founders publish policies and consent logs before an auditor or a security questionnaire asks for them.
How to integrate iubenda with Webflow
What is iubenda? iubenda is a compliance platform that covers cookie consent, privacy and cookie policies, terms and conditions, and consent record keeping. It is a Google CMP Partner and a certified IAB Transparency and Consent Framework platform, aligned with TCF 2.3, and its banner supports Google Consent Mode.

Teams reach for this pairing as soon as a Webflow site starts collecting visitor data: a marketing site running analytics and an ad pixel, a lead-gen page with forms behind a consent checkbox, or a multi-language corporate site facing EU, UK, US, Brazilian, and Swiss rules at once. No iubenda app exists in the Webflow Marketplace, so every route below runs on code snippets, an automation tool, or an API.
That leaves three practical paths. Custom code embeds install the cookie banner, the legal policies, and the Consent Database scripts with nothing running on your own server. Zapier writes a consent record in iubenda each time a Webflow form is submitted, without any scripting. The Webflow and iubenda APIs give you control over what each consent record contains and let you push the banner across many sites, at the cost of server-side work. Most builds combine the first path with one of the other two.
Add the cookie banner and policies with custom code
Every iubenda component installs through Webflow's custom code fields, which need a paid Workspace plan or an active Site plan, per our head and body code documentation. iubenda asks for a paid Webflow Site plan (Basic or above) for its banner setup. On the free Starter plan the only supported option is a link out to an iubenda-hosted policy page.
Install the cookie banner site-wide
The banner script belongs in site-wide head code so it loads on every page ahead of any tracker. iubenda generates the snippet for you, so nothing needs to be written by hand.
To install the banner:
- In the iubenda dashboard, select your site, open Privacy and Cookie Policy, and activate the cookie policy.
- Under Privacy Controls and Cookie Solution, click Generate now, configure the banner, then save and copy the snippet.
- In Webflow, go to Site settings > Custom code and paste the snippet into Head code as the first item in the field.
- Click Save changes, then publish the site.
The snippet iubenda hands you carries four settings worth knowing before you paste it:
- Automatic prior blocking: Holds recognized third-party scripts back until a visitor consents, though iubenda labels the feature experimental and its accuracy varies by script.
- Consent storage: Keeps a visitor's choice for the number of days set by
expireAfter, which defaults to 365 and resets on each later visit. - Country detection: Asks only EU visitors for consent when you set
gdprAppliesGlobally: falsetogether withcountryDetection: true. - Google Consent Mode: Switches itself on when the page already exposes a
dataLayervariable or agtagfunction, per iubenda's advanced configuration guide.
Keep the snippet first in the field, because analytics scripts sitting above it can set cookies before the banner ever renders. Each custom code field takes up to 50,000 characters, which is generous for a banner snippet but worth watching if you already paste several tags. Most later changes in the dashboard reach the live banner through remote configuration, and iubenda tells you when a change means re-embedding.
Embed your privacy policy
A privacy policy reaches a Webflow page three ways, per iubenda's policy embedding guide, and the plan requirements differ. The footer widget works on iubenda's free tier but needs a paid Webflow Site plan. The direct link runs on Webflow's free Starter plan but needs a paid iubenda license. Embedding the policy text in the page needs a paid plan on both sides.
To embed the policy:
- In the iubenda dashboard, select your site and open Privacy and Cookie Policy > Embed.
- Pick a tab: add a widget to the footer, use a direct link, or embed the text in the body.
- For the widget or the text version, paste the code into a Code Embed element where the policy should sit. For the direct link, add the URL as an ordinary footer link.
- Publish the site.
The same three routes cover terms and conditions, and iubenda's guide for Webflow terms walks each one. The generator that produces those terms sits on iubenda's higher paid tiers, which also decide how many languages your policies can be published in.
Add Consent Database scripts to forms
The Consent Solution for Webflow stores proof that a form submission was consented to. Each record holds who consented, when and how the consent was collected, the form they saw, and the legal documents in force at that moment. It needs a paid Webflow Site plan, and form proof of consent is a paid iubenda add-on priced per thousand consents.
To connect it to your forms:
- Give your form and its submit button ID attributes, and name the consent checkbox field explicitly.
- Copy the Consent Database scripts from the embedding options in your iubenda dashboard.
- Paste the initialization script into Head code under Site settings > Custom code.
- Paste the submit function and the remaining scripts into Footer code, then publish and send a test submission to confirm the record lands in the Consent Database.
If you would rather not maintain those scripts, the Zapier route below logs the same consents.
Connect Webflow forms with Zapier
Zapier connects Webflow form submissions to the Consent Database without any code. The iubenda and Webflow listing exposes a New Form Submission trigger, and a prebuilt template, record consents for new submissions, covers the common case.
Four iubenda actions can run off that trigger:
- Create a new consent: Writes a fresh consent record in the Consent Database from the fields the visitor submitted.
- Update a subject: Amends the stored details of a person who has already consented, such as an email or a name change.
- Update preferences of a subject: Changes which purposes a known subject has agreed to, which is what a preference center form should call.
- Verify a subject: Marks a subject as verified once you have confirmed the address behind the consent.
This route suits teams that want form consent logged and audit-ready without owning any server code, and it can run alongside the banner installed above.
Build with the Webflow Data API and iubenda APIs
Custom consent flows and multi-site rollouts need the HTTP APIs on both sides, and that means server-side work. The Consent Database is the only iubenda product with a public read and write API; the cookie banner exposes a browser-side JavaScript API instead, with methods such as getPreferences(), isConsentGiven(), and openPreferences() for wiring your own preference controls.
Four interfaces do the work in a typical build:
- iubenda Consent Database HTTP API: Creates and reads consent records, subjects, and legal notices, documented in the consent API reference.
- Webflow Data API: Reads form submissions, manages registered scripts, and handles Webflow CMS collections when policy pages live in the CMS.
- Webflow webhooks: Fire on events such as
form_submissionandsite_publish, per the webhooks guide. - iubenda outbound webhooks: Push consent changes back to your systems with
subject,consent_preferences, andchangespayloads, described in iubenda's third-party webhook docs.
Two patterns account for most of what Webflow teams build with them.
Record consent proofs from form submissions
A form_submission webhook fires whenever a visitor submits a Webflow form, your handler receives the payload, and it writes a consent record to iubenda. You decide exactly what goes into each record, which the fixed Zapier actions cannot do.
To implement it:
- Create a
form_submissionwebhook for the site with theforms:readscope. - In the handler, verify the
x-webflow-signatureheader, an SHA-256 HMAC, and reject any request whosex-webflow-timestampis more than five minutes old. - Pull the submitted fields, such as
email, from the payload'sdataobject. - Build a payload with
subject,legal_notices,proofs, andpreferences, then send it toPOST https://consent.iubenda.com/consentwith anApiKeyheader carrying your private key.
Leave subject.id out and iubenda fills one in for you. The endpoint accepts HTTPS requests with UTF-8 encoded JSON only, and returns a 400 for anything else, so set your encoding explicitly rather than relying on a client default.
Deploy the banner across many sites
Agencies running dozens of client sites can script the banner rollout instead of pasting the same snippet by hand. A script has to be registered to a site before it can be applied to that site or to one of its pages.
To roll it out:
- Register the iubenda snippet as a hosted script with
POST https://api.webflow.com/v2/sites/{site_id}/registered_scripts/hostedusing thecustom_code:writescope, per the register hosted script reference. - Apply it site-wide with
PUT https://api.webflow.com/v2/sites/{site_id}/custom_code, or to a single page withPUT https://api.webflow.com/v2/pages/{page_id}/custom_code. - Publish each site so the banner goes live.
If you work through an AI client rather than your own script, our MCP server exposes the same custom code surface: it registers and applies site-level and page-level scripts, and it can publish the site afterwards, so an agent can carry out the rollout you just described in a prompt. Pair either approach with iubenda's agency program for white-labeled policies across a client portfolio.
What you can build with the iubenda Webflow integration
Together the two cover the consent side of a Webflow site without you drafting legal documents or building consent storage yourself. Four builds come up repeatedly.
- Region-aware cookie consent: Show EU visitors a consent-first banner and US visitors an opt-out configuration, with recognized analytics and advertising tags held until the visitor chooses.
- Self-updating legal pages: Publish privacy, cookie, and terms pages that rewrite themselves when a law changes or you add a service, in as many languages as your iubenda tier allows.
- Audit-ready consent logs: Log every newsletter or contact submission in the Consent Database with the person, the timestamp, and the policy version in force, through Zapier or your own webhook handler.
- Portfolio-wide compliance rollouts: Push one banner configuration to dozens of client sites through registered scripts, managed from a single iubenda dashboard.
Read our guide to applying custom code by API for the mechanics behind that last one. If you would rather have an AI client register the snippet, review the banner placement, and publish, connect the Webflow MCP server first and drive the whole rollout from there.
Frequently asked questions
Paste it into Site settings > Custom code > Head code, as the first item in that field. Trackers placed above it can set cookies before the banner loads, so order matters. Site-wide head code appears before any page-level custom code in the published markup, and each code field accepts up to 50,000 characters.
Only the direct-link method does. The cookie banner, the footer policy widget, and the embedded policy text all run on custom code, and iubenda's Webflow guides ask for a paid Webflow Site plan (Basic or above) for those. Linking out to an iubenda-hosted policy page works on Starter, but it needs a paid iubenda license.
Publish the site. Webflow documents that the effects of custom code show up in preview and comment modes but do not go live until you publish, so an unpublished change explains most missing banners. Check that the snippet sits in the site-wide Head code field, that you clicked Save changes, and that the snippet is not wrapped in an
EXCLUDE FROM PREVIEWcomment.iubenda's automatic prior blocking only covers what it recognizes. The auto-blocking documentation calls the feature experimental and states that inline scripts, synchronous scripts, and content served from your own domain are not blocked unless you switch those options on, and that scripts its scanner never saw are not blocked at all. Routing third-party tags through Google Tag Manager and removing duplicate tracking IDs from site settings gives iubenda one place to gate. A drop in analytics traffic after setup usually means blocking is working and visitors have not consented yet.
Yes, if you pick an opt-in or opt-out default. Our tracking settings documentation states that Let visitors opt out and Don't track by default both require a consent management solution, or Analyze and Optimize will not work properly. Those settings and the
wf.getUserTrackingChoice()method in the browser consent API govern Webflow's own tracking only, never the third-party scripts in your head code.
Description
Adds a cookie consent banner, self-updating privacy and cookie policies, and stored proof of form consent to a Webflow site. Everything installs through site-wide custom code and Code Embed snippets, with Zapier and API routes for logging consent from Webflow forms.
This integration page is provided for informational and convenience purposes only.

EasyCookie
Connect EasyCookie with Webflow to add GDPR-compliant cookie consent and Google Consent Mode v2 to your site.
Cookiebot
Use Cookiebot with Webflow to collect visitor consent, control when cookies load, and support compliance with GDPR, CCPA, and similar privacy regulations on your published site.

CookieScript
Connect Cookie-Script with Webflow to display consent banners, block cookies until consent is given, and maintain GDPR and CCPA compliance records.
Osano Cookie Consent
Connect Osano Cookie Consent, a consent management platform, with Webflow to enforce cookie compliance, block non-essential scripts before consent, and display geo-targeted banners across 50+ countries.
Securiti Cookie Consent
Connect Securiti Cookie Consent, a consent management platform, with Webflow to display geo-targeted cookie banners, block tracking scripts before consent, and maintain GDPR, CCPA, and IAB TCF v2.0 compliance.


