---
title: Prio Deduplication
slug: segment/prio-deduplication
docTags: 
createdAt: 2026-01-15T19:52:44.736Z
---

:::hint{type="info"}
This feature is available in **Unaric Segment Plus&#x20;**&#x61;nd **Advanced***.*
:::

Prio Deduplication allows users to apply smart rules to handle and remove duplicate records based on a unique field. Unlike with SQL's *DISTINCT*, which allows you to return only unique rows in your results, with deduplication you have control over which duplicate row is removed from the results using rules.

:::hint{type="warning"}
DESelect Segment always runs Prio Deduplication *before&#x20;*&#x20;Sort & Limit to ensure duplicate records are properly removed before the final sample limit is applied.
:::

## How it works

It’s possible that a selection you create contains duplicates. For example, when you want to email customers with orders in the last 3 months. In your email, you want to refer to the details of the order. However, it’s possible customers have multiple orders but you don’t want to email the same customer multiple times:

| **Email**             | **Order Id** | **Order Value** |
| --------------------- | ------------ | --------------- |
| jonathan\@deselect.io | O-000134     | 146,26 EUR      |
| jonathan\@deselect.io | O-000184     | 27,39 EUR       |
| jonathan\@deselect.io | O-000253     | 39,59 EUR       |

:::Paragraph{indent="9"}
:FontAwesome[]{icon="fa-solid fa-arrow-down"}&#x20;
:::

| **Email**             | **Order Id** | **Order Value** |
| --------------------- | ------------ | --------------- |
| jonathan\@deselect.io | O-000134     | 146,26 EUR      |

The SFMC default option is making the email address a Primary Key in your Target Data Extension. However, you’d have no control over which related order is shown. It’d be just the first one in the database.

::::VerticalSplit{layout="middle"}
:::VerticalSplitItem
With Prio Deduplication, you can indicate that if one customer has multiple orders, you want to prioritize the one with the highest order value. You can achieve this by indicating that **Email** needs to be unique, and the field that determines the priority is **Order Value**, and the record with the highest **Order Value&#x20;**&#x67;ets priority.
:::

:::VerticalSplitItem
::Image[]{src="https://deselect.com/wp-content/uploads/2020/03/Email-unique-field-creation-in-DESelect.png.webp" size="60" width="447" height="132" isUploading="false" darkWidth="447" darkHeight="132" showCaption="false"}

::Image[]{src="https://deselect.com/wp-content/uploads/elementor/thumbs/basic-deduplication-logic-creation-in-DESelect-re7gmk0wsche4lvoz81ev2aliqapencnlk8eqwp6l0.png" size="50" width="400" height="450" isUploading="false" darkWidth="400" darkHeight="450" showCaption="false"}
:::
::::

Instead of sorting all values of a field to determine the priority, you can also determine and order values manually. For example, when you have a list of contacts with the VAT number of the company they work for. You want to email each company, preferably to the CEO if that role is available, otherwise to a director, and lastly to a manager.

::::VerticalSplit{layout="middle"}
:::VerticalSplitItem
In Unaric Segment, you can do this by indicating that **VAT** is still the field that needs to be unique (it’s the unique identifier for the company), and the field that determines the priority is **Title**. You can then define the values for **Title** you want to use to determine the priority. Records with *CEO* as **Title&#x20;**&#x77;ill get priority, then *Director,* and if none of those are available for a **VAT&#x20;**&#x6E;umber, a record with *Manager* is chosen.
:::

:::VerticalSplitItem


::Image[]{src="https://deselect.com/wp-content/uploads/2020/03/unique-field-creation-in-DESelect.png.webp" size="60" width="444" height="137" isUploading="false" darkWidth="444" darkHeight="137" showCaption="false"}

::Image[]{src="https://deselect.com/wp-content/uploads/elementor/thumbs/basic-deduplication-logic-deselect-selection--re7gmk0wsci8thw4hc23nq1m3hz0bhbfhsh5schn5c.png" size="60" width="400" height="600" isUploading="false" darkWidth="400" darkHeight="600" showCaption="false"}
:::
::::

