Version 3(Internal) (Latest)

Note: Version 3 does not correspond to TCF Version 3 but it is Internal Version 3 for gravito CMP, and is TCF version 2 complaint.

How it works?

Configuration

TCF CMP can be configure and customize as per your need with the help of configuration object.You can generate this configuration object using our Admin Portal or you can create your own from scratch. Following is the example of config object for TCF CMP.

window.gravitoCMPConfig = {
settings: {
type: "TCF",
useGravitoBackend: true,
catchCMPEvents: true,
sdkVersion: 2,
userIdModule: false,
backendUrl: "",
version: "bundle_latest_3",
},
core: {
cookieName: "TcString",
cookieExpiry: 2,
useTopDomain: false,
syncAfter: 1800,
settingBtnClassname: "manageSettings",
version: 2,
purposeOneTreatment: true,
publisherCountryCode: "EN",
googleTcfId: 755,
purposes: [
  {
    type: "purposes",
    id: 1,
  },
  {
    type: "stacks",
    id: 26,
  },
  {
    type: "purposes",
    id: 10,
  },
],
specialFeatures: [1, 2],
specialPurposes: [1, 2],
features: [1, 2, 3],
vendors: [2, 6, 8, 511, 11, 14, 278, 755],
nonTCFVendors: [
  {
    type: "nonTCFVendors",
    id: 2,
    name: "Amazon",
    description: "description for amazon",
    isConsentable: false,
  },
],
customPurposes: [
  {
    type: "customPurpose",
    id: 1,
    name: "Data Collection",
    description:
      "Gravito can collect data and can use it for better experience of its customers",
    descriptionLegal:
      "Gravito can collect data and can use it for better experience of its customers",
    isLegitimate: true,
  },
  {
    type: "customPurpose",
    id: 2,
    name: "Targeting",
    description: "Gravito can use data for targeting its customers",
    descriptionLegal: "Gravito can use data for targeting its customers",
    isLegitimate: false,
  },
],
publisherRestrictions: [
  {
    purposeID: 1,
    restrictionType: "REQUIRE_CONSENT",
    vendors: [6, 12],
  },
  {
    purposeID: 1,
    restrictionType: "REQUIRE_CONSENT",
    vendors: [8],
  },
  {
    purposeID: 2,
    restrictionType: "REQUIRE_CONSENT",
    vendors: [8],
  },
],
},
text: {
firstLayer: {
  title: "We need your consent to provide personalized experience",
  introductionText:
    "Gravito and its <span id='partners-link'>third-party vendors</span> collect personal data (e.g. IP address, device identifier) through the use of cookies and other technical methods which are storing and accessing data on your device to provide the best user experience and show targetted content and advertising.",
  consentableItemDescription:
    "Gravito and its partners require consent for following:",
  legalFooter:
    'By accepting, you are allowing data processing within the service, rejection can affect the user experience. Some third-party vendors might use their legitimate interest to operate, you can object that or change other settings at any time by selecting "Settings" at the bottom of the page.',
  privacyPolicyUrl: "https://www.gravito.net/#privacy-policy",
  privacyLabel: "Privacy Policy",
  actions: ["Settings", "Accept All"],
},
secondLayer: {
  title: "Gravito Setting title changed",
  introductionText:
    "Please select from the following list of purposes to help us serve you better.",
  tabLabels: ["Purposes and Characteristics", "Vendors"],
  copyTCstringTooltip: "Click here to copy TC string to clipboard",
  checkBoxLabels: {
    consent: "Consent",
    legitimateInterest: "Legitimate interest",
  },
  actions: ["Accept All", "Accept Selected", "Reject All"],
},
thirdLayer: {
  confirmationForUncheck: {
    heading: "Are you sure you want to disable?",
    paragraphs: [
      "These cookies or other technical methods are important so that we can provide you with a better and more personal user experience.",
    ],
  },
  confirmationForAcceptSelected: {
    heading: "Are you sure you want to disable?",
    paragraphs: [
      "Cookies and other technical methods are important so that we can provide you with a better and more personal user experience.",
      "Without cookies or other technical methods, our ability to develop our services based on your preferences becomes more difficult, some features may be blocked, and your user experience may deteriorate.",
    ],
  },
  actions: ["Cancel", "Yes"],
},
cookieReportLayer: {
  buttonTitle: "Cookie Report",
  heading: "Cookie Reports layer header",
  introductionText:
    "Cookies are small text files that websites can use to make the user experience more efficient. We use cookies on the website. We use cookies on this website to improve the visitor experience and to better serve you. Based on our scan, this is how the cookies that will be used based on the preference set by you.",
  beforeAcceptHeader: "Before Accepting",
  afterAcceptHeader: "After Accepting",
  nameHeader: "Name",
  domainHeader: "Domain",
  descriptionHeader: "Description",
  cookieTypeHeader: "Cookie Type",
  expiryHeader: "Expiry in days",
  httpOnlyHeader: "Http Only",
  noCookieDataMessage: "No scan results available",
  noCookieDataBeforeAcceptingMsg:
    "No cookies were found before Accepting the consents on this domain.",
  noCookieDataAfterAcceptingMsg:
    "No cookies were found after Accepting the consents on this domain ",
},
commonTerms: {
  purposes: "Purposes",
  consent: "Consent",
  legitimateInterest: "Legitimate interest",
  specialPurposes: "Special Purposes",
  specialFeatures: "Special Features",
  features: "Features",
  policyURl: "Policy Url",
  nonTCFVendors: "Non TCF Vendors",
  vendors: "Vendor",
  customPurposes: "Custom Purposes",
  cookieMaxAge: "Cookie max age (seconds)",
  disclouserDetails: "Details",
  disclouserFetchingError: "Unable to get Json data",
  disclouserHeaderIdentifier: "Identifier",
  disclouserHeaderDomain: "Domain",
  disclouserHeaderType: "Type",
  disclosureHeaderMaxAge: "Max Age(s)",
  disclosureHeaderPurpose: "Purposes",
  cookieRefresh: "Cookie refresh",
  usesCookies: "Uses cookies",
  usesNonCookieAccess: "Uses non cookie access",
  yes: "Yes",
  no: "No",
  seconds: "seconds",
  days: "days",
  alertMessageForCopiedTcString: "CMP Settings Copied",
},
},
style: {
logoUrl: "https://cdn.gravito.net/logos/gravito_logo_white_background.png",
primaryColor: "orange",
secondaryColor: "#666",
fonts: [
  {
    url: "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjxAwXjeu.woff2",
    unicodeRange:
      "U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;",
  },
  {
    url: "https://fonts.gstatic.com/s/lato/v17/S6uyw4BMUTPHjx4wXg.woff2",
    unicodeRange:
      "U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;",
  },
],
customCSS: "",
consentInputType: "checkbox",
useAccordionForPurpose: true,
layoutType: "2-tabs",
disableConfirmationModal: true,
showCopyTcStringButton: true,
},
};

