Skip to main content

Consent Management Platform (CMP)

A CMP makes it easier for you to meet the stricter legal requirements governing data collection in certain parts of the world. It helps you by handling the process of receiving consent to collect user cookies. This also allows you to show ads to users living in those areas.

OW-Electron comes with a built in CMP which your app can utilize out of the box. This allows you to:

  • Check if a user needs to be informed of the CMP.
  • Show the CMP itself (if necessary) and apply any settings needed to the entire OW-Electron package.

Users are then informed about the existence of the CMP, as well as where they can find it in the app.

Installer CMP Mockup

Below is a interactive mockup, of the Overwolf installer with the CMP:

Introducing the CMP to users

The CMP is broken down into two layers:

  • First layer—displayed when the app is first installed or when run for the first time.
  • Second layer—displayed in the app's settings page where the user can manage privacy settings.

First layer

The first layer is the initial screen a user sees when they launch the app. It provides a summary of data processing activities and allows the user to quickly accept or reject consent. Its main purpose is to inform and offer a quick way to make a decision. The first layer provides:

  • An explanation as to why their data is being collected.
  • Shows that other companies may also process data.
  • Gives clear, balanced buttons like Accept All and Manage Settings.

Apps that use Overwolf's custom installer automatically handles the introduction of the CMP to users during installation. Contact us for more details. If you are not using Overwolf's custom installer, you will have to introduce the first layer as part of the App's FTUE.

important

You must show users a notice informing them about the CMP before starting the installation.

CMP Notice Template
{App Name} may display in-app ads to help provide you with a free high-quality app.
In order to deliver ads that are relevant for you, {App Name} and trusted {ad vendors}(**must link to `vendors` tab**)
store and/or access information on your computer, and process personal data such as IP address and cookies.
Click on the “Manage” button to control your consents,
or to object to the processing of your data when done on the basis of legitimate interest.
You can change your preferences at any time via the settings screen.

Purposes we use: Store and/or access information on a device,
personalized ads and content, ad and content measurement,
audience insights and product development.

Second layer

The second layer opens when the user wants to explore or adjust their settings in more detail. Typically this done using a Manage Settings or More Options button. This layer gives the user full control and transparency over how their data will be handled. The second layer provides:

  • An explanation for the specific purpose of the data use.
  • The option to turn each purpose on/off.
  • Lets users control consent for each vendor individually.
  • Describes special purposes and features.
note

The CMP and Privacy settings changes based on your the country you are in.

To access the second layer:

  1. In the installer, the User can click the Manage button when prompted.
  2. In the app, the user must be able to access a Manage button in the app's settings.

Allowing users to access the CMP

Once the user has been introduced to the CMP, they must be able to find it if they ever wish to alter its settings.

This is usually achieved by having a clearly visible section in the app's settings, called Privacy, that shows the following when clicked:

Privacy Settings

Clicking on Manage then opens the CMP window, in the same way that it was opened at the start.

CMP APIs

app.overwolf.isCMPRequired()

Returns whether or not a user is required to be informed about the CMP.

import { app } from 'electron';

await app.overwolf.isCMPRequired();

app.owElectronApp.overwolf.openAdPrivacySettingsWindow();

Opens the Ad privacy settings window. Use with CMPWindowOptions object.

CMPWindowOptions object

ParameterTypeDescription
purposesenum purposes, features, vendorsOpens the CMP type tab. Default tab is Purposes.
modalboolWhether this is a modal window. This only works when the window is a child. Default is true.
parentBrowserWindowSpecify parent window. Default is null.
centerboolShow window in the center of the screen. Default is true.
backgroundColorstringControl the CMP preloader background window.
preLoaderSpinnerColorstringControl the CMP preloader color (spinner).
widthnumberControl the CMP Window width.
heightnumberControl the CMP Window height.
xnumberControl the CMP Window left position.
ynumberControl the CMP Window top position.
languagestringThe language the CMP will be displayed in.

Supported languages

Use the following table for the language parameter:

NameKey Code
Englishen
Germande
Portuguesept
Spanishes
Frenchfr
Italianit
Polishpl

Example:

owElectronApp.overwolf.openAdPrivacySettingsWindow(
{
// Set color of the loading spinner.
preLoaderSpinnerColor: '#ff0000',

// Set the x position of the window.
x: 0,

// Set the y position of the window.
y: 0,
}
);

app.overwolf.openCMPWindow()

Opens the built-in CMP window.

Deprecated

This API is deprecated. Use app.overwolf.openAdPrivacySettingsWindow() instead.

app.overwolf.openCMPWindow({
// defaults to purposes if not defined
tab?: ['purposes' | 'features' | 'vendors']
});

Using the CMP APIs

  1. When the app launches for the first time, call app.overwolf.isCMPRequired().
  2. If true returns, display the first layer of the CMP during the App's FTUE.
  3. If false returns, let the user continue with the App's FTUE without showing the first layer.
  4. Regardless of app.overwolf.isCMPRequired(), implement a Privacy section in your app's settings.
  5. Add a Manage button which calls app.overwolf.openAdPrivacySettingsWindow(); to open the second layer of the CMP.