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.
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
|
Consent Given | Consent Enabled (Essential Mode) |
CODE
|
Consent Given | Disabled Consent |
CODE
|
Consent Declined | Consent Enabled |
CODE
|
Consent Declined | Consent Enabled (Essential mode) |
CODE
|
Consent Declined | Disabled Consent |
CODE
|
APP Implementation
iOS
To set user consents for different vendors, use the setConsents
method on TrackingService
:
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:
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 |
Pinterest v3 (DEPRECATED use v5) | |
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 | |
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 | |
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.