Взаимодействие при использовании js-api в случае учета звонка как конверсии
1. Пользователь приходит на лендинг (страницу сайта, в примере website_js.html) с установленным js-кодом
Пока не определено, какой набор параметров нужно показать - показывается пустая страница либо страница со значениями по умолчанию.
Код системы коллтрекинга на странице не показывается - он перемещен в ф-ю konvr_draw();
2. Javascript отправляет запрос к api.konvr.ru на получение списка параметров для показа.
Сперва выполняется проверка на то, подходит ли пользователь для эксперимента (пользователь новый, из разрешенного источника, включены ли cookie, отбирается доля трафика), если не подходит - показывается страница по умолчанию (выполняется ф-я konvr_draw). Если подходит - делается два последовательных асинхронных запроса к api.konvr.ru (сперва к js_static.js, потом к api.php), а код системы коллтрекинга на странице не показывается.
3. Сервер получает параметры запроса, создает комбинацию параметров для показа, отвечает js-скриптом
Передаются параметры пользователя и данные по рекламной кампании (id клиента, рекламной кампании и API-ключ). После того, как сделан первый показ, сервер запоминает ссылающийся домен и последующие запросы принимает только с него. На генерацию комбинации параметров уходит менее 0.1 секунды.
4. Скрипт на стороне клиента создает лендинг по набору параметров
Посетителю устанавливаются cookie от имени сайта, которые содержат данные об id показа и разыгранную комбинацию параметров, которая будет показываться cookiedays дней без дополнительных обращений к апи, позже посетитель станет "новым" для эксперимента. Полученный скрипт исполняет ф-ю konvr_draw (определенную на стороне клиента), которая собирает и показывает лендинг по полученным номерам параметров (и при самом первом визите исполняется konvr_draw_once)
Если посетитель участвует в эксперименте, перед показом кода колтрекинга мы передаем данные по id клиента в урл: функция konvr_draw_once() исполняется один раз и делает переадресацию на ту же страницу, но с добавленной utm_меткой, которая настраивается в разделе интеграции с коллтрекингом.
К сожалению, в коллтрекинге не будут видны данные по ссылающейся странице
5. Пользователь читает и взаимодействует с лендингом с адресом website_js.html?utm_konvr=userid
Он может переходить на другие страницы, без дополнительных обращений к api "выданные" ему параметры будут отображаться, если код установлен на всем сайте. При всех переходах будет отрабатывать код системы колтрекинга.
6. Пользователь делает звонок по динамическому номеру телефона, это сохраняется в данных колтрекинга
Отсылки уведомления о конверсии в api.konvr.ru теперь нет (но можно дополнительно добавить)
7. Konvr регулярно опрашивает API коллтрекинга и получает уведомления о конверсии
Когда в API данные по звонку становятся видны, там будет страница, на которой впервые показался код колтрекинга - из URL берутся данные о пользователе и конверсия по этому пользователю учитывается.
