Microprofile which relies on Gravito Firstparty API v3 is in Beta testing

Gravito Microprofile is sort of a synonym to first party API. First party API was initially developed as simple microservice to help with setting first party cookie to hold CMP settings and consents. As more advanced requirements started to surface we thought that calling the service “microprofile” would be reasonable.

Micro means simple, right?

Wish it was. However, the general idea is pretty simple. We store various types of attributes to a cookie that is set from server-side by API served from sub-domain associated with your domain. Two reasons why:

1) server-side cookie lasts longer than cookies set by javascript running on client
2) API operating on your domain avoids the blocking of third party cookies (now and the future)

How does it work?

First learn about setting up First Party API, after registering your domain(s) you are ready to roll: (Example provided based on Version 3)

(function () { 
  var xhr = new XMLHttpRequest(); 
  var params = { 
  "e": {
    "matchOnId": "dem05", 
    "id1": "xyz", 
  "k": [{
          "v": "2700108e-b965-4d98-b214-274b0701725a" 
          "v": "cb115185-2a25-4587-8ff5-e3fe7cc7a25b" 
  "c": [
     { "i":"t", 
       "s": false 
     { "i":"m", 
       "s": false 
xhr.open("POST", 'https://gto.<yourdomain>/api/v3/firstparty', true); 
xhr.withCredentials = true; 
xhr.onreadystatechange = function(response) { 
  if(xhr.readyState == XMLHttpRequest.DONE && xhr.status == 200) { 
      console.log("POST response : " + response.target.response); 


Looks heavy? Let’s open the structure of “params” a bit. It consists of three main branches:

“e” stands for events, that is any key/value pairs that you might need to store into microprofile. Only restricted key name is “matchOnId” which we use to connect microprofiles to each other when there is e.g. hash of user email available, ie. user has logged in and microprofile can be associated to a person. Further on matchOnId has two reserved values: 1) “disconnect” allows you to disassociate microprofile from login but keep the history and 2) “reset” performs disconnect and wipes the microprofile to default stage.

“k” stands for keyring, allowing any key/value pairs stored inside keyring. Functionality is somewhat the same as with events but adding/modifying a key is recorded with timestamp, that allows to link the consents collected to these keys (and whether the keys can be used for whatever purpose they were recorded). Keyring (“k”) has fixed structure:

"i":"keyId", -> string
"k":"keyName", -> string
"v": "keyValue" -> string 

When sending requests to API you will notice that keyring items will have timestamp “t” set by the API, containing timestamp in epochtime.

“c” stands for consents, that is to collect the consents received from CMP. Again the behavior follows the key/value pairs approach but with fixed structure:

"i":"consentId", -> string
"c":"consentName", -> string
"s":  status as true or false -> bool

Same as with keyring, the timestamp of adding/modifying particular consentId is recorded and returned in API responses. This allows to monitor that when consents are changed and how those turning points connect to collected IDs in keyring (allowing or preventing further activities within integrated systems).


Getting started

Frequently Asked Questions

Frequently Asked Questions (FAQ) - Gravito Intelligent CMP and TCF 2.2 CMP Banner. 1. What is Gravito? Gravito is a Consent Banner provider for websites. It offers both TCF (Transparency & Consent Framework 2.2 ) certified Consent Management Platforms (CMPs) for...


Before you can start using Gravito features you will need to register yourself in the Gravito portal. Head to https://admin.gravito.net and enter your email you want to use with Gravito: After submission you will receive an email with PIN code, enter that to...


All support cases and issues are handled by the support team of Gravito or by technology partners. In case you need support please send us email at support<at>gravito.net Be part of our community? Join us on our Discord Channel here

Release Notes

Stay up to date with our latest releases! Gravito's release notes are generally divided as different category as development happens constantly under all categories. You can jump to specific release notes here Gravito Intelligent CMP Gravito TCF 2.2 CMP Gravito SDK...

Gravito Intelligent CMP

Getting Started

Gravito Intelligent CMP is a consent management solution that helps to collect consent for data collection, analytics, targeting, personalization and whatever your business needs to fulfil legal or regulatory terms. 💡 NoteHave you registered with Gravito yet? Please...

Setup and Design

Gravito Intelligent CMP Setup can be done using Gravito CMP Configurator on Gravito's Admin Portal. Go to CMP>>Gravito CMP configurator. You can choose the language of your choice when creating your own CMP Config Do you want to try out how our configuration is? You...

GTM Template

Gravito CMP now can be deployed using GTM Template. In order to use this feature, while creating the configuration for Gravito CMP you will have to check the "Is GTM?" flag in the basic section of the configuration wizard. If the config is created using the "is GTM? "...

Release Notes

Gravito Intelligent CMP release notes. Version 4.0.7 Multiple Language Support: Light CMP now supports multiple languages within the user interface, offering a more inclusive experience for users worldwide. Users can access a language selection dropdown within the CMP...

Advanced Features

Here are the links to the advanced features supported by Gravito Intelligent CMP Customization Advanced Customization Options Latest Gravito Configuration example (json) Headless CMP using Gravito Integrations How to integrate events emitted by the Gravito Intelligent...

Gravito TCF 2.2 CMP

Getting Started

Gravito CMP provides a TCF 2.2 compliant consent management platform. With Gravito you can customize the look and feel of your CMP so that it blends good with your website. Gravito TCF 2.2 CMP is also listed as one of the Google Certified TCF CMP's To get started you...

Setup and Design

Gravito TCF 2.2 CMP Setup can be done using TCF CMP Configurator on Gravito’s Admin Portal. Go to CMP>>TCF configurator.

Mobile apps

TCF CMP implementation on mobile apps can take two different strategies: You have TCF CMP already configured and set up for your website or you are planning to have such AND your application is made with webviews (= content is displayed on webviews and 3rd party...

Release Notes

Version 4.0.9 Release Notes ( Release date 08/02/2024) New Features: Added support for GCMV2: Gravito TCF CMP now includes support for GCMV2. Read more Bug Fixes: Fixed an issue with the IAB CMP validator: A bug has been resolved where the CMP was not being correctly...

Advanced features

Here are few of the advanced features of Gravito TCF 2.2 CMP Integration How to integrate with events emitted by Gravito TCF 2.2 CMP? Gravito CMP Integration with Google Advertising Products - NEW Customization Latest Gravito TCF 2.2 CMP Configuraton example...

Gravito SDK

Getting Started

The Gravito SDK ( Latest Version 2) is a tool that allows developers to communicate with the Gravito APIs and deploy both light CMP and TCF CMP. It includes functions for interacting with the Gravito first party backend solution and is used by all major services...

Release Notes

Release Notes (V 2.0.12) (08/02/2024) New Features: SDK now emits separate events when the user has clicked "reject all" previously. This enhancement provides more granular insights into user interactions, allowing for better tracking and analysis of user behavior....

Version 2 (Latest)

Using SDK V2 To use Gravito's SDK you should have the Gravito config added to your site. Make sure you also have settings section added inside your config. You can get the config from the Gravito Admin Portal 👉Looking for an older version of Gravito SDK? You can find...

Gravito API

Getting Started

Gravito API is a powerful tool when it comes to collecting consent statistics while allowing you to connect multiple ids that you use in your setup and give it more persistence. One of the key features of the Gravito API, the Gravito ID Connector is enabled using the...

Setup and Validation

First Party domain means the domain your website operates. e.g. website.com. To avoid third party cookies being blocked (occurs already on many browsers) you can configure the CMP to set the cookies under first party domain or you can use Gravito's first party API to...

Version 3 (Latest)

First party API / Microprofile As discussed in the previous version 2, most common use for first party microprofile is to store CMP consents and other metadata on it. In version 3 we have added a whole new set of features to manage observations, consents and key rings...

Version 2

First party API / Microprofile Most common use for first party microprofile is to store CMP consents and other metadata on it. That configuration is automatically generated by CMP configurator, just select “with backend” option when generating the deployment script...

Other  Features

Cookie Scanner

Cookie Scanner Gravito allows you to scan your web pages for cookies dropped. Gravito classifies cookies on your webpage as ones dropped before accepting the consent and ones after accepting the consent. This way there is a clear understanding of what is happening on...

GVL Comparison

Gravito allows you to compare global vendor list versions. You can get specific details like which vendors were updated, added as well as deleted from the comparison tool You can find the GVL comparison tool under the Features -> GVL Updates menu You can choose the...

Prebid User Id Module

Gravito has a user module in prebid js, customers now can use Gravito's first party service and prebid js usermodule to use a persistent first party id in prebid's bit stream. More details in the each section below. Getting Started Setup and Validation Version 1...

Try it out


Quick guides to get started with various deployment scenarios. Deploy basic consent management banner and wire the tags on it Register/login to https://admin.gravito.net Navigate to CMP > Gravito CMP configurator > New Configuration Create configuration, you...