iubenda

Install app
View website
View lesson
A record settings
CNAME record settings
iubenda

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:

  1. In the iubenda dashboard, select your site, open Privacy and Cookie Policy, and activate the cookie policy.
  2. Under Privacy Controls and Cookie Solution, click Generate now, configure the banner, then save and copy the snippet.
  3. In Webflow, go to Site settings > Custom code and paste the snippet into Head code as the first item in the field.
  4. 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: false together with countryDetection: true.
  • Google Consent Mode: Switches itself on when the page already exposes a dataLayer variable or a gtag function, 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:

  1. In the iubenda dashboard, select your site and open Privacy and Cookie Policy > Embed.
  2. Pick a tab: add a widget to the footer, use a direct link, or embed the text in the body.
  3. 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.
  4. 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:

  1. Give your form and its submit button ID attributes, and name the consent checkbox field explicitly.
  2. Copy the Consent Database scripts from the embedding options in your iubenda dashboard.
  3. Paste the initialization script into Head code under Site settings > Custom code.
  4. 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_submission and site_publish, per the webhooks guide.
  • iubenda outbound webhooks: Push consent changes back to your systems with subject, consent_preferences, and changes payloads, 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:

  1. Create a form_submission webhook for the site with the forms:read scope.
  2. In the handler, verify the x-webflow-signature header, an SHA-256 HMAC, and reject any request whose x-webflow-timestamp is more than five minutes old.
  3. Pull the submitted fields, such as email, from the payload's data object.
  4. Build a payload with subject, legal_notices, proofs, and preferences, then send it to POST https://consent.iubenda.com/consent with an ApiKey header 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:

  1. Register the iubenda snippet as a hosted script with POST https://api.webflow.com/v2/sites/{site_id}/registered_scripts/hosted using the custom_code:write scope, per the register hosted script reference.
  2. Apply it site-wide with PUT https://api.webflow.com/v2/sites/{site_id}/custom_code, or to a single page with PUT https://api.webflow.com/v2/pages/{page_id}/custom_code.
  3. 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 PREVIEW comment.

  • 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.

iubenda
iubenda
Joined in

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.

Install app

This integration page is provided for informational and convenience purposes only.


Other Legal compliance solutions integrations

Other Legal compliance solutions integrations

EasyCookie

EasyCookie

Connect EasyCookie with Webflow to add GDPR-compliant cookie consent and Google Consent Mode v2 to your site.

Legal compliance solutions
Learn more
Cookiebot

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.

Legal compliance solutions
Learn more
CookieScript

CookieScript

Connect Cookie-Script with Webflow to display consent banners, block cookies until consent is given, and maintain GDPR and CCPA compliance records.

Legal compliance solutions
Learn more
Osano Cookie Consent

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.

Legal compliance solutions
Learn more
Securiti Cookie Consent

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.

Legal compliance solutions
Learn more

Related integrations

No items found.

Get started for free

Try Webflow for as long as you like with our free Starter plan. Purchase a paid Site plan to publish, host, and unlock additional features.

Get started — it’s free