Ads for Breakfast
← All posts

GTM template: Consent Mode v2 for Webflow with Finsweet

A free GTM container that wires Google Consent Mode v2 to Finsweet's cookie banner in Webflow — GDPR-compliant tracking that doesn't throw your conversion data away.

6 min read

Originally written in German — read it on visnakovs.de.

GTM Consent Mode v2 template for Webflow with Finsweet

Google Consent Mode v2 has been mandatory for advertisers in the EU since March 2024. In Webflow the cookie banner usually runs on Finsweet’s Cookie Consent solution. This GTM template connects the two — configured correctly and ready to run.

What’s in the template

  • 5 consent state tags — default state (denied) plus four categories (essential, analytics, marketing, personalization)
  • 5 custom event triggers — each fires when the user accepts that category
  • Consent Mode v2 integration — advanced mode with ad_storage, analytics_storage, ad_user_data, ad_personalization

Without consent mode, a single “reject” click costs you 100% of that user’s conversion data. In advanced mode Google sends cookieless pings instead — no personal data, but enough to model the conversion.

The result: 40–70% more conversion data in your Google Ads account, without breaking GDPR.

How the setup works

You need:

  • The Finsweet fs-cc attribute on your Webflow page
  • The right consent categories (essential, analytics, marketing, personalization)

2. Import the GTM template

  1. Import container → upload the JSON file
  2. Merge → rename on conflict
  3. Works straight away — nothing left to configure

3. What happens technically

On page load the default state is set: every consent category on denied. The moment the user accepts a category in the Finsweet banner, the matching custom event fires — analytics-activated, marketing-activated and so on — and that consent state flips to granted.

Google tags (GA4, Google Ads) pick up the changed consent state on their own.

Mistakes to avoid

  • No default state: without an initial denied state, consent mode does nothing at all
  • Skipping the essential category: consent linker and conversion linker need functionality_storage
  • Basic mode instead of advanced: basic mode throws away everything that happens before consent — advanced mode is what makes modelling possible

Download the template

The configurator that generates this container lives on my German site: the GTM configurator (in German) bundles all seven of my setups in one tool. The interface is German, the JSON it produces is language-neutral.

Grab the container file below and import it into your Google Tag Manager container under Admin → Import Container. No sign-up, no email wall — it’s a plain file.

No email, no form — just take it.

Downloadgtm-template-finsweet-consent-mode-v2.jsonGTM container, ~61 KB — import it straight into your container

If you want a second opinion on your Consent Mode v2 setup before you trust the numbers it produces — write to me.