How MarfeelPass integrates with CMPs
MarfeelPass replaces the UI notice popup from your CMP and delegates consent management to the underlying platform using generic TCF or vendor-specific APIs. Your CMP remains the system of record for consent. MarfeelPass only controls the user-facing notice layer.
This page covers:
- When does MarfeelPass CMP notice show?
- What does MarfeelPass do when a user accepts the consent?
- What does MarfeelPass do when a user pays to reject the consent?
- What happens when a user rejects some specific purposes
- Where does MarfeelPass get information about vendors?
- How do MarfeelPass previews work?
When does MarfeelPass CMP notice show?
Section titled “When does MarfeelPass CMP notice show?”MarfeelPass CMP notice shows in two scenarios:
- When the standard TCF API notifies that there’s no valid consent string for the user. The most common situations are that GDPR applies and TC data is not present or needs renewal:
window.__tcfapi?.('ping', TCF_VERSION, ({ displayStatus }: PingData) => cb(displayStatus !== 'disabled'));- When the user selectively rejects any of the Purposes 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or 11 as defined on Appendix A: Definitions Of Purposes, Features And Categories Of Data of IAB Europe Transparency & Consent Framework Policies. When the user revokes the consent through any of the mechanisms provided by the publisher, Marfeel shows the CMP notice based on standard TCF events for
tcloadedanduseractioncomplete.
For details on how Marfeel handles consent at the SDK level, see the CMP integration guide.
What does MarfeelPass do when a user accepts the consent?
Section titled “What does MarfeelPass do when a user accepts the consent?”When a user clicks an Accept button defined by the mrf:userAgreeToAll role element, MarfeelPass invokes a vendor-specific method:
- Didomi
Didomi.setUserAgreeToAll()
What does MarfeelPass do when a user pays to reject the consent?
Section titled “What does MarfeelPass do when a user pays to reject the consent?”When a user clicks a Pay & Reject button defined by the mrf:userPayToReject role element, MarfeelPass executes the payment flow and invokes a CMP vendor-specific method:
- Didomi
Didomi.setUserDisagreeToAll()
What happens when a user rejects some specific purposes
Section titled “What happens when a user rejects some specific purposes”Where does MarfeelPass get information about vendors?
Section titled “Where does MarfeelPass get information about vendors?”MarfeelPass displays the number of vendors on elements configured with the mrf:numRequiredVendors role element and opens the configuration screen based on:
- Didomi
Didomi.getRequiredVendors()Didomi.preferences.show('vendors')
Why do positive consent rates on Didomi drop when activating MarfeelPass?
Section titled “Why do positive consent rates on Didomi drop when activating MarfeelPass?”The drop is a tracking issue, not a real decrease in user engagement. Didomi’s interface is designed to work with the default consent notice and does not integrate analytics of custom notices.

Didomi tracks consent through its pre-built templates. A custom CMP like MarfeelPass introduces different user journeys that bypass Didomi’s tracking methods, causing the platform to display inaccurate statistics.
MarfeelPass triggers eventStatus = cmpuishown __tcf events that Didomi doesn’t track as type:consent.asked on https://api.privacy-center.org/v1/events.
When does the MarfeelPass CMP notice show?
MarfeelPass CMP notice shows in two scenarios: when the standard TCF API reports no valid consent string (GDPR applies and TC data is missing or expired), or when a user selectively rejects any of the IAB Purposes 1 through 11.
What happens when a user accepts consent through MarfeelPass?
When a user clicks the Accept button defined by the mrf:userAgreeToAll role element, MarfeelPass invokes the vendor-specific consent method. For Didomi, this calls Didomi.setUserAgreeToAll().
Why do positive consent rates on Didomi drop when activating MarfeelPass?
The drop is a tracking issue, not a real decrease in user engagement. Didomi tracks consent through its pre-built templates and does not integrate analytics from custom notices like MarfeelPass. MarfeelPass triggers cmpuishown TCF events that Didomi does not track as consent.asked events.