Open micajuine-ho opened 3 years ago
Hi, quick question, am I right that is only for client-side consent, and granular consent can't be used for the "Advanced User Consent Flow" (with an external CMP)? Is there any way to achieve granular consent when using an external CMP?
I remember that @micajuine-ho was quite interested in external CMPs. But unfortunately I haven't been working with AMP since this launched - and Micajuine isn't either. I don't know the latest here.
Perhaps @alanorozco or @caroqliu would know more?
Fingers crossed! Any clues at all would be helpful.
The original issue (https://github.com/ampproject/amphtml/issues/26735) – which wasn't raised by me – actually uses The Guardian's consent options as an example, and that's the site I'm working on. So I was thrilled to find a discussion on exactly the problem I had, using my site as an example, and an apparent feature implemented to deal with it. Unfortunately since the Guardian uses an external CMP, the feature that came out doesn't seem to be applicable to us. I'm still hopeful there is some way to get this functional with an external CMP somehow but I'm increasingly thinking there might not be.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.
Summary
Create client side granular consent into
amp-consent
by allowing publishers to add a newdata-block-on-consent-purposes
attribute onto AMP elements, whose value is a list of publisher defined purposes. This attribute will block AMP elements from being built until all purpose consents have been accepted. Purpose consents will be collected (and stored) byamp-consent
, and can also be synced viacheckConsentHref
s request and response.Design document
Original issues and discussion: https://github.com/ampproject/amphtml/issues/26735
Design Doc: https://docs.google.com/document/d/1RThWzCG7-LLzb13lmUNawLkBJCeGyUIi62GefTunIQg/edit
Motivation
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Launch tracker
[x] Create experiment flag (#32433)
[x] Expose purposeConsentRequired API through
checkConsentHref
& inline (#32433)[x] PromptUI changes - create
toggleConsent()
, expandaccept
andreject
actions, createpurposeConsentMap
from decisions #32470[x] PromptUiSrc changes - send and receive
purposeConsentMap
(#32638)[x] Store the the
purposeConsentMap
andpurposeConsentRequired
in local storage through the ConsentManager (#32721)[x] Create Internal API to get purposeConsentMap from ConsentPolicyManager (for syncing) (#32990)
[x] Runtime and ConsentPolicyManager changes to block building until all purposes are accepted (#32990)
[ ] E2E tests
[x] Lauch 100%
[x] Cleanup /cc @ampproject/wg-approvers
Usage
data-block-on-consent-purposes
attributes to elements you want to block based upon consent purposes, and add a list of purposes that you want to be accepted before allowing the component to unblock.// blocked by AMP runtime