# Описание процесса синхронизации идентификаторов (Cookie Sync) между UMG SSP и сторонними DSP

Платформа UMG поддерживает несколько сценариев синхронизации идентификаторов пользователей (Cookie Sync) со сторонними DSP.

### **Internal Sync Type (**&#x412;нутреннее хранение)

В данном сценарии DSP выполняет редирект на UMG SSP, передавая свой идентификатор пользователя (buyerID), который сохраняется в таблице соответствия.

#### **1.1 Обычный редирект**:&#x20;

UMG вызывает предварительно сохранённый URL DSP например, `https://dsp.io/rtb/sync/umg`, после чего DSP выполняет редирект на UMG SSP с передачей идентификатора пользователя: `https://a.utraff.com/sync?dsp=&buyerid=<buyer_id>` В результате UMG SSP фиксирует соответствие между идентификаторами.

#### **1.2 Редирект через параметр** **Sync URL:**&#x20;

UMG вызывает сохранённый URL DSP, передавая в нем redirect\_url, ведущий на UMG: `https://match.dsp.io/cm?ssp=umg&redirect_url=https%3A%2F%2Fa.utraff.com%2Fsync%3Fdsp%3Dohmybid%26buyerid%3D{{uid}}` DSP подставляет идентификатор `{uid}` и вызывает redirect\_url, передавая UMG идентификатор пользователя.

Во время Internal Sync Type процесс выглядит следующим образом:

{% stepper %}
{% step %}
UMG SSP вызывает sync endpoint DSP

пример [`https://dsp.io/rtb/sync/umg`](https://dsp.io/rtb/sync/umg)&#x20;
{% endstep %}

{% step %}
DSP выполняет редирект на Redirect URL UMG SSP

пример [`https://dsp.io/rtb/sync/umg`](https://dsp.io/rtb/sync/umg) -> `https://a.utraff.com/sync?dsp=&buyerid=<buyer_id>`
{% endstep %}

{% step %}
В SSP UMG фиксируется переданный идентификатор (buyerID) и устанавливается связь с User ID в таблице соответствия

`buyer_id_1 = user_id_1`
{% endstep %}

{% step %}
В дальнейшем UMG SSP передаcт buyerID в Bid Request, если найдено соответствие, что позволяет DSP идентифицировать пользователя;

{% code title="Bid Request reference including buyerID" fullWidth="true" %}

```json
{
  "id": "1234567890",
  "imp": [
    {
      "id": "1",
      "banner": {
        "w": 300,
        "h": 250
      },
      "bidfloor": 0.5
    }
  ],
  "site": {
    "id": "example-site-id",
    "domain": "example.com",
    "page": "https://example.com/page"
  },
  "device": {
    "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
    "ip": "192.168.1.1"
  },
  "user": {
    "id": "user-id-12345",
    "buyeruid": "buyer-id-67890"  // Уникальный идентификатор покупателя (buyer ID)
  },
  "at": 1,
  "tmax": 100
}
```

{% endcode %}
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Настройка Matched Only для аукциона со сторонней DSP-платформой возможна только при сценариях с внутренним хранением пар соответствия.
{% endhint %}

**Пошаговый пример:**

<mark style="color:purple;">Шаг 1</mark> — `https://exchange.buzzoola.com/cookiesync/redirect?redirect_url=`\ <mark style="color:purple;">Шаг 2</mark> — переключаем Sync type = internal\ <mark style="color:purple;">Шаг 3</mark> — в Redirect URL устанавливаем макрос DSP `https://a.utraff.com/sync?dsp=Buzzoola&buyerid=${UUID}`\ <mark style="color:purple;">Шаг 5</mark> — Кодируем Redirect URL на сайте `https://www.urlencoder.org/`\
получаем `https%3A%2F%2Fa.utraff.com%2Fsync%3Fdsp%3DBuzzoola%26buyerid%3D%24%7BUUID%7D`\ <mark style="color:purple;">Шаг 6</mark> — подклеиваем encoded Redirect URL в Sync URL DSP получаем `https://exchange.buzzoola.com/cookiesync/redirect?redirect_url=https%3A%2F%2Fa.utraff.com%2Fsync%3Fdsp%3DBuzzoola%26buyerid%3D%24%7BUUID%7D`\ <mark style="color:purple;">Шаг 7</mark> проверяем — вызвав URL\
`https://exchange.buzzoola.com/cookiesync/redirect?redirect_url=https%3A%2F%2Fa.utraff.com%2Fsync%3Fdsp%3DBuzzoola%26buyerid%3D%24%7BUUID%7D` в строке адреса браузера&#x20;в случае если все настроено корректно сработает редирект на нас с подстановкой byerid, пример `https://a.utraff.com/sync?dsp=Buzzoola&buyerid=ef430e57-6c15-46a2-43d6-4603bf143c8a`

### **External Sync Type**&#x20;

В этом сценарии SSP UMG передаёт свой User ID напрямую в DSP, без выполнения редиректа.&#x20;

#### **Sync без редиректа**:&#x20;

{% stepper %}
{% step %}
UMG SSP вызывает заранее сохранённый sync endpoint DSP, включая User ID платформы в запрос

Пример `https://dsp.io/rtb/sync/umg?u={uid}` > `https://dsp.io/rtb/sync/umg?u=PqMN4G8f4` &#x20;
{% endstep %}

{% step %}
DSP сохраняет полученный идентификатор на своей стороне

{% endstep %}
{% endstepper %}

Этот сценарий используется, если DSP управляет таблицей соответствий самостоятельно, и редирект не требуется.
