Module Permissions
It is possible to disable the individual modules of Umbraco Engage (Analytics, A/B testing, Personalization) through code based on any criteria you want.
You could choose to give visitors control over these settings through a cookie bar on your site.
To do this you have to create an implementation of the Umbraco.Engage.Business.Permissions.ModulePermissions.IModulePermissions
interface and override our default implementation.
This interface defines 3 methods that you will have to implement:
Using these methods you can control per visitor whether or not the modules are active. Your implementation will need to be registered with Umbraco using the RegisterUnique()
method, overriding the default implementation which enables all modules all the time. Make sure your composer runs after the Umbraco Engage composer by using the [ComposeAfter]
attribute.
It could look something like this:
Tracking a visitor's Initial Pageview
By changing the default module permissions to false a visitor is be tracked until they give their consent to the Analytics module. In that case, the module permission AnalyticsIsAllowed
will be set to true
.
Is the module permission set to true it is required to reload the current page as soon as the visitor has given consent. This needs to happen to track the current page visit the visitor has given consent on.
If no reload is performed the visitor's referrer and/or campaign information will not be tracked.
Calling the window.location.reload();
method is the preferred option, as this will preserve any referrers & query strings supplied in the current request.
This results in Umbraco Engage processing the current page visit & visitor correctly.
An example implementation using Cookiebot can be found in the security and privacy section.
Last updated