Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PBjs Core Consent management: use last consent provided by CMP on timeout #8524

Merged
merged 2 commits into from
Jun 13, 2022

Conversation

dgirardi
Copy link
Collaborator

@dgirardi dgirardi commented Jun 6, 2022

Type of change

  • Bugfix

Description of change

This changes the timeout behavior of the consentManagement module (for TCF v2 only).

If after gdpr.timeout the user has not provided consent (and therefore the CMP did not emit a tcloaded or useractioncomplete event), use the last consent data provided by any other CMP event instead of null.

According to the TCF spec, CMPs should always emit at least one event regardless of what the user does.

Note: The addEventListener callback shall be immediately called upon registration with the current TC data, even if the CMP status is loading and the CMP has incomplete TC Data, so that the calling script may have access to its registered listenerId. Furthermore, on every TC String change the callback shall be called unless it is removed via removeEventListener.

In my testing some implementations provide an empty consent string when the user does not dismiss the UI - in that case we ignore the consent object.

Other information

Fixes #7156
Same changes in 6.29.x: #8540

@dgirardi dgirardi force-pushed the use-consent-on-timeout branch from 3e3cf78 to 68d63f1 Compare June 6, 2022 18:50
@ChrisHuie ChrisHuie self-requested a review June 6, 2022 19:29
@ChrisHuie ChrisHuie self-assigned this Jun 6, 2022
@patmmccann patmmccann added the needs 2nd review Core module updates require two approvals from the core team label Jun 7, 2022
@patmmccann
Copy link
Collaborator

@dgirardi please resolve conflict here when you get a chance

@ChrisHuie ChrisHuie removed the needs 2nd review Core module updates require two approvals from the core team label Jun 13, 2022
@ChrisHuie ChrisHuie changed the title Consent management: use last consent provided by CMP on timeout PBjs Core Consent management: use last consent provided by CMP on timeout Jun 13, 2022
@ChrisHuie ChrisHuie merged commit c607656 into prebid:master Jun 13, 2022
renebaudisch pushed a commit to renebaudisch/Prebid.js that referenced this pull request Jun 28, 2022
bwhisp pushed a commit to bwhisp/Prebid.js that referenced this pull request Jul 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CMP timeout scenario: auction without consent not running despite GDPR Enforcement Module rules
4 participants