🚀 Cookie Consent component

This extension is only compatible with App Connect 1. I don’t have a timeline to make it compatible with App Connect 2.

Before using this extension make sure you have gone through the library’s documentation so you understand what’s and what’s not possible and how to achieve your objective.

This Wappler component wraps the library for compatibility with App Connect while providing a UI to interact with it from the Studio app.

Screenies:

App Connect panel

App Connect panel and dynamic events

Databindings

Actions

Event data

Demo from the library website in case you want to play a bit with it:

https://playground.cookieconsent.orestbida.com

How to block scripts that place cookies until consent is given(or not)?

  1. Change your script type to text/plain
  2. Use the data-category attribute in your script tag and use as value one of the categories you have configured in the plugin.
<script src="external.js" type="text/plain" data-category="analytics"></script>

Once the user accepts the analytics category in the consent modal it will load the script. If the user doesn’t accept the analytics category the script will never run so the analytics cookies won’t be placed in the user’s browser.

Enjoy GDPRing.

20 Likes

I cant believe the timing of this post.

For weeks now I’ve been getting a Google reminder that our existing cookie/tracking GDPR response needs updating. I’ve never been happy with it but have been reluctant to start researching what else was available out there - then this drops into my lap!!

I’ve just (easily) installed the extension and its working as an absolute dream - there are so many options in there - it’s great. Thanks for taking the time to create this extension, I’m sure it’ll be really popular.

1 Like

I’m really happy you are finding it useful and easy to use. I poured a lot of time in adding extra information to the UI and adding the myriad of options.

There are a few advanced options that I haven’t been able to figure out how to implement in a user friendly way due to the limitation of some UI controls that Wappler provides. So I need to give it further thought or maybe push for some additional UI controls from Wappler.

Had I built this to suit only my needs the UI configuration file would have been like 5 times smaller and the overall logic less extensive and polished. But to make it useful for the community the work involved starts growing very fast.

So, yeah, hopefully people find it useful :smiley:

1 Like

The only addition I could see that would be useful would be a modal editor to allow editing of the wording on the modal itself (Header, Description, Footer), maybe include it in the ‘UI Customization’ section…? I cant see right now where that’s done,

Check the translation file in public/js/jonl1-cookie-consent/locale/en.json

1 Like

Perfect! thank you - I was looking in the public/assets/js folder - duh!

1 Like

Nice work @JonL. I’m assuming it’s Node only or is it server agnostic?

1 Like

It’s an App Connect extension, therefore agnostic. It’s frontend.

2 Likes

This is incredible! Thanks @JonL

:beers:

2 Likes

Great and useful extension! Thanks for your time and effort and contribution to the community.

1 Like

I’m excited to use this extension but, as it’s the first time I’ve used the new extension facility, I’ve hit a problem.

When I go to install it I get this message:

But when I try to set the Web Root Folder, it just leaves the field blank and the extensions doesn’t like it:

Help!

That’s more a general question/issue. Probably you will need to open a bug report about not being able to change Web Root Folder

1 Like

Hey Jon, how would I use Google Analytics with this? Would I add it to the page head like normal or would I have the Cookie Consent load the script?

Never messed with this type of thing before so I don’t really know what I am doing.

It’s up to you. Both options are possible.
I would advise you to go through the library official documentation on how to accomplish each one of them.
This extension just wraps the library so it’s compatible with App Connect and provides a UI so it’s usable from Wappler.

1 Like

I just looked into this a bit more and wanted to confirm I have it right. I followed

So I add

<!-- Global site tag (gtag.js) - Google Analytics -->
<script type="text/plain" data-cookiecategory="analytics" async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID"></script>
<script type="text/plain" data-cookiecategory="analytics">
    window.dataLayer = window.dataLayer || [];
    function gtag(){window.dataLayer.push(arguments);}
    gtag('js', new Date());

    gtag('config', 'GA_MEASUREMENT_ID');
</script>

to the head of my layout page and then add a new category to match the data-cookiecategory like

Do I need to add

cookieconsent.run({
    // ...
    page_scripts: true
    // ...
});

or is that done for me?

The attribute is data-category.

You don’t need to call run. All the JS stuff is handled by the extension.

1 Like

Just a quick update, I received an email from Google today regarding compliance. They are soon to be implementing a management policy that will only allow consent management from a verified platform - read more here: https://support.google.com/adsense/answer/13554116

I see no mention if it here but the team at cookieconsent must be aware of it, I don’t think it would take much to be verified:
https://cookieconsent.orestbida.com/essential/getting-started.html

CMPs are normally SaaS. This library just gives you the tools to build one.

That’s correct but anyone who builds one will have to have it Google certified before deploying it if they use any Google services (AdSense in our case).

Yep. What I’m trying to say is that this library(Orestbida) is not a CMP and probably will never be one. And if the author decides to build a CMP based on his library it would be another product.

In other words, I’m afraid to say that this library and the extension won’t help you with your google ads problems unless the author decides to build a CMP based on the library and he gets certified.