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

О том, что такое офлайн-конверсии и какие бизнес-задачи можно решить, отслеживая их, см. в разделе Офлайн-конверсии и звонки.

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

  1. Подготовьте специальные идентификаторыClientID, UserID, yclid или PurchaseId.

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

    Примечание

    При создании цели «JavaScript-событие» обязательно используйте условие «совпадает».

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

Шаг 2. Подготовка данных о конверсиях

Данные о конверсиях передаются в CSV-формате. Вы можете передать их несколькими способами:

В файле укажите данные, которые хотите передать в Метрику. Пример файла.

В первой строке необходимо передать названия колонок.

Колонки

Описание

Обязательные

UserId

Идентификатор посетителя сайта, назначенный владельцем сайта.

ClientId

Идентификатор посетителя сайта, назначенный Яндекс Метрикой.

Yclid

Идентификатор клика по рекламному объявлению Яндекс Директа, назначается Яндекс.Директом. Передается в URL объявления.

PurchaseId

Идентификатор покупки электронной коммерции назначенный владельцем сайта.

Target

Идентификатор цели.

DateTime

Дата и время конверсии в формате Unix Time Stamp.

В DateTime можно указывать только прошедшее время. Если на момент загрузки файла время из DateTime еще не наступило, возникнет ошибка.

Необязательные

Price

Цена (ценность) цели, десятичным разделителем является точка (.).

Currency

Валюта в трехбуквенном формате ISO 4217.

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

Примечание

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

Примечание

Данные появятся в отчетах Метрики в течение двух часов после их загрузки.

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

$counter = "";            // Specify the counter ID
$token = "";              // Specify the OAuth token

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

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);
import requests

counter = 123456
token = "token"

file = open("offline-conversions.csv", "r").read()

url = "https://api-metrika.yandex.net/management/v1/counter/{}/offline_conversions/upload".format(counter)
headers = {
 "Authorization": "OAuth {}".format(token)
}

req = requests.post(url, headers=headers, files={"file":file})

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

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

Узнайте больше