Маркировка пользователей

DSP может узнавать пользователей, посетивших какой-либо сайт. Благодаря этому DSP делает вывод об интересах пользователей и подбирает рекламу.

При посещении сайтов пользователи могут маркироваться — им назначается метка, содержащая произвольные данные в виде строки до 22 символов. В этом процессе согласованно участвует сайт, RTB-хост и DSP.

  1. Компьютер, ноутбук, смартфон — делает запрос к сайту. На странице сайта установлен «пиксель» — специальный код для передачи запросов к RTB-хосту.
  2. Со страницы сайта «пиксель» отправляет запрос к RTB-хосту для маркировки пользователя. Запрос не связан с показом рекламы и не запускает аукцион.
  3. Если произошла ошибка, то в качестве ответа на запрос возвращается HTTP 404.
  4. Если маркировка прошла успешно, то в качестве ответа на запрос возвращается HTTP 200.
  5. Если в запросе указан параметр location, то происходит маркировка пользователя и перенаправление на указанный URL.

Формат запроса:

http://an.yandex.ru/setud/<dsp-name>/<data>?sign=<sign>[&location=<url>]
Параметры запроса
Параметр Описание
dsp-name Идентификатор DSP в RTB-хосте.
data

Строка до 22 символов, закодированная методом urlencode. Содержимое строки не имеет значения для RTB-хоста. Однако для DSP эти данные служат признаком того, что пользователь посетил партнерский сайт.

Примечание.

RTB-хост связывает данные с пользователем и в следующем цикле показа рекламы этому пользователю передает данные в DSP (параметр userdata). DSP может изменить данные, указав новые данные в ответе (параметр setuserdata).

sign

Подпись, гарантирующая достоверность запроса.

Представляет собой хэш, полученный методом crc32 от конкатенации следующих параметров:

  • первые три октета из IP-адреса конечного устройства (например, для IP-адреса 192.5.2.5 используется значение «192.5.2»);
  • значение заголовка Referer;
  • значение заголовка User-Agent;
  • значение параметра location, если формируется и передается в запросе;
  • значение параметра data;
  • секретный ключ DSP.
location

URL для перенаправления. Если присутствует в запросе, RTB-хост возвращает ответ 302 Redirect и указывает в качестве цели значение данного параметра.

Параметры запроса
Параметр Описание
dsp-name Идентификатор DSP в RTB-хосте.
data

Строка до 22 символов, закодированная методом urlencode. Содержимое строки не имеет значения для RTB-хоста. Однако для DSP эти данные служат признаком того, что пользователь посетил партнерский сайт.

Примечание.

RTB-хост связывает данные с пользователем и в следующем цикле показа рекламы этому пользователю передает данные в DSP (параметр userdata). DSP может изменить данные, указав новые данные в ответе (параметр setuserdata).

sign

Подпись, гарантирующая достоверность запроса.

Представляет собой хэш, полученный методом crc32 от конкатенации следующих параметров:

  • первые три октета из IP-адреса конечного устройства (например, для IP-адреса 192.5.2.5 используется значение «192.5.2»);
  • значение заголовка Referer;
  • значение заголовка User-Agent;
  • значение параметра location, если формируется и передается в запросе;
  • значение параметра data;
  • секретный ключ DSP.
location

URL для перенаправления. Если присутствует в запросе, RTB-хост возвращает ответ 302 Redirect и указывает в качестве цели значение данного параметра.

Режим отладки

Чтобы запустить режим отладки, добавьте в запрос параметр dump-match=1:

http://an.yandex.ru/setud/<dsp-name>/<data>?sign=<sign>[&location=<url>][&dump-match=<1>]
  • при наличии ошибки — выводится текстовое сообщение, которое можно увидеть в режиме просмотра HTML-страницы;
  • при отсутствии ошибок — выводится пустой ответ.

Пример запроса

Пользователь с IP-адресом 192.5.2.5 передал на сайт www.foo.com следующий запрос.

GET / HTTP/1.1
User-Agent: Opera/9.80 (Windows NT 6.1; WOW64; U; en) Presto/2.10.289 Version/12.01
Host: www.foo.com
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Encoding: gzip, deflate
Referer: http://domain.com/page/section
Pragma: no-cache
Cache-Control: no-cache
Connection: Keep-Alive

Сайт решает связать с пользователем строку hit:www.foo.com. Эти данные предназначены для DSP с именем «AdMaster».

В первую очередь сайт формирует подпись, как показано ниже.

crc32(
   '192.5.2' + 
   'http://domain.com/page/section' + 
   'Opera/9.80 (Windows NT 6.1; WOW64; U; en) Presto/2.10.289 Version/12.01' +  
   '' + 
   'hit:www.foo.com' + 
   '2DF4BAD7-5100-4B25-93F9-24884D587A85'
)

Result: 111112222

Подпись формируется на основе строки, состоящей из шести подстрок:

  1. Три октета IP-адреса пользователя.
  2. Заголовок Referer.
  3. Заголовок User-Agent.
  4. Пустая строка в качестве параметра location (в примере переадресация не используется).
  5. Данные, связываемые с пользователем.
  6. Секретный ключ DSP (показано условное значение).

Полученный хэш 111112222 используется, чтобы подписать ссылку:

http://an.yandex.ru/setud/AdMaster/hit%3Awww.foo.com?sign=111112222

Получив страницу с такой ссылкой, браузер выполняет GET-запрос к RTB-хосту, в результате чего данные связываются с пользователем.

В следующем цикле показа рекламы пользователю RTB-хост отправит в DSP «AdMaster» запрос и укажет в параметре userdata значение hit:www.foo.com.