Deployment

TCF CMP’s can be deployed with the help of SDK V2. Add your config object to window.gravitoCMPConifg variable.

window.gravitoCMPConfig = gravitoCMPConfig;

Standalone TCF CMP.

To add Standalone TCF CMP add following script in your website below your gravitoCMPConfig object.

var gravitoSDKTag = document.createElement("script");
gravitoSDKTag.src = "https://cdn.gravito.net/sdkv2/latest/sdk.js";
gravitoSDKTag.onload = function () {
  window.gravito.init("tcfCMP");
};
document.body.appendChild(gravitoSDKTag);

TCF CMP with backend.

To add TCF CMP with backend add following values to settings section of your config object

window.gravitoCMPConfig = {
  settings: {
    type: "TCF",
    useGravitoBackend: true,
    backendUrl: "https://gto.yourDomainName", // if left empty url will be generated from hostname
    version: "bundle_latest_3",
    sdkVersion: 2,
  },
  //other sections
};

And add following script in your website below your gravitoCMPConfig object.

var gravitoSDKTag = document.createElement("script");
gravitoSDKTag.src = "https://cdn.gravito.net/sdkv2/latest/sdk.js";
gravitoSDKTag.onload = function () {
  window.gravito.init("tcfCMP", "firstParty");
};
document.body.appendChild(gravitoSDKTag);

Migrating to TCF CMP Version 3

  1. Add settings section your config Object with following properties.
var gravitoCMPConfig = {
  settings: {
    type: "TCF",
    useGravitoBackend: false, // Set this flag to true if you want to use gravito backend with TCF CMP

    backendUrl: "", // This will be the URL of your gravito firstparty domain for backend support EX: https://gto.yourdomain.net. if left empty it will be evaluated from your hosted domain.

    version: "bundle_latest_3", // This will be the version of your TCFCMP. bundle_latest_3 is recommended

    sdkVersion: 2, // Don;t change this value ,

    catchCMPEvents: false, // Set this value to true if you want to capture CMP events and generate report on https://admin.gravito.net dashborad.
  },
  // other properties
};
  1. TCF CMP Version 3 should be deployed with gravito SDK version 2.Change your deployment script as follows.
window.gravitoCMPConfig = gravitoCMPConfig; // Replace this with your config object;var gravitoSDKTag = document.createElement("script");
gravitoSDKTag.src = "https://cdn.gravito.net/sdkv2/latest/sdk.js";
gravitoSDKTag.onload = function () {
  window.gravito.init("tcfCMP"); // For Standalone TCF CMP
// window.gravito.init("tcfCMP",firstParty); // For TCF CMP with backend
};
document.body.appendChild(gravitoSDKTag);
  1. TCF CMP Version 3 adds some special feature such as providing your custom html for first layer of UI, Configuring necessary consents. To use any of them please contact gravito support.
  2. Test your implementation of TCF CMP Version 3 thoroughly to ensure that all features are working as expected and that there are no issues with backend integration.
  3. Once you have confirmed that everything is working as expected, you can proceed with deploying TCF CMP Version 3 on your production website.

Note Please note that this is a general guide and your specific implementation may require additional steps. It is always recommended to test your implementation thoroughly before deploying it to production. If you have any questions or issues during the migration process, please reach out to Gravito support for assistance.

Documentation

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...

Register

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...

Support

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...

Microprofile

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...

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

Playbooks

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...