Google's Consent Mode and Finsweet Cookie Consent

Hi!

I was wondering if it’s possible to combine these two?

In my understanding of what I’ve read is that in the future it will be required to implement Google’s own Consent Mode if collecting data for Google’s advertising services.

Reading from Google’s Updates to consent mode for traffic in European Economic Area (EEA) support article,

if you prevent your Google tags from loading until a user interacts with your consent banner, Google will not be able to verify user consent choices and this may lead to loss in data.

Isn’t this how the Finsweet Cookie Consent works currently?

Any additional info regarding this matter would be very helpful.

4 Likes

I was wondering the same thing. I followed the tutorial but it appears google recently announced consent v2. I am not sure if this is compatible or not. Please help! Thank you.

Just wanted to add me to the list wondering about this.
Would be awesome to get some information on this!

I’m wondering the same.

This has started popping up loads amongst clients recently. Would be nice to know Cookie Consent will be able to handle it, or to know what changes are necessary to make CC compliant with Google.

I would also like to know. Is there any answer to this?

Hey everyone @here!

We’ve added Consent Mode support to our Cookie Consent, this will ship alongside the upcoming v2 Attributes release.

Keep tuned for the release!

2 Likes

Amazing @Support-Luis! This requirements has come up for me too this week. Is there a timeframe for that release so I can update my client on a possible date they can expect implementation. Thanks!! Paul

Hello, @Support-Luis do you have a launch date on this? Google mentions early March as their deadline for consent v2.
Also, will it require any actions on our side?

Following this, hoping v2 is accommodated soon. :blush:

I’m also interested in this option. Following the thread.

Following this thread as well. Hope to know the release date and some details of the update asap.

Hopping on the follow train because right now Google is putting their consent on top of the Finsweet Consent which is a lot of consents for my taste.

Hi @Support-Luis !

Do you know when you’ll be releasing the update?
How can we find out about this release as quickly as possible?
Thanks to you and the team!

Regards

Also jumping the follow train. Curious if Finsweet Cookie Consent is tackling this also:

Beginning January 16, 2024, publishers and developers using Google AdSense, Ad Manager, or AdMob will be required to use a Consent Management Platform (CMP) that has been certified by Google and has integrated with the IAB’s Transparency and Consent Framework (TCF) when serving ads to users in the European Economic Area or the UK.

Nice, good to know. Waiting for the release then :slight_smile:

Hi there! We have Finsweet Cookie Consent setup on our Webflow page, and noticed now that we need to support GA consent mode in order to use their campaing tracking suite. It seems we either need to wait for the update or switch cookie consent. Is the update around the corner, or still a few weeks away? And where would we find out about it?

Hey everyone! Cookie Consent V2 is close to release!

I am afraid I do not have the specifics yet but every question will be answered upon release.

Thank you everyone for your support! We are excited to share this with you!

Hi there, also a user of the Finsweet cookie consent setup and eagerly awaiting the release of v2! Would love to get an idea of how soon it will be released since we would need to look for alternative solutions before the end of the month for our analytics needs…

For anyone in the waiting limbo, I found a way to combine the Google Consent Mode and Finsweet Cookie Consent in the meanwhile using Tag Manager. It’s probably not an ideal setup, but it seems to work so far.

In Webflow:

  1. I copied the tag code from the Code & Wander Cookie Consent here: link.
  2. Added the code to the Custom code <head> tag in the site settings before the Finsweet CC script
  3. Opened the Code & Wander Cookie Consent cloneable in Webflow
  4. Carefully copied all the element id’s from Code & Wander Cookie Consent to the Finsweet CC banner in their right places, e.g. the Code & Wander Cookie Consent banner has a Reject All button with a btn-reject-all id. I would go over to my site’s Finsweet CC banner, get the Reject All button and assign btn-reject-all id to it. I also added two additional id’s for the accept all (btn-pref-accept-all) and refuse all (btn-pref-reject-all) buttons in the Finsweet CC Preferences popup:
  • cookie-banner
  • cookie-icon
  • btn-accept-all
  • btn-accept-some
  • btn-reject-all
  • btn-pref-reject-all
  • btn-pref-accept-all
  • consent-necessary
  • consent-analytics
  • consent-preferences
  • consent-marketing
  • cookie-icon
  1. Copied the code in cookie_script changed it to be compatible with the Finsweet CC, i.e. removed all the banner functions from the code and made it to take account the two additional buttons/id’s I added. Keep in mind this is catered to my site, so you should change the code to work with the cookies you are actively using:
