Skip to main content
Skip table of contents

App Tracking: Consent Handling

This article outlines how to handle consent when tracking with the JENTIS SDK. Expertise in app development and access to your JENTIS Platform will be needed.

General

JENTIS supports consent handling to ensure compliance with data privacy regulations. To track and send data to various endpoints, you must obtain user consent for each vendor (e.g., Google, Meta, TikTok, etc.). This means that, when configuring each one of those vendors, you should define exactly how to treat and send your data based on your users' consent choice.

We recommend using a Consent Management Platform (CMP) in your app environment to do this. When a user interacts with your CMP, you must pass the current consent status to the JENTIS SDK. This process should be repeated each time consent is changed in the app.

If you are not using a CMP to track data in your app, ensure consent is set appropriately in collaboration with your Data Protection Officer (DPO).

In this article, you’ll learn how to correctly configure and handle your app tracking based on user consent.

Setting User Consents

Vendor ID

For the setConsents function, you need to obtain the internal JENTIS vendor_id from your JENTIS Platform. You can find this information under Legal Hub > Vendors. You will see a field labeled Id by clicking on the respective vendor connected to your tool (e.g., Google Ads). This is the vendor_id you must use as the key in the JSON object passed to the function.

app-tracking-consent-1.png

Consent Status

We have already received feedback on how to improve this in the JENTIS APP SDK to make it less dependent on the JENTIS Platform configuration. We are actively working on implementing these improvements for the next product release.

After the user interacts with your consent bar, you must set the appropriate consent status for the corresponding vendor and the configured Consent Settings in the JENTIS Platform. The following table guides setting the consent status correctly:

CMP Decision

JENTIS Platform Consent Settings

setConsents - Consent Status

Consent Given

Consent Enabled

CODE
.allow || "allow"

Consent Given

Consent Enabled (Essential Mode)

CODE
.allow || "allow"

Consent Given

Disabled Consent

CODE
.allow || "allow"

Consent Declined

Consent Enabled

CODE
.deny || "deny"

Consent Declined

Consent Enabled (Essential mode)

CODE
.ncm || "ncm"

Consent Declined

Disabled Consent

CODE
.allow || "allow"

APP Implementation

iOS

To set user consents for different vendors, use the setConsents method on TrackingService:

CODE
TrackingService.shared.setConsents(
    vendorConsents: [
        "google_analytics_4_server-side": .allow,
        "facebook": .deny,
        "awin": .ncm
    ]
)

Android

To set user consents for various vendors, utilize the setVendors method on the JentisTrackService instance:

CODE
val vendorConsents = mapOf(
    "google_analytics_4_server-side" to "allow",
    "facebook" to "deny",
    "awin" to "ncm"
)

JentisTrackService.getInstance().setVendors(
    vendorConsents = vendorConsents
)

Example Vendor ID List

Name

Plugin ID

Hotjar

hotjar

Cleverpush

cleverpush

Flowbox

flowbox

Netzeffekt

netzeffekt

Xandr

xandr

Leadfeeder

leadfeeder

Webmecanik

webmecanik

Spoteffects

spoteffects

AddThis

addthis

Getsitecontrol

getsitecontrol

Connects

connects

UserReport

userreport

iAdvize

iadvize

Intelliad

intelliad

Dognet

dognet

Digitalberatung

digitalberatung

Mouseflow

mouseflow

Microsoft Clarity

microsoftclarity

Möbel.de

moebelde

Raw Data Pixel

raw_data_pixel

ChannelPilot

channelpilot

iPROM

iprommarketing

Content Garden

contentgarden

Mapp Analytics

analyticsmapp

Profity Conversion Tracking

profity

Glami

glami

Partnerize

partnerize

retailAds

retailads

Snapchat

snapchat

HubSpot

hubspot

Teads

teads

Attraqt

attraqt

Möbel24.ch

moebel24_ch

Möbel24.at

moebel24_at

apNet

apnet

Google Optimize

googleopt

LinkedIn

linkedin

Pinterest v3 (DEPRECATED use v5)

pinterest

Dynamic Yield

dynamic_yield

SharpSpring

sharpspring

INFOnline Measurement

infonline_measurement_base

FAVI

favi

TUNE

tune_dev_hub

Adobe Analytics

adobeanalytics

The Trade Desk

the_trade_desk

Billiger.de / Solute.de

solute_de

Ladenzeile

ladenzeile

etracker

etracker

Outbrain

outbrain

AdForm DMP Direct Pixel

adform_dmp

Criteo

criteo

Daisycon

daisycon

X

twitter

JENTIS DIY Tracking Tool

jentis_diy_tracking_tool

Crimtan

crimtan

Adobe Experience Platform Edge Network

adobe_experience_platform_edge_network

Webgains

webgains

Amplitude

amplitude

Tealeaf

tealeaf

Tealium Collect

tealium_collect

Emarsys

emarsys

Podscribe

podscribe

Google Analytics

googleanalytics

TradeTracker

tradetracker

Kameleoon

kameleoon

Kelkoo

kelkoo

Sklik

sklik

Contentsquare

contentsquare

Econda

econda

META Pixel & CAPI

facebook

Exactag

exactag

Matomo

matomo

Adtriba

adtriba

TraDeers

tradeers

CJ-Affiliate

cj-affiliate

Klaviyo

klaviyo

Constructor.io

constructor_io

Justuno

justuno

Algolia

algolia

Awin

awin

Tiktok

tiktok

ABlyft

ablyft

Coveo

coveo

Rokt

rokt

CrossEngage

crossengage

Piwik PRO

piwik_pro

Piano Analytics

piano_analytics

Reddit Pixel

reddit_pixel

Linkster

linkster

RTB

rtb

Synthetic Users

enhanced_raw_data

AdForm AdServer

adformdmp

Google Analytics 4

ga4

Amazon Advertising

amazon_advertising

Taboola

taboola

Pinterest v5

pinterest_v5

Microsoft Advertising

bing

Adtraction

adtraction

Easymarketing

easymarketing

Belboon

belboon

2Performant

2performant

Trbo

trbo

Google Analytics 4 Server-side

google_analytics_4_server-side

Behamics

behamics

Google Ads

adwords

Google Ads Dynamic Remarketing

gadr

Google Floodlight

floodlight

Datatrics

datatrics

searchHub

searchhub

Read next

App Tracking: Push data to JENTIS


If you have any questions or suggestions, contact us through our Helpdesk.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.