Tracking consent

Manage tracking consent using the MAUI SDK.

Depending on local data access regulations, access to data on a user's device may require explicit consent. To follow such requirements, Engagement allows you to enable the standalone "tracking consent" feature. This feature activates the tracking consent option for in-app messages, in-app content blocks, and mobile push notifications.

📘

Refer to Configuration of the tracking consent categories in the Engagement Consent Management documentation for more information about the tracking consent feature.

How the SDK manages tracking consent

If the tracking consent feature is enabled, the Engagement platform sents a has_tracking_consent attribute along with push notifications, in-app messages, and in-app content blocks data. The SDK tracks events according to the boolean value of this attribute.

If the tracking consent feature is disabled, the has_tracking_consent attribute is not included in push notifications, in-app messages, and in-app content blocks data. In this case, the SDK considers has_tracking_consent to be true and tracks event accordingly.

In case of clicked events, it is possible to override the value of has_tracking_consent and force tracking by including the query parameter xnpe_force_track with the value true in the action URL.

How the SDK tracks events depending on tracking consent

Push notification delivered

The SDK tracks push notification delivery by calling BloomreachSDK.TrackDeliveredPush or BloomreachSDK.HandleRemoteMessage. These methods track a delivered event only if one of the following is true:

  • The tracking consent feature is disabled.
  • The tracking consent feature is enabled and has_tracking_consent is true.

If you are invoking the BloomreachSDK.TrackDeliveredPush method manually and want to ignore tracking consent, you may use BloomreachSDK.TrackDeliveredPushWithoutTrackingConsent instead. This method will track the event regardless of tracking consent.

Push notification clicked

The SDK tracks push notification clicks by calling BloomreachSDK.TrackClickedPush. This method tracks a clicked event only if one of the following is true:

  • The tracking consent feature is disabled.
  • The tracking consent feature is enabled and has_tracking_consent is true.
  • The action URL contains the query parameter xnpe_force_track with the value true (overriding has_tracking_consent).

👍

An event that is tracked because xnpe_force_track (forced tracking) is enabled will contain an additional property tracking_forced with value true.

If you are invoking the BloomreachSDK.TrackClickedPush method manually and you want to ignore tracking consent, you may use BloomreachSDK.TrackClickedPushWithoutTrackingConsent instead.

These methods will track the event regardless of tracking consent.

In-app message clicked

The SDK tracks in-app message clicks by calling BloomreachSDK.TrackInAppMessageClick. This method tracks a clicked event only if one of the following is true:

  • The tracking consent feature is disabled.
  • The tracking consent feature is enabled and has_tracking_consent is true.
  • The action URL contains the query parameter xnpe_force_track with the value true (overriding has_tracking_consent).

👍

An event that is tracked because xnpe_force_track (forced tracking) is enabled will contain an additional property tracking_forced with value true.

If you are invoking the BloomreachSDK.TrackInAppMessageClick method manually and want to ignore tracking consent, you may use BloomreachSDK.TrackInAppMessageClickWithoutTrackingConsent instead. This method will track the event regardless of tracking consent.

In-app message closed

The SDK tracks in-app message closed events by calling BloomreachSDK.TrackInAppMessageClose. This method tracks a closed event only if one of the following is true:

  • The tracking consent feature is disabled.
  • The tracking consent feature is enabled and has_tracking_consent is true.

If you are invoking the BloomreachSDK.TrackInAppMessageClose method manually and you want to ignore tracking consent, you may use BloomreachSDK.TrackInAppMessageCloseWithoutTrackingConsent instead. This method will track the event regardless of tracking consent.

App Inbox message opened

The SDK tracks app inbox message opening by calling BloomreachSDK.TrackAppInboxOpened. This method tracks an app inbox message open event only if one of the following is true:

  • The tracking consent feature is disabled.
  • The tracking consent feature is enabled and has_tracking_consent is true.
  • The App Inbox is loaded and the given MessageItem is listed in the App Inbox.

If you are invoking the BloomreachSDK.TrackAppInboxOpened method manually and you want to ignore tracking consent, you may use BloomreachSDK.TrackAppInboxOpenedWithoutTrackingConsent instead. This method will track the event regardless of tracking consent.

App Inbox action clicked

The SDK tracks app inbox action clicks by calling BloomreachSDK.TrackAppInboxClick. This method tracks a clicked event only if one of the following is true:

  • The tracking consent feature is disabled.
  • The tracking consent feature is enabled and has_tracking_consent is true.
  • The action URL contains the query parameter xnpe_force_track with the value true (overriding has_tracking_consent).

👍

An event that is tracked because xnpe_force_track (forced tracking) is enabled will contain an additional property tracking_forced with value true.

If you are invoking the BloomreachSDK.TrackAppInboxClick method manually and you want to ignore tracking consent, you may use BloomreachSDK.TrackAppInboxClickWithoutTrackingConsent instead. This method will track the event regardless of tracking consent.