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 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)
You can use the Adjust SDK to record when a user changes their third-party sharing settings. Third party sharing settings are configured using the AdjustThirdPartySharing class.
To enable or disable third party sharing with the Adjust SDK, you need to instantiate an AdjustThirdPartySharing object. This object contains variables that control how third party sharing is handled by Adjust.
To instantiate a third party sharing object, create a new AdjustThirdPartySharing instance and pass the following parameters:
isEnabled (Boolean): Whether third party sharing is enabled. Pass true to enable third party sharing or false to disable third party sharing
Once you’ve instantiated your AdjustThirdPartySharing object, you can send the information to Adjust by calling the Adjust.trackThirdPartySharing method with your AdjustThirdPartySharing instance as an argument.
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 with the following parameters:
partnerName (String): The name of the partner for whom the granular option applies.
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 by passing the following arguments to the addGranularOption method:
Parameter
Description
partner_name
Use facebook to toggle LDU.
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.
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. To communicate this consent, you need to add the following granular options to your third party sharing instance for the partner google_dma.
Key
Value
Description
eea
1 (positive) | 0 (negative)
Informs Adjust whether users installing the app are within the European Economic Area. This includes EU member states, Switzerland, Norway, Iceland and Slovenia.
ad_personalization
1 (positive) | 0 (negative)
Informs Adjust whether users consented with being served personalized ads via Google Ads and/or Google Marketing Platform. This parameter also informs the npa parameter reserved for Google Marketing Platform.
ad_user_data
1 (positive) | 0 (negative)
Informs Adjust whether users consented with their advertiser ID being leveraged for attribution purposes.
Provide consent data to Amazon Ads (Digital Markets Act compliance)
To comply with the EU’s Digital Markets Act (DMA), Amazon Ads requires explicit consent to receive Adjust’s attribution requests to their APIs. To communicate this consent, you need to add the following granular options to your third party sharing instance for the partner amazon_dma.
Key
Value
Description
ad_user_data
1 (positive) | 0 (negative)
Informs Amazon Ads whether users granted consent to personal data being shared for measurement purposes or not. The consent applies to all the Core Platform Services (CPS) advertisers have specified in their Amazon Ads UI.
ad_storage
1 (positive) | 0 (negative)
Informs whether users consented to Amazon Ads with storage related to advertising
By default, Adjust shares all metrics with any partners you’ve configured in your app settings. You can use the Adjust SDK to update your third party sharing settings on a per-partner basis. To do this, call the addPartnerSharingSetting method with the following arguments:
You can use the partnerName to specify which partner you want to disable or re-enable sharing of specific metrics. Here,
If you want to enable/disable sharing metrics with all the partners that includes SAN, module and dynamic, you can pass all keyword as a partnerName.
If you want to enable/disable sharing metrics only with SAN partners, you can pass the name of the SAN partner as a partnerName.
If you want to enable/disable sharing metrics with all the partners except SAN partners, you must pass the partner ID as a partnerName.
If you want to enable/disable sharing metrics to dynamic partners, you can pass dynamic_callback as a partnerName.
You can use the key to specify which metrics you want to disable or re-enable. If you want to enable/disable sharing all metrics, you can use the all key. The full list of available metrics is available below:
ad_revenue
all
update
att_update
event
install
reattribution
reattribution_reinstall
reinstall
rejected_install
rejected_reattribution
sdk_click
sdk_info
session
subscription
uninstall
Metrics group
When you set a false value against a metric for a partner, Adjust stops sharing the metric along with all the child metrics under the group with the partner. These nested groups are:
session
install
rejected_install
reinstall
reattribution
rejected_reattribution
reattribution_reinstall
Here,
If you disable sharing of session, all its child metrics will also be disabled.
If you disable sharing of session but enable reattribution, all its child metrics except reattribution will be disabled.
If you disable sharing of session but enable install, all the child metrics of session except install will be disabled. Child metrics of install will remain enabled.
If you enable sharing of session but disable install, all its child metrics of session except install will be enabled. Child metrics of install will remain disabled.
Examples
If you want to stop sharing all metrics with a specific partner, pass the all key with a false value.
You can stop or start sharing specific metrics by calling the addPartnerSharingSetting method multiple times with different keys. For example, if you only want to share event information with a partner, you can pass:
all with a false value to disable sharing all information.
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 AdjustConfig.setUrlStrategy method following parameters:
domains (List<String>): The country or countries of data residence, or the endpoints to which you want to send SDK traffic.
useSubdomains (boolean): Whether the source should prefix a subdomain.
isDataResidency (boolean): Whether the domain should be used for data residency.
If you’re using Data Privacy settings in your Adjust dashboard, 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:
consentMeasurement (Boolean): 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.
If you need your app to be compliant with the Children’s Online Privacy Protection Act (COPPA), call the AdjustConfig.enableCoppaCompliance method before SDK initialization. This method performs the following actions:
Disables third-party sharing.
Prevents the SDK from reading device and advertising IDs (for example: gps_adid and android_id).
let environment = AdjustConfig.EnvironmentSandbox;
3
let config =newAdjustConfig(yourAppToken, environment);
4
config.enableCoppaCompliance();
5
//...
6
Adjust.initSdk(config);
Play Store Kids Apps
Method signature
publicvoidenablePlayStoreKidsCompliance()
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 Play Store Kids App, call the enablePlayStoreKidsCompliance method on your AdjustConfig instance before SDK initialization.
let environment = AdjustConfig.EnvironmentSandbox;
3
let config =newAdjustConfig(yourAppToken, environment);
4
config.enablePlayStoreKidsCompliance();
5
//...
6
Adjust.initSdk(config);
Get current third-party sharing settings
After you send AdjustThirdPartySharing settings to Adjust, the response contains the current overall settings from the Adjust backend. You can access this information by calling a getter method or configuring a change listener.
Getter method for third-party sharing settings
Call the Adjust.getThirdPartySharingSettingsWithTimeout method to return an AdjustThirdPartySharingResult object with the current third-party sharing settings.
Method signature
publicvoidgetThirdPartySharingSettingsWithTimeout(final Context context, finallong timeoutInMilliSec, final OnThirdPartySharingSettingsReadListener listener)
To get the current third-party sharing settings, call the getThirdPartySharingSettingsWithTimeout method and pass the following parameters:
context (Context): The context of the application.
timeoutInMilliSec (long): The timeout in milliseconds.
listener (OnThirdPartySharingSettingsReadListener): The listener for receiving the third-party sharing settings.
If the SDK retrieves the third-party sharing settings within the specified timeout, it provides it to your listener as an AdjustThirdPartySharingResult object. Otherwise, it passes null to your listener.
The SDK can detect third-party sharing settings changes and call a function when it detects an update. To configure your callback function, call the setOnThirdPartySharingSettingsChangedListener method with your listener as an argument.
SDK provides several methods to restrict reading and tracking of various device identifiers. You can use these methods to comply with privacy regulations.
Disable Google Advertising ID reading
Method signature
publicvoiddisableGoogleAdIdReading()
By default, the Adjust SDK reads the Google Advertising ID using Google Play Services API if available. You can configure the SDK to disable reading of the Google Advertising ID. To disable Google Advertising ID reading, call the disableGoogleAdIdReading method on your AdjustConfig instance.
let environment = AdjustConfig.EnvironmentSandbox;
3
let adjustConfig =newAdjustConfig(yourAppToken, environment);
4
adjustConfig.disableGoogleAdIdReading();
5
//...
6
Adjust.initSdk(config);
Disable App Set ID reading
Method signature
publicvoiddisableAppSetIdReading()
By default, the Adjust SDK reads the App Set ID using Google Play Services API if available. You can configure the SDK to disable reading of the App Set ID. To disable App Set ID reading, call the disableAppSetIdReading method on your AdjustConfig instance.
let environment = AdjustConfig.EnvironmentSandbox;
3
let adjustConfig =newAdjustConfig(yourAppToken, environment);
4
adjustConfig.disableAppSetIdReading();
5
//...
6
Adjust.initSdk(config);
Disable Android ID reading
Method signature
publicvoiddisableAndroidIdReading()
By default, the Adjust SDK reads the Android ID when needed. You can configure the SDK to disable reading of the Android ID. To disable Android ID reading, call the disableAndroidIdReading method on your AdjustConfig instance.
let environment = AdjustConfig.EnvironmentSandbox;
3
let adjustConfig =newAdjustConfig(yourAppToken, environment);
4
adjustConfig.disableAndroidIdReading();
5
//...
6
Adjust.initSdk(config);
Disable Facebook ID reading
Method signature
publicvoiddisableFbIdReading()
By default, the Adjust SDK reads the Facebook ID if available. You can configure the SDK to disable reading of the Facebook ID. To disable Facebook ID reading, call the disableFbIdReading method on your AdjustConfig instance.
let environment = AdjustConfig.EnvironmentSandbox;
3
let adjustConfig =newAdjustConfig(yourAppToken, environment);
4
adjustConfig.disableFbIdReading();
5
//...
6
Adjust.initSdk(config);
Disable Fire Advertising ID reading
Method signature
publicvoiddisableFireAdIdReading()
By default, the Adjust SDK reads the Fire Advertising ID if available. You can configure the SDK to disable reading of the Fire Advertising ID. To disable Fire Advertising ID reading, call the disableFireAdIdReading method on your AdjustConfig instance.
let environment = AdjustConfig.EnvironmentSandbox;
3
let adjustConfig =newAdjustConfig(yourAppToken, environment);
4
adjustConfig.disableFireAdIdReading();
5
//...
6
Adjust.initSdk(config);
Disable Device IDs reading from the plugins
Method signature
publicvoiddisableDeviceIdsFromPluginsReading()
By default, the Adjust SDK reads the device IDs using the plugins when available. You can configure the SDK to disable reading of the device IDs from the plugins. To disable device IDs reading from the plugins, call the disableDeviceIdsFromPluginsReading method on your AdjustConfig instance.
You can also configure the SDK to disable reading of all the device IDs at once. To disable reading of all the device IDs, call the disableDeviceIdsReading method on your AdjustConfig instance.