Передача офлайн-конверсий

О том, что такое офлайн-конверсии и какие бизнес-задачи можно решить, отслеживая их, см. в разделе Офлайн-конверсии и звонки.
Внимание. Перед началом работы включите учет офлайн-конверсий.
  1. Шаг 1. Подготовка данных
  2. Шаг 2. Проверка готовности Метрики к загрузке конверсий
  3. Шаг 3. Подготовка CSV-файла
  4. Шаг 4. Передача данных
  5. Что делать дальше?

Шаг 1. Подготовка данных

  1. Подготовьте специальные идентификаторы — ClientID, UserID или yclid.
  2. Создайте цель JavaScript-событие с помощью метода POST /management/v1/counter/{counterId}/goals. В качестве идентификатора цели укажите событие, которое нужно отслеживать (например, подтверждение заказа — «order_confirmed»). Этот идентификатор понадобится при формировании CSV-файла.

    Можно использовать ранее созданную цель, если конверсия по этой цели совершается и на сайте, и вне его и вы хотите получать общую статистику.

Шаг 2. Проверка готовности Метрики к загрузке конверсий

Учтенный Метрикой визит может быть дополнен информацией о конверсии в течение 21 дня. Период учета конверсий увеличивается постепенно с момента включения опции. Поэтому передать конверсии можно за отрезок времени равный периоду учета. Загружать конверсии можно спустя примерно сутки после включения опции.

Чтобы проверить, можно ли загружать данные и за какой период, используйте метод GET /management/v1/counter/{counterId}/offline_conversions/visit_join_threshold.

Шаг 3. Подготовка CSV-файла

Данные о конверсиях передаются в CSV-формате. Вы можете передать их несколькими способами:
В файле укажите данные, которые хотите передать в Метрику. Пример файла.
Колонки Описание
Обязательные
UserId Идентификатор посетителя сайта, назначенный владельцем сайта (только для client_id_type = USER_ID).
ClientId Идентификатор посетителя сайта, назначенный Яндекс.Метрикой (только для client_id_type = CLIENT_ID).
Yclid Идентификатор клика по рекламному объявлению Яндекс.Директа, назначается Яндекс.Директом. Передается в URL объявления (только для client_id_type = YCLID).
Target Идентификатор цели
DateTime Дата и время конверсии в формате Unix Time Stamp. Указывайте время в часовом поясе UTC+0.
Необязательные
Price Цена (ценность) цели, десятичным разделителем является точка (.).
Currency Валюта в трехбуквенном формате ISO 4217.
Колонки Описание
Обязательные
UserId Идентификатор посетителя сайта, назначенный владельцем сайта (только для client_id_type = USER_ID).
ClientId Идентификатор посетителя сайта, назначенный Яндекс.Метрикой (только для client_id_type = CLIENT_ID).
Yclid Идентификатор клика по рекламному объявлению Яндекс.Директа, назначается Яндекс.Директом. Передается в URL объявления (только для client_id_type = YCLID).
Target Идентификатор цели
DateTime Дата и время конверсии в формате Unix Time Stamp. Указывайте время в часовом поясе UTC+0.
Необязательные
Price Цена (ценность) цели, десятичным разделителем является точка (.).
Currency Валюта в трехбуквенном формате ISO 4217.

Шаг 4. Передача данных

Совет. Сформируйте CSV-файл с информацией и передайте его с помощью данного метода. Также рекомендуем генерировать запросы к API в автоматическом режиме с помощью модулей языка программирования.
Примечание. Данные появятся в отчетах Метрики в течение 24 часов после их загрузки.

C помощью метода POST /management/v1/counter/{counterId}/offline_conversions/upload. Укажите во входных данных OAuth-токен, номер счетчика, тип идентификатора посетителя.

$counter = "";            // Укажите номер счетчика
$token = "";              // Укажите OAuth-токен
$client_id_type = "";     // Укажите тип идентификаторов посетителей – CLIENT_ID, USER_ID или YCLID

$curl = curl_init("https://api-metrika.yandex.ru/management/v1/counter/$counter/offline_conversions/upload?client_id_type=$client_id_type");

curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, array('file' => new CurlFile(realpath('file.csv'))));
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: multipart/form-data", "Authorization: OAuth $token"));

$result = curl_exec($curl);

echo $result;

curl_close($curl);

Что делать дальше?

Отслеживайте статус загрузки конверсий с помощью метода GET /management/v1/counter/{counterId}/offline_conversions/uploading/{id}.