Releases: IABTechLab/cmp
Allow configuration to skip language check
The list of languages assumed to be indicative of being in the EEA has been trimmed down a little bit and there is now a configuration option to skip the language check and instead go straight to the IP check if the publisher wishes to not use language to determine whether or not to show the CMP.
New configuration option:
useGeolocationOnly: false|true (false by default
Further IE fixes for all remaining empty Sets
Same issue as v1.6.1, reported as being a problem by internal Rakuten QA teams.
Digitrust redirect rollback
Setting the Digitrust redirect to true by default caused a couple of issues that need to be ironed out with our other technologies before we can confidently deploy it, so we're rolling that particular setting back to false for now.
IE Hotfix for empty Sets
IE11 doesn't support passing in an existing array in the Set constructor, so the country and language codes were always empty. This release fixes that.
Responsiveness, Digitrust redirects, companyName, locator iframe
This version incorporates Adform's responsiveness work, which should help the CMP scale properly on mobile devices. It also sets the Digitrust redirect to be true so that, if given positive consent, Digitrust can upsert user information in their system and write a first party cookie in the browser. companyName
has also been added as a configuration option for simpler publisher configuration, and finally the CMP adds in functionality for creating a locator iframe in accordance with the IAB specification.
New Config Options
- companyName (default null)
- digitrust (value is an object)
= redirects: true|false (default true)
Example:
{
companyName: "Mike's Publishing House",
digitrust: {
redirects: true
}
}
Another IE compatibility hotfix
At least one polyfill was not being properly transpiled into IE executable JS. Special thanks to @swansong (Jon Swanson from Rakuten) who helped diagnose and review.
Microsoft compatibility fixes
Calling forEach
on the output of querySelectorAll
isn't fully supported by the Microsoft browsers, so this fix uses a workaround documented on the Mozilla site.
Hotfix for .then() of undefined
Two functions in the cookie handler had conditionals that would stop execution of the function early, but would not resolve a promise, leading functions that were counting on the .then()
block trying to run undefined
.
Enable group consent; automated browser testing
We now support configurable third party portal domains for both vendor and publisher consents.
New configuration options:
storePublisherConsentGlobally: true|false,
globalPublisherConsentLocation: "https://www.example.com/your-portal.html",
As such, there are now 3 options for storing a vendor cookie (cookie name shows up as euconsent
):
Option 1 - Global consent
storeConsentGlobally: true
Option 2 - 1st party consent
storeConsentGlobally: false
Option 3 - 3rd party consent (Group consent)
In order to write cookies to a third party domain that you control, it must be hosting the "portal" bundle. Please see the implementation guide for details.
storeConsentGlobally: true,
globalConsentLocation: "https://www.example.com/your-portal.html"
Also, there are 2 options for storing a publisher consent cookie (used for storing consents to custom purposes). The cookie shows up as pubconsent
.
Option 1 - 1st party consent
storePublisherConsentGlobally: false
Option 2 - 3rd party consent (Group publisher consent)
In order to write cookies to a third party domain that you control, it must be hosting the "portal" bundle. Please see the implementation guide for details.
storePublisherConsentGlobally: true,
globalPublisherConsentLocation: "https://www.example.com/your-portal.html"
Bugfix for blockBrowsing
The blockBrowsing
option was causing the CMP to render when the page was interacted with even though the CMP wasn't showing.