Marfeel is committed to maintaining user privacy and is a certified IAB TCF 2.0 vendor .
Marfeel is compatible with IAB TCF2.0 compliant CMPs and is a plug and play solution with publishers’ consent and data management platforms.
In commercial CMPs like Didomi or SourcePoint, depending on their specific setup, you might need to explicitly whitelist Marfeel Solutions, SL (Compass) with ID 943
as an authorized vendor.
In case the CMP and Marfeel are not properly setup Marfeel wont track user data and dimensions like Loyalty funnel
will show as Private
.
Read more about the cookies and entries on session and localStorage Marfeel SDK relies on.
Requested purposes
Marfeel requests permissions for the purposes [1, 5, 6, 7, 8, 9, 10] as defined on IAB Appendix A Definitions of Purposes, Features And Categories:
1-. Store and/or access information on a device
5-. Create profiles to personalise content
6-. Use profiles to select personalised content
7-. Measure advertising performance
8-. Measure content performance
9-. Understand audiences through statistics or combinations of data from different sources
10-. Develop and improve services
Categories of data
Marfeel requests permissions for the categories of data [1, 2, 5, 6, 8, 10, 11] as defined on section G. Categories of data:
1-. IP Addresses
2-. Device characteristics
5-. Authentication-derived identifiers
6-. Browsing and interaction data
8-. Non-precise location data
10-. Users’ profiles
11-. Privacy choices
Using Marfeel with a non IAB TCF2.0 compliant CMP
Marfeel is an IAB TCF vendor, so in case you have a compliant CMP everything works automatically.
For non-compliant CMP, Marfeel exposes a series of methods to control how visitor data is stored and processed.
You need to initialize Marfeel SDK with the manualConsent: true
custom config as shown in the following code snippet:
<script type="text/javascript">
function e(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],c=document.createElement("script");c.src=e,t?c.type="module":(c.async=!0,c.type="text/javascript",c.setAttribute("nomodule",""));var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(c,n)}function t(t,c,n){var a,o,r;null!==(a=t.marfeel)&&void 0!==a||(t.marfeel={}),null!==(o=(r=t.marfeel).cmd)&&void 0!==o||(r.cmd=[]),t.marfeel.config=n,t.marfeel.config.accountId=c;var i="https://sdk.mrf.io/statics";e("".concat(i,"/marfeel-sdk.js?id=").concat(c),!0),e("".concat(i,"/marfeel-sdk.es5.js?id=").concat(c),!1)}!function(e,c){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t(e,c,n)}
(window, /* AccountId */, { manualConsent: true } );
</script>
When manualConsent:true
Marfeel tracking is blocked until the client specifies that the CMP has been loaded or that it doesn’t apply:
When CMP is not applicable:
window.marfeel.cmd.push(['consent', function(consent) {
consent.setCMPNotApplies();
}]);
CMP loaded, but the user has not accepted or rejected (consent screen shown):
window.marfeel.cmd.push(['consent', function(consent) {
consent.setCMPLoaded();
}]);
Once the user has made a choice, and in the following page views, you should inform Marfeel of the consent preferences of the user.
window.marfeel.cmd.push(['consent', function(consent) {
consent.setConsentFeatures([
{ feature: 'analytics_storage', consent: true|false },
{ feature: 'personalization', consent: true|false }
]);
}]);