Create a custom cookie consent UI
that complies with GDPR law
Yes!
Yes!
Yes!
Yes!
NO!
* We can not support the removal of Webflow Ecommerce cookies. Webflow adds scripts inline in the HTML that use cookies and we can't replace those with the fs-cc type. All other scripts (Google Analytics, Facebook Pixel, etc) inside the Ecommerce project will work with the fs-cc integration. Only the Ecommerce cookies can not be blocked.
We use components
We build and use components that make up our cookie consent UI. They're 1000% Webflow Designer friendly.
For example, the banner someone sees when they first visit your site is a component. The popup that allows the user to customize their preferences is a component.
We apply attributes
We apply attributes to elements inside our components to give them superpowers.
For example, applying fs-cc="allow" to the button that allows all cookies - or fs-cc="close" to the button that closes the preferences popup.
We modify our script tags
We apply attributes to our script tags to identify scripts that should be turned on or off based on the user's consent selection.
For example, applying type="fs-cc" to the Google Analytics script to identify it as a cookie issuing script - as well as fs-cc-categories="analytics" to further identify it as an analytics script.
We don't touch javascript
Finsweet Cookie Consent for Webflow is 100% attribute-based. You don't have to edit a single line of javascript - only copy-paste the script file!
We attempt to make this implementation as simple and nocode as possible. If you know how to use Webflow and you know how to apply attributes, you know Finsweet Cookie Consent.
We help you understand
Our tool has education baked into it. We have walkthrough videos, a visual debugging tool, a cloneable Webflow project, "The Cookie Oven", and a big FAQ section.
We're dedicated to making you a pro at cookie consent.
Sell like an F'in boss
GDPR is confusing. Give your leads and clients peace of mind and show them how cookies are added and removed from the browser with Finsweet Cookie Consent.
Our walkthroughs show you exactly how and when cookies are added and removed. You can see it working. You can demo it. Show your leads how it works, look like an F'in boss, get the sale.
'Informational message', or 'implied disclosure', is a type of cookie compliance that informs users that cookies will be used on the site.
The user does not have the option to accept or deny the cookies. The user only has the option to close the cookie banner. The banner is simply informing the user of the use of cookies on the website.
This is the most simple option to implement. It requires the least amount of steps when building a cookie bar. Understand that the user does not have access to turn on and off cookies using the 'informational message' option.
Recommended for companies that require basic compliance. This option is not fully compliant with GDPR regulations.
Important: The preference manager does not work with this option, as there are no cookie options or preferences to manage.
Place the fs-cc="banner" on the div that is holding the entire cookie bar.
Place the fs-cc="close" on the button/icon/element that closes the cookie bar. In the bar below, this is the "Awesome" button.
Paste in Site Settings > Head Code. For "Informational message" the javascript file can be placed anywhere in the Head Code.
<!-- Finsweet Cookie Consent -->
<script async src="https://cdn.jsdelivr.net/npm/@finsweet/cookie-consent@1/fs-cc.js" fs-cc-mode="informational"></script>
Important:
If you did everything perfectly, but the cookie banner is not showing up, make sure to turn of the "Do Not Track" option in the browser, while testing your cookie consent.
The "Do Not Track" option disables cookies. If the "Do Not Track" is turned on, the cookie banner won't show up because it is not needed.
'Opt-out of cookies' is a type of cookie compliance that loads cookies by default on the user's first visit to the site. The user then has the option to continue browsing the site with the cookies or deny cookies.
If the user chooses the option to continue browsing with cookies, nothing happens. The user continues to use cookies.
If the user chooses to deny cookies, we remove the cookies from their browser. We allow them to continue browsing the site and disable all use of scripts that issue non-essential cookies.
This option is not GDPR compliant. For full GDPR compliance, use Option 3.
Recommended for companies concerned about EU Cookie Law, CCPA, GDPR, and other privacy laws but do not need full compliance. Option 2 gives an additional layer of protection to privacy laws by allowing the user to opt-out of cookie use as well as update their preferences.
Option 2 has the same implementation steps as Option 3. The key difference between Option 2 and Option 3 is when the cookies are given to the user. Option 2 gives cookies on load. Option 3 gives cookies on the user's acceptance.
If you copy-paste from our cloneable, you don't have to add these attributes. Our cloneable comes pre-loaded with all of the correct attributes.
Place the fs-cc="banner" on the div that is holding the entire cookie bar.
Place the fs-cc="allow" on the button/icon/element that accepts all of the cookies and closes the cookie bar. In the bar below, this is the "Accept All" button.
Place the fs-cc="deny" on the button/icon/element that closes the cookie bar and rejects all of the cookies. In the bar below, this is the "Deny" button.
Place the fs-cc="open-preferences" on the button/icon/element that opens the preference UI. In the bar below, this is the "Preferences" button. If you use a Preferences button, you must follow the "Preference Manager" setup.
The preferences button on the initial cookie bar is not required and is optional for cookie compliance.
Preferences Manager is required for full compliance. However, "Option 2: Opt-out of cookies" is not fully compliant so adding the Preferences Manager will not make this implementation fully compliant.
Why are we doing this?
We prevent scripts from running. In Option 3, we can not load scripts that give cookies when the site loads. Adding this attribute will prevent these scripts from loading on the page until the user specifically selects "Allow" cookies. This is required to be cookie compliant. In Option 2, adding this attribute will allow us to prevent scripts from running when the user visits a new page on the site.
Adding these attributes will tell the library which scripts to turn on and off based on the user's cookie consent selection.
<noscript> tags are specifically designed to run when a user has Javascript disabled on the browser. This means that Finsweet Cookie Consent, or any javascript-based cookie consent solution, cannot interact with noscript tags. Since we can not prevent them from running, they are no GDPR compliant.
To be fully compliant, remove all <noscript> tags included in your third-party scripts. See the Facebook Pixel example below.
Paste in Site Settings > Head Code. For "Opt-out of cookies" the javascript file should be placed after the last third-party script that issues cookies. For example, Cookie Consent for Webflow would be placed after Google Analytics and Facebook.
<!-- Finsweet Cookie Consent -->
<script async src="https://cdn.jsdelivr.net/npm/@finsweet/cookie-consent@1/fs-cc.js" fs-cc-mode="opt-out"></script>
Important:
If you did everything perfectly, but the cookie banner is not showing up, make sure to turn of the "Do Not Track" option in the browser, while testing your cookie consent.
The "Do Not Track" option disables cookies. If the "Do Not Track" is turned on, the cookie banner won't show up because it is not needed.
'Opt-in to cookies' is a type of cookie compliance that requires the user to specifically accept the use of cookies on the site before we issue cookies. There are no cookies given to the user until they click "Accept" (or a similar confirmation button). This is the highest level of compliance.
If the user chooses to "Accept" cookies, we run all of the scripts that use cookies. The user continues to use the site with cookies. Understand that scripts that use cookies are not loaded on the page until the user specifically accepts the cookie message.
If the user chooses to "Deny" cookies, we allow them to continue browsing the site and disable all use of scripts that issue non-essential cookies. They are never given cookies and will continue to not get cookies throughout their time on your website.
This is required for full compliance. Recommended for companies who must be fully compliant with EU Cookie Law, CCPA, GDPR, and other privacy laws.
Option 3 has similar implementation steps as Option 2. The key difference between Option 2 and Option 3 is when the cookies are given to the user. Option 2 gives cookies on load. Option 3 gives cookies on the user's acceptance.
If you copy-paste from our cloneable, you don't have to add these attributes. Our cloneable comes pre-loaded with all of the correct attributes.
Place the fs-cc="banner" on the div that is holding the entire cookie bar.
Place the fs-cc="allow" on the button/icon/element that closes the cookie bar. In the bar below, this is the "Accept All" button.
Place the fs-cc="deny" on the button/icon/element that closes the cookie bar. In the bar below, this is the "Deny" button.
Place the fs-cc="open-preferences" on the button/icon/element that opens the preference UI. In the bar below, this is the "Preferences" button. If you use a Preferences button, you must follow the "Preference Manager" setup.
The preferences button on the initial cookie bar is not required and is optional for cookie compliance.
Preferences Manager is required for full compliance. If you are using "Option 3: Opt-in to cookies" it is recommended that you add a Preferences Manager.
Why are we doing this?
We prevent scripts from running. In Option 3, we can not load scripts that give cookies when the site loads. Adding this attribute will prevent these scripts from loading on the page until the user specifically selects "Allow" cookies. This is required to be cookie compliant.
Adding these attributes will tell the library which scripts to turn on and off based on the user's cookie consent selection.
<noscript> tags are specifically designed to run when a user has Javascript disabled on the browser. This means that Finsweet Cookie Consent, or any javascript-based cookie consent solution, cannot interact with noscript tags. Since we can not prevent them from running, they are no GDPR compliant.
To be fully compliant, remove all <noscript> tags included in your third-party scripts. See Facebook Pixel example below.
Paste in Site Settings > Head Code. For "Opt-out of cookies" the javascript file must be placed after the last third-party script that issues cookies. For example, Cookie Consent for Webflow would be placed after Google Analytics and Facebook.
<!-- Finsweet Cookie Consent -->
<script async src="https://cdn.jsdelivr.net/npm/@finsweet/cookie-consent@1/fs-cc.js" fs-cc-mode="opt-in"></script>
Important:
If you did everything perfectly, but the cookie banner is not showing up, make sure to turn off the "Do Not Track" option in the browser, while testing your cookie consent.
The "Do Not Track" option disables cookies. If the "Do Not Track" is turned on, the cookie banner won't show up because it is not needed.
Why are we doing this?
Adding these attributes tells the library which scripts to turn on and off when the user makes their category-specific selections in the Preferences Manager.
DO NOT set your GTM script to type="fs-cc". DO NOT add any attributes to the GTM script tag.
Add your category tags as custom events inside GTM dashboard. Do this for each script in GTM that issues cookies. Below is a step-by-step visual of all the steps you must take.
Important:
Make sure you understand when you're using Google Tag Manager and when you're not. Google's naming convention is not as clear as it should be.
Important:
Make sure you are not using <noscript> tags. Ignore this step in the GTM directions to be compliant with GDPR
Finsweet Cookie Consent integrates with Webflow Interactions. This is optional and only should be used if you want custom in/out animations for your Banner, Manager, and Preferences popup.
If custom animation for your cookie consent system is not important, you do not need to use Webflow Interactions and you can ignore this section. Our library comes with simple fade-in and fade-out ease effects by default.
Important: Only set the Webflow click interaction to the hidden div trigger! Do not put this interaction to any other element (like the buttons). Finsweet Cookie Consent will programmatically click this hidden Div when needed and fire the correct Webflow Interaction.
See the Finsweet Cookie Consent working in real-time as you test. Get alerts when there are errors in your setup or missed attributes on elements. If something is wrong, we'll let you know.
<!-- Finsweet Cookie Consent -->
<script async src="https://cdn.jsdelivr.net/npm/@finsweet/cookie-consent@1/fs-cc.js" fs-cc-mode="opt-in" fs-cc-debug="true"></script>
Important: Do not use debug mode on your live site. This is only for testing, building, and showing off to your clients. Make sure to remove the attribute when you go live.
Take 10 minutes to read this. Imagine... in 10 minutes from now, you'll be smarter than you are right now.
Finsweet Cookie Consent gives you the tools you need to fully comply with privacy laws.
'Informational message', or 'implied disclosure', is a type of cookie compliance that informs users that cookies will be used on the site. The user does not have the option to accept or deny the cookies. The user only has the option to close the cookie bar. The bar is simply informing the user of the use of cookies on the website.
This is the most simple option to implement. It requires the least amount of steps when building a cookie bar. Understand that the user does not have access to turn on and off cookies using the 'informational message' option. The preference manager does not work with this option, as there are no cookies or preferences to manage.
'Opt-out of cookies' is a type of cookie compliance that loads cookies by default on the user's first visit to the site. The user then has the option to continue browsing the site with the cookies or deny cookies.
If the user chooses the option to continue browsing with cookies, nothing happens. The user continues to use cookies.
If the user chooses to deny cookies, we remove the cookies from their browser. We allow them to continue browsing the site and disable all use of scripts that issue non-essential cookies.
Important: Option 2 requires using <text-tag>type="fs-cc"<text-tag> on your scripts that issue cookies.
Option 2 has the same implementation steps as Option 3. The key difference between Option 2 and Option 3 is when the cookies are given to the user. Option 2 gives cookies on load. Option 3 gives cookies on the user's acceptance.
'Opt-in to cookies' is a type of cookie compliance that requires the user to specifically accept the use of cookies on the site before we issue cookies. There are no cookies given to the user until they click "Accept" (or a similar confirmation button). This is the highest level of compliance.
If the user chooses to <text-tag>"Accept"<text-tag> cookies, we run all of the scripts that use cookies. The user continues to use the site with cookies. Understand that scripts that use cookies are not loaded on the page until the user specifically accepts the cookie message.
If the user chooses to <text-tag>"Deny"<text-tag> cookies, we allow them to continue browsing the site and disable all use of scripts that issue non-essential cookies.
They are never given cookies and will continue to not get cookies throughout their time on your website.
Be aware: Choosing Option 3 will not report accurate website visitor information. If a user visits your website and chooses to "Deny" cookies, Google Analytics (and other user tracking scripts) will not be loaded to the page. This user would not count as a visitor on your website.
Important: Option 3 requires using <text-tag>type="fs-cc"<text-tag> on your scripts that issue cookies. See the How it works section for more information.
Option 3 has the same implementation steps as Option 2. The key difference between Option 2 and Option 3 is when the cookies are given to the user. Option 2 gives cookies on load. Option 3 gives cookies on the user's acceptance.
This depends on your location, website, users, and how much you or your client is concerned with cookie compliance.
Many websites use Option 1. This requires basic compliance.
Companies concerned about EU Cookie Law, CCPA, GDPR and other privacy laws often choose Option 2 or 3. This gives an additional layer of protection to privacy laws by allowing the user to opt-out of cookie use.
If you or your client want the highest level of compliance, Option 3 + Preference Manager is the highest level of compliance.
If you are unsure, please consult a legal professional.
To be fully compliant with cookie consult laws, yes.
In Option 1, you can not use the Preference Manager. There are no preferences stored and nothing for the user to change. Therefore, there is no need for a Preference Manager.
In Option 2 or 3, you can use the Preference Manager to allow the user to change their cookie preference selections. If a user selects <text-tag>"Accept"<text-tag> or <text-tag>"Deny"<text-tag> in the initial cookie bar message, they can later change their selected option. The ability for the user to change their cookie preferences is required to be fully cookie consent compliant.
Additionally, you can give the user the options to turn on or turn off marketing, personalization, and analytics-based cookies. This gives your users a further layer of cookie preference control.
These items are required to enable basic website functionality.
Examples of essential cookies:
These items are used to deliver advertising that is more relevant to you and your interests. They may also be used to limit the number of times you see an advertisement and measure the effectiveness of advertising campaigns. Advertising networks usually place them with the website operator’s permission.
Examples of marketing cookies:
These items allow the website to remember choices you make (such as your user name, language, or the region you are in) and provide enhanced, more personal features. For example, a website may provide you with local weather reports or traffic news by storing data about your current location.
Examples of personalization cookies:
These items help the website operator understand how its website performs, how visitors interact with the site, and whether there may be technical issues. This storage type usually doesn’t collect information that identifies a visitor.
Examples of analytics cookies:
By preventing the scripts from running on page load (by setting the <text-tag>type="fs-cc"<text-tag> attribute to them), we can have control over them and choose when should they run.
The FsCC library lets you set up different components where the users can accept, deny or granularly choose what categories of scripts they allow to run.
The short answer, no.
The explanation: Most of the other cookie consent solutions force to load their script in the <head> before any other script on the page has run. This is done so they can programmatically block the correspondent scripts if needed. This increments the loading speed of the pages because loading their cookie consent blocks the main thread and does not let the rest of the page render.
Our solution is imported with an async attribute and is loaded in the background without blocking the page rendering. Because we ask the users to set the <text-tag>type="fs-cc"<text-tag> to the scripts, we don't need our solution to strictly run before those. By doing this, our solution is more performance-friendly than other cookie consent solutions.
Webflow Forms are not GDPR compliant because they process data on US-based servers.
Check out free/paid services of cookie consent leaders, Iubenda
According to the GDPR, organizations must provide people with a privacy notice that is:
If an organization is collecting information from an individual directly, it must include the following information in its privacy notice:
Get a free downloadable template for a GDPR compliant Privacy Policy.
Vlad Magdalin, CEO of Webflow, explains this here:
This will prevent the scripts from loading when a user visits your website. This is required for cookie compliance. A user must explicitly allow or accept cookie usage before we load scripts that issue cookies. Adding a custom type value (fs-cc) will prevent the script from loading because the browser will not recognize it as javascript.
Finsweet Cookie Consent for Webflow will programmatically run the script, or prevent the script from running, based on the user's cookie consent preferences.
No! The <text-tag><noscript><text-tag> tags are specifically designed to run when a user has Javascript disabled on the browser. This means that Finsweet Cookie Consent, or any javascript-based cookie consent solution, cannot interact with noscript tags. Since we can not prevent them from running, they are no GDPR compliant.
To be fully compliant, remove all <text-tag><noscript><text-tag> tags included in your third-party scripts. For example, the <text-tag><noscript><text-tag> tag in the Facebook Pixel must be removed.
All content on this website, as well as content throughout Finsweet's websites, platforms, services, or software, nor any portion thereof constitutes actual legal or regulatory advice, opinion, or recommendation by Finsweet.
We are providing this free library to help you comply with cookie consent laws. This tool is not a service. If legal assistance is required, contact a lawyer.
Although our tool prevents third-party scripts from being loaded unless the user explicitly allows them, and removes the correspondent cookies if the user decides not to allow them anymore, we cannot guarantee the removal of all cookies. Why? Some third-party providers set HttpOnly cookies to the user's browser, which cannot be deleted using Javascript, thus preventing tools like ours from removing them. HttpOnly cookies exist for security reasons and their existence does not influence your GDPR compliance. But if you have specific legal compliance needs, we strongly advise seeking legal advice to make sure our Cookie Consent solution fits your project.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Finsweet does not track or store your data on this website. This website and our Webflow cloneable do not have Google Analytics, Facebook Pixel, or any other tracking scripts enabled. We do not issue cookies. What happens on your computer stays on your computer.
The hosted file for Finsweet Cookie Consent is not hosted on Finsweet servers. It is hosted on NPM and delivered through jsDeliver. We, Finsweet, do not track or store user information from these services. For more information about these services, visit the privacy policy of each provider - NPM, jsDeliver.
Cookie Consent for Webflow is 100% free for personal and commercial use.
The use of this Cookie Consent library will always be free for all users.
You are strictly prohibited to replicate, edit, remix, redistribute, resell, "duplicate and change a little", or make any type of modification to this library script file.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS, OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Finsweet Cookie Consent for Webflow is created and maintained by Finsweet.
Finsweet is a Webflow-exclusive development company that makes badass products and tools for the Webflow community.
Hey! We're Finsweet! The creators of Cookie Consent for Webflow! We will offer absolutely no support for Finsweet Cookie Consent for Webflow due to legal reasons. We have created this tool for you to use and a debug mode to automate bug fixes.
Stay updated with product releases, product updates, Webflow cloneables, and lots more!