<!-- Cookie Consent Mode by Code & Wander -->
<script>
	// Check selection
  document.getElementById('cookie-icon').addEventListener('click', function() {
  	setConsentCheckboxes();
  })
  
  //Logic to populate the preferences
  function setConsentCheckboxes() {
  	uncheckAllConsentCheckboxes();
  	
    const consentModeString = localStorage.getItem('consentMode');

  	if (consentModeString) {
    	const consentMode = JSON.parse(consentModeString);
      
        const consentMapping = {
          'functionality_storage': 'consent-necessary',
          'ad_storage': 'consent-marketing',
          'analytics_storage': 'consent-analytics',
          'personalization_storage': 'consent-preferences',
        };

        Object.entries(consentMapping).forEach(([storageKey, checkboxId]) => {
          const checkbox = document.getElementById(checkboxId);

         if (checkbox) {
           checkbox.checked = consentMode[storageKey] === 'granted';
         }
    	});
  	}
	}
  
  //Logic to uncheck all checkboxes
  function uncheckAllConsentCheckboxes() {
  	['consent-analytics', 'consent-preferences', 'consent-marketing'].forEach(checkboxId => {
    	const checkbox = document.getElementById(checkboxId);
    	if (checkbox) {
      checkbox.checked = false;
      
        const checkboxDiv = checkbox.previousElementSibling;
        if (checkboxDiv && checkboxDiv.classList.contains('w--redirected-checked')) {
          checkboxDiv.classList.remove('w--redirected-checked');
        }
    	}	
  	});
	}

  // Logic to update the preferences
  document.getElementById('btn-accept-all').addEventListener('click', function() {
    setConsent({
      necessary: true,
      analytics: true,
      preferences: false,
      marketing: true
    });
  });

	document.getElementById('btn-pref-accept-all').addEventListener('click', function() {
    setConsent({
      necessary: true,
      analytics: true,
      preferences: false,
      marketing: true
    });
  });
  
  document.getElementById('btn-accept-some').addEventListener('click', function() {
    setConsent({
      necessary: true,
      analytics: document.getElementById('consent-analytics').checked,
      //preferences: document.getElementById('consent-preferences').checked,
      marketing: document.getElementById('consent-marketing').checked
    });
  });

  document.getElementById('btn-reject-all').addEventListener('click', function() {
    setConsent({
      necessary: true,
      analytics: false,
      preferences: false,
      marketing: false
    });
  });
  
  document.getElementById('btn-pref-reject-all').addEventListener('click', function() {
    setConsent({
      necessary: true,
      analytics: false,
      preferences: false,
      marketing: false
    });
  }); 
  
  // Map the preferences to Google Consent Mode 
  function setConsent(consent) {
    const consentMode = {
      'functionality_storage': consent.necessary ? 'granted' : 'denied',
      'security_storage': consent.necessary ? 'granted' : 'denied',
      'ad_storage': consent.marketing ? 'granted' : 'denied',
      'ad_user_data': consent.marketing ? 'granted' : 'denied',
      'ad_personalization': consent.marketing ? 'granted' : 'denied',
      'analytics_storage': consent.analytics ? 'granted' : 'denied',
      'personalization_storage': consent.preferences ? 'granted' : 'denied',
    };
    gtag('consent', 'update', consentMode);  
    localStorage.setItem('consentMode', JSON.stringify(consentMode));
  }
  
</script>

In Google Tag Manager:

  1. Go to Tags → Consent Overview

  2. On the Consent Not Configured, click your Tag

  3. Go to Consent Settings, click Require additional consent for tag to fire

  4. Add all the required consents

  5. With Preview, make sure the Google tags do not fire before consent and if it does, troubleshoot

2 Likes