# Synchronize users attributes

### Overview

In this destination service, DinMo will export and update attributes in the users table, and, optionally, insert new users.

To do so, you will need to go through these three steps:

* Creating a Braze destination. Refer to the [corresponding section](#destination-setup) for more info.
* Creating a user segment or user model composed of all the users and their attributes that will be updated in Braze.
* Activating the model or segment to the Braze destination to start sending data. Refer to the [corresponding section](#activation-configuration) for more info.

Each time the activation will be running:

* If you ticked the insert mode option, all new users in the model will be inserted as a user in Braze (UPSERT)
* All attributes values that have changed since the last activation will be updated in Braze

If you chose not to insert new users, only users of the model who have an external id linked to an existing Braze user will be updated (UPDATE).

### Destination setup

To start synchronizing contacts, you are first required to create a Braze destination with the corresponding destination service.

{% hint style="info" %}
Learn how to create such a destination in our[ step-by-step tutorial](https://docs.dinmo.io/guides/get-started-with-dinmo/initial-configuration-of-dinmo/create-a-destination)
{% endhint %}

### Activation configuration

Once the destination has been setup, and your DinMo model created, you can create an activation to start sending data to Braze right away.

{% hint style="info" %}
Learn how to activate a segment in our [step-by-step tutorial](https://docs.dinmo.io/guides/get-started-with-dinmo/create-and-activate-segments-on-dinmo/activate-your-first-segment)
{% endhint %}

#### Fields mapping

In the Fields mapping section, you are asked to specify the field contained in your DinMo model corresponding to the external ID or the Braze ID. This field will be used to link the model's records to existing users.

Refer to [this documentation](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/analytics/setting_user_ids/) if you want to learn more about Braze external user IDs.

#### Sync modes

Sync modes determine how data is synchronized between your data source and your Braze application. They control whether to insert new records, update existing ones, or both, and how to handle the synchronization process.

For the Braze destination, here are the available options:

<table data-full-width="true"><thead><tr><th>Sync Mode</th><th>Description</th><th>Use Case</th><th>Behavior</th></tr></thead><tbody><tr><td><strong>UPDATE</strong></td><td>Processes only <strong>changed records</strong> detected since the last sync and updates existing records in the destination. New records are ignored.</td><td><ul><li>Enriching or correcting existing datasets</li><li>Attribute updates without data growth</li><li>Systems where record creation is handled elsewhere</li></ul></td><td><ul><li>Detects modified records using delta keys</li><li>Updates existing records only</li><li>Does not insert or delete records</li><li>Assumes records already exist in the destination</li></ul></td></tr><tr><td><strong>UPSERT</strong></td><td>Processes <strong>new and changed records</strong>, inserting new records and updating existing ones as needed.</td><td><ul><li>Standard synchronization use cases</li><li>Incremental data refresh</li><li>Large datasets with moderate change rates</li></ul></td><td><ul><li>Detects new and updated records</li><li>Inserts missing records</li><li>Updates existing records</li><li>Does not delete records</li><li>Balances data freshness and performance</li></ul></td></tr><tr><td><strong>MIRROR</strong></td><td>Keeps the destination <strong>fully synchronized</strong> with the source by applying inserts, updates, and deletions detected since the last sync.</td><td><ul><li>Maintaining an exact replica of the source</li><li>Operational systems requiring strict consistency</li><li>Data pipelines with frequent deletes</li></ul></td><td><ul><li>Detects all changes using delta logic</li><li>Inserts new records</li><li>Updates changed records</li><li>Deletes records missing from the source</li><li>Requires connector support for delete operations</li></ul></td></tr></tbody></table>

{% hint style="danger" %}
**Warning — Use Mirror Mode with Caution**

**Mirror sync mode permanently deletes records from the destination when they are no longer present in the source.**\
This includes contacts and related data.

Once deleted, these records **cannot be recovered** unless they are reintroduced from the source in a future sync.

Mirror mode should therefore be used **only when the source is the single source of truth** and when permanent deletions are an intended and fully controlled behavior.\
Always validate deletion rules and run Mirror syncs carefully, especially on production environments.
{% endhint %}

#### Synchronized attributes

In this section, you can add as many attributes mapping as you would like. DinMo will keep the values of all the attributes mapped here up to date.

To map an attribute, please select in the left side the DinMo field containing the attribute's value, and in the right side, please type the exact name of the attribute as it appears in Braze.

Note that if the attribute you type does not exist in Braze, DinMo will create it.
