> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omni.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Personalizing email deliveries with recipient attributes

> Personalize the content of email deliveries using each recipient's user attributes.

The content of [email deliveries](/share/deliveries/email) can be personalized using the recipients' [user attributes](/administration/users/attributes). For example, you could use personalization to deliver a dashboard to sales managers that only displays quarterly sales data for their region.

## How it works

By default, a delivery owner's user attributes are used when content is sent to email recipients. When personalization is enabled, Omni builds the content separately for each recipient, applying that recipient's user attribute values.

<h2 id="configure">
  Configuring personalization
</h2>

Personalization is configured at two levels: an Organization Admin sets a **Delivery personalization** mode for the whole organization in **Settings > Content permissions**, and that mode determines whether delivery owners can make their own choice on individual deliveries.

<h3 id="organization-setting">
  Defining personalization for the organization
</h3>

Organization Admins can set the organization's **Delivery personalization** setting to one of the following options:

| Organization setting       | What delivery owners can do                                                                                                                                |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Configurable** (default) | Turn personalization on or off for each delivery, using the **Personalize delivery with the recipient's user attributes** checkbox in the delivery dialog. |
| **Always**                 | Nothing. Every email delivery is personalized. In place of the checkbox, the delivery dialog notes that deliveries are always personalized.                |
| **Never**                  | Nothing. Every email delivery uses the delivery owner's user attributes. The checkbox doesn't appear.                                                      |

See [Content permission settings](/administration/content-permissions#delivery-personalization) for details on the organization setting.

### Personalizing individual deliveries

<Tip>
  Enabling personalization doesn't impact *who* receives the delivery, only the delivery's *contents*. Make sure you add the right people to the delivery's recipients list!
</Tip>

When the [organization setting](#organization-setting) is **Configurable**, check the **Personalize delivery with the recipient's user attributes** option when you create or edit an email delivery to enable personalization.

If your organization has connections that use [per-user OAuth](/connect-data/oauth), the **Personalize delivery** option won't be available even if the organization setting is **Configurable**. In this case you'll see a notice instead of the checkbox, and all recipients will receive the same content based on the delivery owner's permissions.

Which attributes get applied to each copy of the delivery depends on how Omni matches a recipient's email address to a user account. See [Resolving delivery recipients by email](#resolve-recipients) for details.

<h2 id="resolve-recipients">
  Resolving delivery recipients by email
</h2>

When personalization is enabled, Omni uses each recipient's resolved user attributes to build the delivery's content. The resolved user depends on which type of account matches the recipient email.

Omni looks for a match in the following order, using the first match it finds:

<Steps>
  <Step title="Standard user, external user, embed SSO user, or pending invite with a matching account email">
    Omni looks at the following for an account email that matches the recipient email:

    * Standard users
    * External users
    * Embed SSO users
    * [Pending invitations](/administration/users/invite)
  </Step>

  <Step title="Embed user matched via the embed email URL parameter">
    If a match isn't found in step 1, Omni looks for an **embed user** associated with the recipient email through the [`email` URL parameter](/embed/setup/url-parameters/email). This is the typical case for non-SSO embed users whose work email is passed in at embed time.
  </Step>

  <Step title="Existing email-only user">
    If a match isn't found in step 2, Omni looks for an existing [**email-only user**](/administration/users/email-only) with that email.
  </Step>

  <Step title="New email-only user">
    If a match isn't found in step 3, Omni creates a new email-only user when the delivery is saved.

    <Tip>
      Make sure you define the user attributes for a new email-only user **before** the associated delivery runs. Otherwise, the user will inherit the default attribute value, which may return an error, no rows at all, or potentially unfiltered data. See [Email-only users](/administration/users/email-only#user-attributes) for more information.
    </Tip>
  </Step>
</Steps>

## Using personalization in embedded Omni

If you're using Omni in an [embedded context](/embed):

* Never mix internal (standard) and embed user emails. If you must reuse the same email, use the `+` modifier — for example, `blob@example.com` for the internal user and `blob+omniembed@example.com` for the embed user.
* Never reuse emails across `externalId`s for embed users.
