The Adjust SDK contains features that you can use to handle user privacy in your app.
Send right to be forgotten request
The EU’s General Data Protection Regulation (GDPR) and similar privacy laws worldwide (CCPA, LGPD, etc.) grant data subjects comprehensive rights when it comes to the processing of their personal data. These rights include, among others, the right to erasure (see Art. 17 GDPR)(1). As a data processor, Adjust is obliged to support you (the data controller) in the processing of such requests from your (app) users.
You can send the user's erasure request to Adjust by calling the Adjust2dx::gdprForgetMe()
method. Once Adjust has been notified:
- Adjust will permanently delete all of the user’s historical personal data from its internal systems and database.
- Adjust will no longer receive data from this user/device via the Adjust SDK.(2)
Set up apps for children
If your app targets the "Kids" category, you MUST prevent your app from collecting device identifiers. To do this:
(Android only): Remove the
com.google.android.gms.permission.AD_ID
permission by adding the following to yourAndroidManifest.xml
file:(iOS only): Ensure that you unlink the
AdSupport.framework
andAppTrackingTransparency.framework
frameworks from your project.
Configure COPPA compliance
If your app falls under a category that needs to be compliant with the Children's Online Privacy Protection Act (COPPA), you MUST call the enableCoppaCompliance
method on your AdjustConfig2dx
instance. Calling this method does the following:
- Disables third-party sharing before the user launches their first
session
. - Prevents the SDK from reading device and advertising IDs (for example:
gps_adid
andandroid_id
).
Configure Play Store Kids Apps compliance (Android only)
If your app targets users under the age of 13, and the install region isn't the USA, you need to mark it as a Kids App. This prevents the SDK from reading device and advertising IDs (for example: gps_adid
and android_id
).
To mark your app as a Kids App, call the enablePlayStoreKidsCompliance
method on your AdjustConfig2dx
instance.
Configure third party sharing options
You can use the Adjust SDK to record when a user changes their third-party sharing settings by instantiating an AdjustThirdPartySharing2dx
object and passing it to Adjust2dx::trackThirdPartySharing
.
Instantiate a third party sharing object
To instantiate a third party sharing object, create a new AdjustThirdPartySharing2dx
instance and pass the following parameters:
isEnabled
(bool
)Whether third party sharing is enabled.
- Pass
true
to enable third party sharing. - Pass
false
to disable third party sharing.
- Pass
Once you've instantiated your AdjustThirdPartySharing2dx
object, send the information to Adjust by calling the Adjust2dx::trackThirdPartySharing
method with your AdjustThirdPartySharing2dx
instance as an argument.
Configure per-partner sharing settings
If you want to share metrics only with specific partners, or you want to configure which metrics to share with specific partners, you MUST do the following:
- Instantiate your
AdjustThirdPartySharing2dx
object with atrue
argument. - Customize what data you share on a per-partner basis by calling the
addPartnerSharingSetting
method on yourAdjustThirdPartySharing2dx
instance with the following arguments:
partnerName
(std::string
)The ID of the partner.Download the full list of available partners.
key
(std::string
)The metric you want to update.
value
(bool
)Whether to share the metric with the specified spartner.
- Pass
false
to stop sharing the metric. - Pass
true
to resume sharing the metric.
- Pass
To share only specific metrics with a partner, you MUST:
- Set
all
metrics tofalse
. - Set each metric you want to share to
true
.
The following metrics can be controlled using this method:
ad_revenue
all
attribution
update
att_update
cost_update
event
install
reattribution
reattribution_reinstall
reinstall
rejected_install
rejected_reattribution
sdk_click
sdk_info
session
subscription
uninstall
Examples
If you want to stop sharing all metrics with a specific partner, pass the all
key with a false
value.
To re-enable sharing, pass the all
key with a true
value.
To only share event data with a specific partner:
- Pass
all
with afalse
value to stop sharing all metrics. - Pass
event
with atrue
value to start sharing events.
Add per-partner granular information
You can attach granular information when a user updates their third party sharing preferences. Use this information to communicate more detail about a user's decision. To do this, call the addGranularOption
method on your AdjustThirdPartySharing2dx
instance with the following parameters:
partnerName
(std::string
)The ID of the partner.Download the full list of available partners
key
(std::string
)The key of the granular information.
value
(std::string
)The value of the granular information.
Manage Facebook Limited Data Use
Facebook provides a feature called Limited Data Use (LDU) to comply with the California Consumer Privacy Act (CCPA). This feature enables you to notify Facebook when a California-based user is opted out of the sale of data. You can also use it if you want to opt all users out by default.
You can update the Facebook LDU status using the following keys:
data_processing_options_country
The country in which the user is located.
0
: Request that Facebook use geolocation.1
: United States of America.
data_processing_options_state
Notifies Facebook in which state the user is located.
0
: Request that Facebook use geolocation.1000
: California.1001
: Colorado.1002
: Connecticut.
Provide consent data to Google (Digital Markets Act compliance)
To comply with the EU's Digital Markets Act (DMA), Google Ads and the Google Marketing Platform require explicit consent to receive Adjust’s attribution requests to their APIs. You MUST communicate the user's consent choices if:
- You have users in the European Economic Area (EEA). This includes EU member states, Switzerland, Norway, Iceland and Slovenia.
- You use Google Ads or Google Marketing Platform.
To communicate this consent, add the following granular options to your third party sharing instance for the partner google_dma
:
eea
(1
or0
)Informs Adjust whether users installing the app are within the European Economic Area (
1
) or not (0
).ad_personalization
(1
or0
)Informs Adjust whether users consented with being served personalized ads via Google Ads and/or Google Marketing Platform (
1
) or not (0
).This parameter also informs the
npa
parameter reserved for Google Marketing Platform.ad_user_data
(1
or0
)Informs Adjust whether users consented with their advertiser ID being leveraged for attribution purposes
If your user isn't in the EEA, you MUST set both ad_personalization
and ad_user_data
to 1
. If these values aren't set, Google won't claim attribution and will return an error.
Set URL strategy
The URL strategy feature allows you to set either:
- The country in which Adjust stores your data (data residency).
- The endpoint to which the Adjust SDK sends traffic (URL strategy).
This is useful if you're operating in a country with strict privacy requirements. When you set your URL strategy, Adjust stores data in the selected data residency region or sends traffic to the chosen domain.
To set your country of data residency, call the setUrlStrategy
method on your AdjustConfig2dx
instance with the following parameter:
urlStrategyDomains
(std::vector
)The endpoints to which you want to send SDK traffic.
shouldUseSubdomains
(bool
)Whether the source should prefix a subdomain.
isDataResidency
(bool
)Whether the domain should be used for data residency.
See the table below for a list of strategies.
URL strategy | Main and fallback domain | Use sub domains | Is Data Residency |
---|---|---|---|
EU data residency | "eu.adjust.com" | true | true |
Turkish data residency | "tr.adjust.com" | true | true |
US data residency | "us.adjust.com" | true | true |
China global URL strategy | "adjust.world" , "adjust.com" | true | false |
China URL strategy | "adjust.cn" , "adjust.com" | true | false |
China only URL strategy | "adjust.cn" | true | false |
India URL strategy | "adjust.net.in" , "adjust.com" | true | false |
Toggle consent measurement per user
If you've enabled Data Privacy settings in Adjust, you need to set up the Adjust SDK to work with them. This includes settings such as consent expiry period and user data retention period.
To toggle this feature, call the trackMeasurementConsent
method with the following argument:
measurementConsent
(bool
)Whether consent measurement is enabled (
true
) or not (false
).
When enabled, the SDK communicates the data privacy settings to Adjust's servers. Adjust's servers then applies your data privacy rules to the user. The Adjust SDK continues to work as expected.