Goal of this document
Google has joined TCF v2 and publishers / advertisers that use Google Ad Manager or other Google Ads products may receive error messages about their setup and implementation of a TCF v2 CMP.
This document explains the error codes and provides steps to help you correct those error codes.
Context
Google has catalogued the error codes they will be providing to their clients here: https://support.google.com/adsense/answer/9999955?hl=en.
Error |
Google’s Description |
Google’s suggested action to take |
Reason for issue in Choice |
Steps to address in Choice |
1.1 |
Google, as a vendor, is not allowed under consent or legitimate interest. |
Confirm whether the user intentionally rejected Google as a vendor, CMP implementation errors have occurred, or there are publisher restrictions. |
The user was likely not presented with an option to respond to Google as a vendor. |
This error is a result of the consumer having not been presented with Google as a vendor in the CMP. To Address 1. Verify the CMP is using the most recent version of the GVL. 2. Verify that Google is displayed as a vendor in the CMP on the GVL. 3. Verify that Google is not blocked using the vendor management feature. 4. Assuming all of the above steps are verified, Choice should be configured to force a reprompt for all consumers. This can be achieved by using the vendor management feature. Block any vendor, and then unblock that vendor. This will force the CMP to display again to all consumers and register a TC String for Google. NOTE* Remember that updating the vendor management feature like this will apply to all domains in the account. |
1.2 |
No consent for Purpose 1 for EEA countries and the UK. |
Confirm whether the user intentionally disallowed Purpose 1 or if this is due to CMP implementation errors. German publishers should ensure they are setting the PublisherCC and PurposeOneTreatment fields correctly if they are not asking users for consent. |
The consumer has likely rejected consent for Purpose 1. Google will not operate without consent for Purpose 1. |
To Address 1. There is no fix for this as the consumer has declined consent for Purpose 1. |
1.3 |
Has consent for Purpose 1, but lacks legal bases for Basic Ads. |
Confirm whether the user intentionally rejected legitimate interests on the other purposes or if this is due to CMP implementation errors. |
Google is registered as a flexible vendor for purpose 2, 6, 7, 8, 9, and 10. As a result, they will accept consent or legitimate interest. |
If a consumer has given consent for purpose 1, but denied consent or objected to legitimate interest for the other purposes, Google may not operate per their policies. To Address 1. There is no fix for this as the consumer has declined all legal bases Google needs. |
2.1a |
Tag or SDK isn’t receiving a TC string due to CMP status being stub, loading, or error. |
Ask your CMP to make sure that their APIs are properly implemented based on the IAB TCF tech spec. |
This error occurs due to page latency or because Google tags are fired before a consumer has provided a consent answer. |
Per the ePrivacy Directive and EU Google Policy, a consumer must establish a valid legal base through Quantcast Choice before Google tags can be set. To Address 1. The site owner must prevent all tags from firing until a response is obtained from Quantcast Choice. 2. Then, the site owner should only fire the tags for which the consumer provided permission. NOTE* Reference the Tag Blocking help article and the Google Tag Manager help article for guidance. |
2.1b |
Both conditions are met:
|
Ask your CMP to make sure that their APIs are properly implemented based on the IAB TCF tech spec. |
This would only happen if Choice failed to generate a consent string for a consumer who is in the EU. |
There are no reported instances of this happening to date. There is no action to take. |
2.2a |
The TC string is not parseable because it isn’t base64 encoded. Example: “2” |
CMPs (or publishers) should only send base64 encoded data in gdpr_consent= parameters. |
Choice encodes in base64 by default. |
There is no action to take. |
2.2b |
The TC string is not parseable because of a decoding error. Example: Includes an incorrect number of bits |
CMP should fix the TC string implementation errors. |
Choice has implemented the TC string as defined as part of IAB TCF v2. |
There is no action to take. |
2.2c |
The TC string is not parseable because of a data error. Example: Incorrect timestamp, vendor ID is too large |
CMP should fix the TC string implementation errors. |
Choice has implemented the TC string as defined as part of IAB TCF v2. |
There is no action to take. |
3.1 |
Invalid CMP ID. |
Make sure an IAB-validated CMP is being used and its ID is correctly set in the TC strings. If a CMP was valid when a TC string was generated but was later deleted by the IAB, you need to reobtain consent using a valid CMP. |
Choice only uses the CMP ID registered by Quantcast with IAB Europe. The Quantcast Choice CMP ID is 10. |
There is no action to take. |
3.2 |
The TC string creation date was more than 13 months ago |
CMP should delete the old TC string and reobtain consent. |
Choice is programmed to reprompt consumers if the consent string creation date reaches 13 months of age. |
There is no action to take. |
3.3 |
The TC string last update date was more than 13 months ago. |
CMP should delete the old TC string and reobtain consent. |
Choice is programmed to reprompt consumers if the consent string last update date reaches 13 months of age. |
There is no action to take. |
4.1 |
The TC string generated using a version of the GVL in which Google is not yet listed. |
When it becomes available, reobtain consent using a version of the GVL that includes Google. |
This error triggers if a consumer’s existing TCF v2 consent uses a GVL from before google joined. In other words, if a consumer responded to a TCF v2 CMP before Google was on the GVL, then the consumer never responded to Google as a vendor. The consumer needs to be reprompted before google can operate. a reprompt can be forced by blocking any vendor on the GVL, and then quickly unblocking it. that will force a reprompt of all consumers |
The consumer needs to be reprompted before Google can operate. A reprompt can be forced by blocking any vendor on the GVL, and then quickly unblocking it. This action will force a reprompt of all consumers on the account. Remember that updating the vendor management feature like this will apply to all domains in the account. |
5.1 |
The TC string allows Out-of-Band consent. |
Instruct your CMP to remove Out-Of-Band signals from the TC strings |
Quantcast Choice does not support Out-of-Band consent. |
There is no action to take. |
5.2 |
Globally-scoped TC string |
Instruct your CMP to update the TC strings to be service-specific |
Quantcast Choice does not supports global consent scope.
|
There is no action to take. |
6.1 |
TC string version is 1 or 1.1 (v1.0 string) |
CMP should send TCF v2.0 strings |
There are two versions of Quantcast Choice. One version supports TCF v1 and the other version supports TCF v2. Quantcast Choice does not send both signals at the same time. |
To Address: The site needs to be upgraded to the latest version of Quantcast Choice. Click here to upgrade for free. |
7.1 |
gdprApplies is undefined or set to an invalid or indecipherable value, but a valid TC string is present. |
N/A |
Choice has implemented the TC string as defined as part of IAB TCF v2. |
There is no action to take. |
7.2 |
The TC string was generated with a GVL version newer than the current version known to Google's ad serving technology. |
N/A |
Choice has implemented the TC string as defined as part of IAB TCF v2. |
There is no action to take. |
7.3 |
Some purposes, features, and/or vendors are out of range (unknown) |
N/A |
Choice has implemented the TC string as defined as part of IAB TCF v2. |
There is no action to take. |
7.4 |
The TC string has an older tcf_policy_version than the newest GVL |
CMP should delete the older TC string and reobtain consent using the newest GVL |
Choice supports the most recent policy and GVL. If Choice encounters a TCF v1 string on a website that has implemented Choice for TCF v2, Choice will reprompt the consumer. |
There is no action to take. |
7.5 |
A request has &gdpr=1, but doesn't have the &gdpr_consent parameter in the request URL at all |
N/A |
Choice has implemented the TC string as defined as part of IAB TCF v2. |
There is no action to take. |
7.6 |
Invalid publisher country code, but consent to Purpose 1 is present. |
CMP should fix the TC string implementation errors |
Choice has implemented the TC string as defined as part of IAB TCF v2. |
There is no action to take. |
7.7 |
Invalid language code |
CMP should fix the TC string implementation errors. |
Choice has implemented the TC string as defined as part of IAB TCF v2. |
There is no action to take. |
7.8 |
TC string version field is neither 1 nor 2 |
CMP should send TCF v2.0 strings |
Choice has implemented the TC string as defined as part of IAB TCF v2. |
There is no action to take. |
7.9 |
AC string version is not 1 |
CMP should set the AC string version to 1. |
Choice has implemented the TC string as defined as part of IAB TCF v2. |
There is no action to take. |