Skip to content

Transparency & Consent Framework 2.0

The IAB Europe Transparency and Consent Framework (TCF) is the only GDPR consent solution built by the industry for the industry, creating a true industry-standard approach.

The TCF’s simple objective is to help all parties in the digital advertising chain ensure that they comply with the EU’s GDPR and ePrivacy Directive when processing personal data or accessing and/or storing information on a user’s device, such as cookies, advertising identifiers, device identifiers and other tracking technologies.

The TCF creates an environment where website publishers can tell visitors what data is being collected and how their website and the companies they partner with intend to use it. The TCF gives the publishing and advertising industries a common language with which to communicate consumer consent for the delivery of relevant online advertising and content.

IAB Europe - Transparency & Consent Framework

Requirements for TCF?

You need to implement a TCF 2.0 compliant CMP (Consent Management Platform) into your app/website. IAB Europe provides an official list of all compliant CMPs.

The CMP will return the TC consent which you have to hand over to ADvantage.

ADvantage offers a method to hand over the TC object to ADvantage. ADvantage forwards this information to your ad server.

/*
GDPR: boolean (false/true) or 0/1 - 0 GDPR does not apply; 1 GDPR applies.
gdprPD: boolean (false/true) or 0/1 - Indicates if none of the url parameters contain personal data
gdprConsent: string - URL-safe base64-encoded Transparency & Consent string. Only meaningful if gdpr=1
AddtlConsent: string - URL-safe base64-encoded string - Only meaningful for the Google Adserver. Please check the Google Documentation (https://support.google.com/admanager/answer/9805023?hl=en and https://support.google.com/admanager/answer/9681920?hl=en)
*/
let gdpr = GeneralDataProtecionRights(parametersGDPR: true, gdprPD: true, gdprConsent: "[BASE64_GDPR_CONSENT]", andAddtlConsent: "[BASE64_ADDTL_CONSENT]");
self.advantage.setDataProtectionRights(gdpr)
/*
GDPR: boolean (false/true) or 0/1 - 0 GDPR does not apply; 1 GDPR applies.
gdprPD: boolean (false/true) or 0/1 - Indicates if none of the url parameters contain personal data
gdprConsent: string - URL-safe base64-encoded Transparency & Consent string. Only meaningful if gdpr=1
AddtlConsent: string - URL-safe base64-encoded string - Only meaningful for the Google Adserver. Please check the Google Documentation (https://support.google.com/admanager/answer/9805023?hl=en and https://support.google.com/admanager/answer/9681920?hl=en)
*/
ADvantage *banner = [[ADvantage alloc] initBannerWithLicenseKey:@"testiOS" SSLEnabled:NO];
GeneralDataProtecionRights *gdpr = [[GeneralDataProtecionRights alloc] initWithParametersGDPR:YES
                                                                                      gdprPD:YES
                                                                                 gdprConsent:@"[BASE64_GDPR_CONSENT]"
                                                                            andAddtleConsent:@"[BASE64_ADDTL_CONSENT]"];
[banner setDataProtectionRights:gdpr];
/*
GDPR: boolean (false/true) or 0/1 - 0 GDPR does not apply; 1 GDPR applies.
gdprPD: boolean (false/true) or 0/1 - Indicates if none of the url parameters contain personal data
gdprConsent: string - URL-safe base64-encoded Transparency & Consent string. Only meaningful if gdpr=1
AddtlConsent: string - URL-safe base64-encoded string - Only meaningful for the Google Adserver. Please check the Google Documentation (https://support.google.com/admanager/answer/9805023?hl=en and https://support.google.com/admanager/answer/9681920?hl=en)
*/
GeneralDataProtectionRight gdpr = new GeneralDataProtectionRight();
gdpr.gdpr = true;
gdpr.gdprPD = true;
gdpr.gdprConsent = "[BASE64_GDPR_CONSENT]";
gdpr.addtlConsent = "[BASE64_ADDTL_CONSENT]";
banner.setDataProtectionRights(gdpr);
/*
gdpr: boolean (false/true) or 0/1 - 0 GDPR does not apply; 1 GDPR applies.
gdpr_pd: boolean (false/true) or 0/1 - Indicates if none of the url parameters contain personal data
gdpr_consent: string - URL-safe base64-encoded Transparency & Consent string. Only meaningful if gdpr=1
addtl_consent: string - URL-safe base64-encoded string - Only meaningful for the Google Adserver. Please check the Google Documentation (https://support.google.com/admanager/answer/9805023?hl=en and https://support.google.com/admanager/answer/9681920?hl=en)
*/
banner = new ADvantage_WebSDK( 'ad_space_container' )
.setDataProtectionRights({
    'gdpr':'0',
    'gdpr_consent':'[BASE64_GDPR_CONSENT]',
    'gdpr_pd':'0',
    'addtl_consent':'[BASE64_ADDTL_CONSENT]' // optional consent see comment above
})
.setLicenseKey( '[LICENSE KEY]' )
.setSiteId('[SITE ID]')
.setPosition('[POSITION]')

More Information

IAB Europe Transparency & Consent Framework Specs