Module for Cookie management and async loading of (external) scripts / assets

PrivacyWire

Cookie & Consent Manager for ProcessWire

This module adds the possibility to define cookie / consent groups and load corresponding elements only after the site visitor has given consent.
The following cookie groups are available (the frontend visible label is editable and translatable, this is just the technical name)

  • Necessary
  • Functional
  • Statistics
  • Marketing
  • External Media
  • (All Cookies)
    Necessary elements are always active. You can let the user decide, which individual cookie group(s) should be allowed, and/or add an „Allow all“ button.

You can use the (very basic) styles or use the completely unstyled version. Both script version are very small and thus fast (around 6kb for the styled version and around 5.2kb for the unstyled version).

To load scripts, frames, images or other elements only after the site visitor has given consent to that specific cookie group, use the following attributes:

<script type=text/plain" data-type="text/javascript" data-category="functional">console.log("This script only runs after giving consent to functional cookies");</script>

You can even render and alternate Opt-In text instead of the element:

<iframe data-src="https://processwire.com/" data-category="marketing" data-ask-consent="1" frameborder="0" height="400" width="400"></iframe>

Availabe attributes:

AttributeInfoDescriptionType
data-categoryrequireddefines the assigned cookie group for this elementstring
data-typeoptional (required for scripts)replaces the type attribute after giving consentstring
data-srcoptional (required for external scripts, images or iframes)replaces the src attribute after giving consentstring
data-srsetoptionalreplaces the srcset attribute for images after giving consentstring
data-ask-consentoptionalReplace element with Opt-In-Elementbool 0/1

For script tags it is required to add type=text/plain", otherwise the script executes directly.


With PrivacyWire itself comes a Textformatter with the shortcode [[privacywire-choose-cookies]] to add a button to show the cookie group selection window.
To automatically include the Opt-In-Element for embedded videos via TextformatterVideoEmbed you can choose the cookie group in the Textformatter settings.

Multiple language support / i18n


The module uses the ProcessWire-integrated translation system.

Install and use modules at your own risk. Always have a site and database backup before installing new modules.

Twitter updates

  • Preliminary 2021 roadmap in progress in this week’s update— More
    8 January 2021
  • Happy New Year! Today I’ve bumped the version on the dev branch to 3.0.170, and it’s quite a lot of updates. This post covers most of them. In this post, there’s also a question for you: what would you like to see in ProcessWire in 2021? More
    1 January 2021
  • In this week’s blog post we’ll take a brief look at a powerful new ProFields module for ProcessWire that’s just around the corner—the Combo field: More
    4 December 2020

Newest forum posts

Latest news

  • ProcessWire Weekly #349
    In the 349th issue of ProcessWire Weekly we're going to cover the latest core and forum updates, introduce some recent ProcessWire resources, and more. Read on!
    Weekly.pw / 16 January 2021
  • ProcessWire 3.0.170 core updates
    Happy New Year! Today I’ve bumped the version on the dev branch to 3.0.170, and it’s quite a lot of updates. This post covers most of them. In this post, there’s also a question for you: what would you like to see in ProcessWire in 2021?
    Blog / 1 January 2021
  • Subscribe to weekly ProcessWire news

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like superbude.de. ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH