Consent¶
Consent management becomes more important everyday. Harvest Collect has a fully functioning consent management system.
In the user interface of Harvest Console you can decide whether you want to use this feature or not.
The cookie consent will be saved in a cookie. In Harvest Console you will have to choose the name of this cookie.
It is possible to let Harvest Collect generate the cookie with the setCookieConsent function or you could generate the cookie yourself.
Definitions¶
cookie name
You have to provide the name of cookie. The information about the given consent will be saved in that cookie.
Enforce consent, if no cookie
The cookie consent functionality works in principal based on the consent the user has given. This consent is saved in the cookie. As mentioned before, you will have to tell Harvest in which cookie the consent will be stored.
The question is, what should Harvest do when the cookie is not present? By default we will enforce cookie consent as if no consent was given. This means that if there is no cookie, we pretend the user did not give any consent.
It might, in some cases, be recommended that in the case of a missing cookie, perhaps because it was not implemented yet, we do not use the cookie consent.
permissions
After you have chosen the name of the cookie, you will have to decide which permissions a user can choose from. Usually you will have at least two permissions:
- Functional - This means you will use cookies for functions like login.
- Advertising - This means you will use cookies for advertising and remarketing.
A permissions has the following properties:
- Name - The name of the permissions
- Default value - This could either be true or false. If the user accepts without changing anything, is the permission given or not?
- Optional - Can the user change the default value? Usually the functional permissions is by default true and not optional.
How does cookie consent work?¶
In Harvest you will define which permissions a user can give and link these permissions to tools and variable blacklist. Harvest however, needs to know what permissions the user gave.
To obtain this information, we need the name of the cookie. Harvest will then, during event processing, retrieve the data from the user’s cookie.
The data in the cookie should have a specific format, as can be read below.
You can either set the cookie yourself or you can use helpers functions from Harvest.
For more information about the helper function, read about the setCookieConsent function.
Cookie schema¶
The cookie should be a valid JSON-cookie. The template is as follows:
{
"ID": "1e83b29a-5b83-2804-f919-beb49d22e05c",
"permissions": {
"functional": true
},
"createdAt": "2018-12-24T15:06:23.398Z"
}
Audit trail¶
It is important to be able to proof you comply with privacy laws. Harvest offers the following features:
- Track each consent change.
- Log the given permissions and tool configurations for each event.
Track each consent change¶
You can use the following tracking code to track the fact a user changed it’s consent. The change should also be triggered the first time a user chooses consent. In this case, the user “changes” their consent from nothing to something.
harvest.trackEvent({
"event":"dataview",
"data": {
"contentInteractionName":"Cookie consent changed"
}
});
Note
It is important that you set the consent cookie before tracking the event. This way, Harvest Collect can immediatly pick up the consent. If the cookie is not set yet, you will have to sent the permissions in the data object, this is not best practice.
Log the given permissions and tool configurations for each event¶
As can be seen in the final event, for each event we log the following two data object:
- consentData
- toolData
Consent data contains all information about the given consent. Tool data contains all information about the used tools.
With both data objects we know exactly what decisions Harvest Collect has made and we can proof that you comply with the privacy laws.