Set up privacy features

The Adjust SDK contains features that you can use to handle user privacy in your app.

Send erasure request

Method signature
public static void gdprForgetMe();

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)

Third-party sharing for specific users

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.

Instantiate an AdjustThirdPartySharing object

Method signature
public AdjustThirdPartySharing(bool? isEnabled);

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 (bool): Whether third party sharing is enabled. Pass true to enable third party sharing or false to disable third party sharing
AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(true);

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.

AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(true);

Send granular information

Method signature
public void addGranularOption(string partnerName, string key, string value);

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.
  • key (string): The option key.
  • value (string): The option value.

The following partners are available:

AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(null);
adjustThirdPartySharing.addGranularOption("PartnerA", "key", "value");

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 by passing arguments to the addGranularOption method.

AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(null);
adjustThirdPartySharing.addGranularOption("facebook", "data_processing_options_country", "1");
adjustThirdPartySharing.addGranularOption("facebook", "data_processing_options_state", "1000");

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.

AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(null);
adjustThirdPartySharing.addGranularOption("google_dma", "eea", "1");
adjustThirdPartySharing.addGranularOption("google_dma", "ad_personalization", "1");
adjustThirdPartySharing.addGranularOption("google_dma", "ad_user_data", "1");

Update partner sharing settings

Method signature
void addPartnerSharingSetting(String partnerName, String key, bool value)

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 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
  • attribution
  • update
  • att_update
  • cost_update
  • event
  • install
  • reattribution
  • reattribution_reinstall
  • reinstall
  • rejected_install
  • rejected_reattribution
  • sdk_click
  • sdk_info
  • session
  • subscription
  • uninstall

When you set a false value against a metric for a partner, Adjust stops sharing the metric with the partner.


If you want to stop sharing all metrics with a specific partner, pass the all key with a false value.

AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(null);
adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", false);

To re-enable sharing, pass the all key with a true value.

AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(null);
adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", true);

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.
  • event with a true value to enable event sharing
AdjustThirdPartySharing adjustThirdPartySharing = new AdjustThirdPartySharing(null);
adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "all", false);
adjustThirdPartySharing.addPartnerSharingSetting("PartnerA", "event", true);

Disable third-party sharing

Method signature
public static void disableThirdPartySharing();

To disable third-party sharing for all users, call the disableThirdPartySharing method. When Adjust’s servers receive this information, Adjust stops sharing the user’s data with third parties. The Adjust SDK continues to work as expected.


Set URL strategy

Method signature
public void setUrlStrategy(String urlStrategy);

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 AdjustConfig instance with the following parameter:

  • urlStrategy (string): The country of data residence or endpoint to which you want to send SDK traffic.
AdjustConfig adjustConfig = new AdjustConfig("{YourAppToken}", AdjustEnvironment.Sandbox);
Method signature
public static void trackMeasurementConsent(bool measurementConsent);

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 (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.