Compressed Custom IDs Format

In order to save storage and cookie size, the CMP will store the consent information in a propriatary format. This format is based on the bit-encoding logic of the IAB GPP Consent String (see https://github.com/InteractiveAdvertisingBureau/Global-Privacy-Platform/blob/main/Core/Consent%20String%20Specification.md#section-encoding ) but uses a different field order.

Note: In order to distinguish the Compressed Custom IDs Format from “normal” Consent Strings or tcStrings, the encoded string will always start with a lowercase a.

Version 1

A Compressed Custom IDs string of version 1 will use the following field order:

FieldData TypeDescription
(Prefix, ignore this field)Char (6 bit)Always “a”
VersionInt (6 bit)Version of the string format. Should be 2.
CreatedDate (36 bit)Date when the string was created/changed.
User choiceBool (1 bit)1= A user choice exists (user clicked on accept/reject/save)
0=The string is based on indirect behavior (CMP was shown, legitimate interest is established but user did not yet choose)
Purposes allowedFibo RangeRange of custom purpose IDs that are allowed
Systemvendors allowedFibo RangeRange of system vendor IDs that are allowed
Customvendors allowedFibo RangeRange of custom vendor IDs that are allowed
PausedBool (1 bit)

1=User’s choice shall be paused (don’t show the layer although no choice was made yet)

0=Normal behavior

Paused untilDate (36 bit)If Paused = 1, then will represent the date until which the user should not be presented with a choice

 

We do our best to keep this purely informative documentation up to date. However, if you notice that any of these guides need a little touch-up, let us know!