Передача данных о звонках

Внимание

Перед началом работы включите учет офлайн-конверсий.

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

Подготовьте специальные идентификаторы.

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

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

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

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

Данные о звонках передаются в 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. Передача данных

Примечание

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

Примечание

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

Для передачи данных используйте метод 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.net/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}.

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