Compliance
IAB TCF 2.3 Configuration
Set up IAB Transparency & Consent Framework compliance
Available on the Pro plan and above. See pricing for what each plan includes.
Set up IAB Transparency & Consent Framework compliance for programmatic advertising.
What is IAB TCF?
The IAB (Interactive Advertising Bureau) TCF (Transparency & Consent Framework) is an industry standard for:
- Collecting and communicating user consent
- Enabling programmatic advertising compliance
- Standardizing consent signals across ad tech vendors
Why Use TCF?
If you sell programmatic advertising, TCF is often required:
- Google publisher products (AdSense, Ad Manager and AdMob) require a Google-certified CMP that integrates with TCF for traffic from the EEA, the UK and Switzerland.
- Advertisers using Google Ads or GA4 need Google Consent Mode v2 rather than TCF; GetCookies supports both on the Pro plan and above.
- Many SSPs and ad networks read consent from the TC string.
About TCF 2.3
TCF 2.3 is the current version of the framework. Its main change from 2.2 is that the disclosedVendors segment is mandatory in every TC string, so vendors can tell which vendors were shown to the user.
Configuration Steps
Step 1: Check the CMP registration requirement
GetCookies is not yet registered with IAB Europe as a CMP and is not a Google-certified CMP. TC strings carry the CMP ID set in your domain's IAB TCF configuration; until one is configured, TC strings are not transmitted. If your ad partners (or Google AdSense, Ad Manager or AdMob) require a registered CMP, contact [email protected] before relying on GetCookies for TCF.
Step 2: Enable TCF in GetCookies
- Go to Domain Settings > Compliance
- Enable IAB TCF 2.3 (Pro plan and above)
- Configure your vendor list
Step 3: Select Vendors
Choose which ad tech vendors you work with:
- Click Manage Vendors
- Search or browse the Global Vendor List (GVL)
- Select vendors you use
- Review their purposes and legitimate interests
Step 4: Configure Purposes
TCF defines standard purposes:
| Purpose | Description | Type |
|---|---|---|
| 1 | Store/access device info | Consent |
| 2 | Select basic ads | Consent or LI |
| 3 | Create personalized ads profile | Consent |
| 4 | Select personalized ads | Consent |
| 5 | Create content profile | Consent |
| 6 | Select personalized content | Consent |
| 7 | Measure ad performance | Consent or LI |
| 8 | Measure content performance | Consent or LI |
| 9 | Market research | Consent or LI |
| 10 | Develop products | Consent or LI |
*LI = Legitimate Interest*
Technical Implementation
TC String
GetCookies generates a TCF 2.3 TC string, stored in:
euconsent-v2cookie__tcfapiJavaScript API
CMP API Integration
GetCookies implements the standard __tcfapi:
// Check if TCF is ready
__tcfapi('addEventListener', 2, (tcData, success) => {
if (success && tcData.eventStatus === 'useractioncomplete') {
// User has made a choice
console.log('TC String:', tcData.tcString);
console.log('GDPR applies:', tcData.gdprApplies);
}
});
// Get current consent
__tcfapi('getTCData', 2, (tcData, success) => {
if (success) {
// Check specific vendor consent
const vendorConsent = tcData.vendor.consents[vendorId];
const purposeConsent = tcData.purpose.consents[purposeId];
}
});Google Integration
Google Additional Consent Mode
GetCookies supports Google's Additional Consent (AC) string:
// AC string for Google vendors not in GVL
const acString = '1~' + googleVendorIds.join('.');Verify in Google Ad Manager
- Open a page with your banner
- Check browser cookies for
euconsent-v2 - Decode TC string at TCF String Decoder
- Verify in GAM reporting
Troubleshooting
Invalid TC String
Check that:
- A CMP ID is configured for the domain (vendors may reject strings from an unregistered CMP ID)
- Vendor list version is current
- TC string encoding is valid
Vendors Not Receiving Consent
Ensure:
- Vendor is added to your list
- User consented to required purposes
- TC string is being sent in bid requests
Still stuck?
Email [email protected] with your domain and what you tried. Signed-in customers can also open a ticket from the dashboard.