---
title: User preferences
description: You can set up preferences for managed users, such as those related to marketing and news updates. You can then use those preferences as a filter when reconciling users to a target repository.
component: pingidm
version: 7.5
page_id: pingidm:self-service-reference:enduser-preferences
canonical_url: https://docs.pingidentity.com/pingidm/7.5/self-service-reference/enduser-preferences.html
keywords: ["JSON", "Configuration", "Self-Service", "User Self-Service", "Email", "User Interface", "Reconciliation"]
section_ids:
  modify-preferences-endusers: Review preferences as an end user
  user-preferences-recons: User preferences and reconciliation
---

# User preferences

You can set up preferences for managed users, such as those related to marketing and news updates. You can then use those preferences as a filter when reconciling users to a target repository.

In the default project, common marketing preference options are included for the managed user object. You can see these preferences in the `managed.json` file:

```json
"preferences" : {
    "title" : "Preferences",
    "description" : "Preferences",
    "viewable" : true,
    "searchable" : false,
    "userEditable" : true,
    "type" : "object",
    "usageDescription" : "",
    "isPersonal" : false,
    "properties" : {
        "updates" : {
            "description" : "Send me news and updates",
            "type" : "boolean"
        },
        "marketing": {
            "description" : "Send me special offers and services",
            "type" : "boolean"
        }
    },
    "order": [
        "updates",
        "marketing"
    ],
    "required": []
},
```

To view these preferences using the admin UI:

1. From the navigation bar, click Configure > Managed Objects.

2. On the Managed Objects page, click User.

3. Select the Properties tab, scroll down the properties list, and click preferences.

   The Managed Objects > user > preferences properties display:

   ![Managed Objects > user > preferences default properties](_images/managedUserPrefsProperties.png)

## Review preferences as an end user

When regular users log in to the End User UI, they'll refer to the preferences described in [User preferences](enduser-preferences.html). When they accept the preferences, their managed user objects are updated with entries similar to the following:

```json
"preferences" : {
    "updates" : true,
    "marketing" : true
},
```

## User preferences and reconciliation

You can configure user preferences as a filter for reconciliation. For example, if some users don't want marketing emails, you can filter those users out of any reconciliation operation.

To configure user preferences as a reconciliation filter using the admin UI:

1. From the navigation bar, click Configure > Mappings, and select a mapping.

2. Click the Association tab, and expand the Individual Record Validation node.

3. From the Valid Source drop-down list, select Validate based on user preferences.

4. Select the applicable preferences checkboxes.

   For example, if you select the Send me news and updates checkbox, users who have opted-in to that preference will be reconciled from the source to the target repository.

5. Click Save.

   |   |                                                                                                                                                                                                                                                                                                                        |
   | - | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   |   | What IDM does during this reconciliation depends on the policy associated with the `UNQUALIFIED` situation for a `validSource`. The default action is to delete the target object (user). For more information, refer to [How IDM assesses synchronization situations](../synchronization-guide/sync-situations.html). |

Alternatively, edit the [mapping](../synchronization-guide/mappings.html) file directly. The following excerpt of a mapping file includes `preferences` as conditions to define a `validSource` on an individual record validation. IDM applies these conditions at the next reconciliation.

```json
"validSource" : {
    "type" : "text/javascript",
    "globals" : {
        "preferences" : [
            "updates",
            "marketing"
        ]
    },
    "file" : "ui/preferenceCheck.js"
},
"validTarget" : {
    "type" : "text/javascript",
    "globals" : { },
    "source" : ""
}
```
