The IAB CMP Stub is causing prebid to wait for the default timeout until loading ads
Attach the IAB CMP Stub onto the page and then load prebid and there is no CMP showing for a non-EU reader. The auction is not being held until the default timeout is reached.
If the reader is not within the EU and GDPR doesn't apply then the auction should be held immediately with no timeout.
The auction is being suspended until the timeout is reached for CMP being detected on the page.
Prebid 1.11.0
Chrome V: 66.0.3359.139/ OSX 10.13.4
npm: 4.3.0
If you don't load the CMP you should just set the timeout value in consent management to 0. Prebid doesn't have a way to detect a non EU user.
@mkendall07 They should be able to get it from the __cmp interface on the getConsentData method, which returns a "VendorConsentData" object which has a "gdprApplies" flag on it. if VendorConsentData.gdprApplies == false they know that GDPR doesn't apply to this user.
@mkendall07 I'd say publishers should just omit setting consentManagement on pbjs config in this case. Or build a pbjs package without ConsentManagement module included.
@chrispaterson CMP stub doesn't have VendorConsentData method, and instead just queues commands until CMP is loaded: https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/CMP%20JS%20API%20v1.1%20Final.md#CMP-stub-sample:
__cmp.a.push([].slice.apply(b));
@tpottersovrn
The problem is that you are attaching the stub cmp function to the page. I guess I didn't read the description carefully enough the first time. You should not load the stub for the CMP if you don't expect the CMP to load or prevent it's loading. The presence of the stub is what prevents Prebid.js from making it's call and waiting for the CMP to load.
Discussed this with Sovrn folks, they are going to attempt to solve using the CMP's gdprApplies flag.
Most helpful comment
If you don't load the CMP you should just set the timeout value in consent management to 0. Prebid doesn't have a way to detect a non EU user.