Do have an example of a preference management where a user has granular control over personalization? For example, have you addressed a "GDPR Compliance" requirement when using the ADF?

How to update Audience Manager ADF claims describes "Profile Management" using the Audience Manager Cartridge with three elements:

  • Profile management page in the Web application
  • ADF claims based on the Contact
  • Claim to invalidate cache (Audience Manager-specific)

I reference these in the GDPR series for Tridion DX post, where the user story is:

"Use a website user, I want to explicitly opt-in to personalized scenarios in order to get relevant content or protect personal data. My choices must be granular and opted-out by default."

The user might choose things like "Personalized Offers" or "Location-Based Content" and the website would then enable/disable personalization for each scenario accordingly.

Please offer, or upvote, your implementation examples of preference management using the ADF.

My community answer below is based on discussions with a few colleagues, but we could really use "in-the-wild" setups to give other implementers more context.

1 Answer 1


Preferences Cartridge

One approach would be to only set and use Claims based on options a user specifically chose. For example:

  • Create one or more custom "Preferences" or "Contact" Cartridge(s)
  • Set and read Claims based on the user's preferences
  • Use a Claim per preference (e.g. claim for "Personalized Offers" separate from a claim for "Location Personalization")
  • Be sure to only use claims explicitly set by the user

You can then use the claims from this cartridge to adjust the website experience knowing that you only have claims in the ADF session that have been explicitly allowed by a given user.

This seems like a good way to centralize the management of the claims to personalize against.

On-the-Fly Claim Adjustments

For an existing setup, maybe a convention for claim values that represent opting out might help where you:

  • Leave existing Cartridges and Claims mostly the same
  • Set and read Claims based on the user's preferences
  • Use a value like Undefined, Not Shared, or similar to represent a claim (e.g. LOCATION = Undefined means the user doesn't want any geolocation behavior on the site)

The trade-off might be tracking and ensuring claims are used properly. Though this might be useful when adjusting an existing ADF setup.

Special Format

One idea was to "stuff" a set of preferences into some text-based format. Then a single Claim, cookie, or database field might represent the set of user preferences.

This looked like it might work, but wouldn't work well with other ADF-baed features like Experience Optimization or the Footprint.

Feel free to expand on this community wiki answer or add your own answer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.