Передача данных о звонках
- Шаг 1. Подготовка данных
- Шаг 2. Проверка готовности Метрики к загрузке звонков
- Шаг 3. Подготовка CSV-файла
- Шаг 4. Передача данных
- Что делать дальше?
Шаг 1. Подготовка данных
Подготовьте специальные идентификаторы.
Шаг 2. Проверка готовности Метрики к загрузке звонков
Учтенный Метрикой визит может быть дополнен информацией о звонке в течение 21 дня. Период учета звонков увеличивается постепенно с момента включения опции. Поэтому передать данные о звонке можно за отрезок времени равный периоду учета. Загружать информацию о звонках можно спустя примерно сутки после включения опции.
Чтобы проверить, можно ли загружать данные и за какой период, используйте метод GET /management/v1/counter/{counterId}/offline_conversions/calls_visit_join_threshold.
Шаг 3. Подготовка CSV-файла
В первой строке необходимо передать названия колонок.
Обязательные колонки:
- UserId — идентификатор посетителя сайта, назначенный владельцем сайта (только для client_id_type = USER_ID).
- ClientId — идентификатор посетителя сайта, назначенный Яндекс Метрикой (только для client_id_type = CLIENT_ID).
- Yclid — идентификатор клика по рекламному объявлению Яндекс.Директа, назначенный Яндекс.Директом (только для client_id_type = YCLID).
- DateTime — дата и время конверсии в формате Unix Time Stamp. Указывайте время в часовом поясе UTC+0..
Необязательные колонки:
StaticCall — является ли звонок статическим (1 — статический, 0 — динамический).
- передан идентификатор посетителя, которого нет в базе Метрики;
- визит посетителя совершен после звонка, данные о котором переданы в сервис, или ранее 21 дня до момента отправки данных;
- учет конверсий включен после того, как данные были переданы в Метрику, и период учета конверсий еще не достиг 21 дня.
О статическом и динамическом звонкеТип звонка определяет колл-трекер. При динамическом методе колл-трекер закрепляет номер телефона за каждой сессией пользователя, то есть использует подмену номеров. Когда колл-трекер передает динамический звонок, Метрика привязывает данные о звонке к ближайшему подходящему по времени визиту. Статический звонок не привязывается к визитам посетителей. Подробно о методах отслеживания звонков
Метрика не привязывает звонок к посетителю и его визиту, если:
- Price — цена цели, десятичным разделителем является точка (.).
- Currency — валюта в трехбуквенном формате ISO 4217.
- PhoneNumber — номер телефона без пробелов (с указанием кода страны и города). Например, +70123456789.
- TalkDuration — длительность разговора в секундах.
- HoldDuration — длительность ожидания ответа в секундах.
- CallMissed — пропущен ли звонок (1 — пропущенный, 0 — отвеченный).
- Tag — произвольная метка. Может использоваться для отметки качества звонка или его итоге и т. д. Например, «клиента не устроила цена».
- FirstTimeCaller — первичность (1 — первичный звонок, 0 — вторичный звонок).
- URL — URL, с которого был звонок (ассоциированная с событием страница). Например, это может быть лэндинг для рекламной кампании, на котором указан номер телефона (PhoneNumber).
- CallTrackerURL — URL перехода в интерфейс колл-трекера.
Шаг 4. Передача данных
Для передачи данных используйте метод POST /management/v1/counter/{counterId}/offline_conversions/upload_calls. В запросе передается название цели, которая будет создана при передаче данных. Далее эту цель можно добавлять в отчеты Метрики.
Укажите во входных данных OAuth-токен, номер счетчика, тип идентификатора посетителя.
$counter = ""; // Укажите номер счетчика
$token = ""; // Укажите OAuth-токен
$client_id_type = ""; // Укажите тип идентификаторов посетителей – CLIENT_ID, USER_ID или YCLID
$curl = curl_init("https://api-metrika.yandex.ru/management/v1/counter/{counterId}/offline_conversions/upload_calls?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);
import requests
counter = 123456
token = "token"
file = open("offline-conversions.csv", "r").read()
id_type = "CLIENT_ID"
url = "https://api-metrika.yandex.net/management/v1/counter/{counterId}/offline_conversions/upload_calls?client_id_type={}".format(counter, id_type)
headers = {
"Authorization": "OAuth {}".format(token)
}
req = requests.post(url, headers=headers, files={"file":file})
Что делать дальше?
Отслеживайте статус загрузки звонков с помощью метода GET /management/v1/counter/{counterId}/offline_conversions/calls_uploading/{id}.