There was an unexpected error authorizing you. Please try again.

TCF Canada v1.1 & GPP String v1.1 Released for Public Comment

IAB Tech Lab released updates to the TCF Canada section string and GPP core string specifications for a 30-day public comment period. The TCF Canada section was first launched in October 2022 to help the industry comply with Canadian privacy laws. The TCF Canada section makes use of the Global Privacy Platform’s (GPP) core specifications, including the GPP string specification. The GPP core string specification defines all possible data types that may be used in any section string and/or header section. For more information about the Global Privacy Platform (GPP) and the GPP core specifications, look at the github repo

What’s in the TCF Canada Section updates?

A new field called PubRestrictions is added to the core sub-section of a TCF Canada section string to allow publishers to define publisher restrictions as allowed according to the TCF Canada Policies

A new, optional sub-section called the Disclosed Vendors Sub-section was added enabling CMPs to store the vendors that were disclosed to the end-user. This sub-section is for CMP use only and is not included when a GPP string is returned by the GPP API. 

These two additions to the TCF Canada section string specification align with what is included in the TCF Canada Policies.

What’s in the GPP String updates?

Two new data types are introduced in the GPP string specification: ArrayOfRanges and N-ArrayOfRanges(X,Y). Both data types consist of a variable number of fields and multiple data types to represent a key, a type, and a list of IDs. The difference between the two is in the data types used to represent a range of IDs. 

The ArrayOfRanges data type uses the OptimizedIntRange data type to represent a range of IDs. This is needed to support publisher restrictions for the TCF Europe section properly. It is included for backwards compatibility only and is not intended to be used in future section string specifications. This data type allows the TCF v2.2 string to be created using the existing encoding mechanism making a transition from reading a TCF v2.2 string to reading a TCF v2.2 section in a GPP string easier. 

The N-ArrayOfRanges(X,Y) data type makes use of the more efficient Fibonacci coding to represent a range of IDs. The TCF Canada string specification makes use of this data type to support publisher restrictions. Detailed updates to both specifications are available on github. These updates are open for public comment until March 13th. You can submit your comments to


Rowena Lam
Senior Director, Privacy & Data
IAB Tech Lab