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:
Field | Data Type | Description |
(Prefix, ignore this field) | Char (6 bit) | Always "a" |
Version | Int (6 bit) | Version of the string format. Should be 2. |
Created | Date (36 bit) | Date when the string was created/changed. |
User choice | Bool (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 allowed | Fibo Range | Range of custom purpose IDs that are allowed |
Systemvendors allowed | Fibo Range | Range of system vendor IDs that are allowed |
Customvendors allowed | Fibo Range | Range of custom vendor IDs that are allowed |
Paused | Bool (1 bit) |
1=User's choice shall be paused (don't show the layer although no choice was made yet) 0=Normal behavior |
Paused until | Date (36 bit) | If Paused = 1, then will represent the date until which the user should not be presented with a choice |