![](https://cdn.userecho.com/characters/115.png?1)
Сделать передачу цели "Звонок" в Яндекс Метрику
Сделать передачу цели "Звонок" в Яндекс Метрику, аналогично как здесь http://help.roistat.com/pages/viewpage.action?pageId=5177354
Answer
![](/s/cache/de/b2/deb283cfb8bd1fc8dc4f1998b1715a3e.png)
По моим данным, Яндекс.Метрика пока что не позволяет привязывать цели к своему же собственному ClientID. Как только такая возможность у них появится, мы сразу реализуем.
![](/s/cache/59/a1/59a1abdfe693c9c72a05d5132b271d26.png)
ОЧЕНЬ НУЖНО! Так как Директ можно автоматически оптимизировать по целям из Метрики. А также, некоторые возможности Метрики очень удобны для аналитики сегментов посетителей.
Есть 2 варианта как фиксировать звонки в Метрике:
1) В момент начала звонка (нужен вебхук на начало звонка!) - сервер отправляет в браузер (по вебсокету или long-polling) с соответствующей сессией (кому выделен номер, куда звонят) - уведомление о звонке (если такая сессия ещё активна). И далее модуль Роистат отправляет в Метрику событие, которое будет задано в настройках. Причем я бы отправлял несколько событий: "Звонок", "Уникальный звонок" (только для 1го звонка с этого номера), "Уникальный лид" (только 1й звонок или заявка из формы). Минусы - будут учетны не все звонки, а только если сессия в браузере ещё активна.
2) (Не пробовал, нужно эксперементировать) Метрика с недавних пор позволяет загружать через API "параметры пользователей". Это не Цели, но по крайней мере можно "пометить" всех пользователей, которые достигли какого-то статуса сделок. (звонок, лид, встреча, продажа и т.д.). Минус - это не Цели, поэтому возможности анализа в Метрике ограниченны.
![](/s/cache/e2/72/e272d149a9a4a316f705cd2caa142555.png)
В настройках сценария добавили webhook в начале звонка.
Подойдёт ли такая реализация? Сейчас webhook отправляется для каждого входящего звонка.
![](/s/cache/59/a1/59a1abdfe693c9c72a05d5132b271d26.png)
Большое спасибо за это нововведение! Вебхук на начало звонка передает roistat_visit? Если да, то тогда просто будет отправить сообщение в соответствующую сессию браузера и там уже отправить цель в Метрику.
![](/s/cache/e2/72/e272d149a9a4a316f705cd2caa142555.png)
Да, информация о номере визита передаётся в вебхук. Подробнее: http://help.roistat.com/pages/viewpage.action?pageId=4587904
![](/s/cache/87/75/8775c2ed5268e57687292f2fc294d6fa.png)
Ого, вижу что -то круто появилось.
Получается, теперь Метрика может отслеживать конверсию по звонкам?
А как настроить этот webhook? может что готовое или около того есть..
![](/s/cache/87/75/8775c2ed5268e57687292f2fc294d6fa.png)
Ого, вижу что -то крутое появилось.
Получается, теперь Метрика может отслеживать конверсию по звонкам?
А как настроить этот webhook? может что готовое или около того есть..
![](/s/cache/59/a1/59a1abdfe693c9c72a05d5132b271d26.png)
Нужно самому программировать - и серверный и браузерный скрипт. Наличие веб-хука на начало звонка - это только 30% от задачи "Отправлять в метрику событие Звонок"
![](/s/cache/e2/72/e272d149a9a4a316f705cd2caa142555.png)
Написали в Яндекс.Метрику. У них пока не реализована функциональность передачи оффлайн-конверсий, без этого мы не можем передавать цель "Звонок".
Как только у них появится такая возможность, мы примемся за реализацию.
![](/s/cache/59/a1/59a1abdfe693c9c72a05d5132b271d26.png)
Что-то они и не сильно хотят эту функциональность делать :)
Как я и писал выше, технически ВОЗМОЖНО передавать цель Звонок в Метрику, но только для 60-80% пользователей, которые звонят не отходя от браузера.
![](https://cdn.userecho.com/characters/1042.png?1)
Я пользовался коллтрекингом Колибри и они прекрасно передавали в яндекс метрику эти данные от звонков. Я прописал определенный JS событие. Я просто прописал идентификатор цели который они мне сообщили. Почему не возможно сделать так в ройстат?
![](/s/cache/e2/72/e272d149a9a4a316f705cd2caa142555.png)
Посмотрел ещё раз документацию Яндекс.Метрики. К сожалению, пока нет возможности передавать цель по API, а для офлайн-событий - это единственно возможный вариант.
![](/s/cache/59/a1/59a1abdfe693c9c72a05d5132b271d26.png)
Не единственный, а самый правильный.
Я уже писал, как можно отправлять в Метрику событие Звонок для 60-80% звонков.
Вот алгоритм:
1) Когда сервер "выдает номер" браузеру, он запоминает соответствие "id-сессии" => "тел номер" , в базе или временном файле.
2) Скрипт в браузере устанавливает постоянное соединения с сервером, для получений извещений о звонках (по вебсокету или long-polling)
3) В момент начала звонка (срабатывает вебхук на начало звонка) - сервер вычисляет наиболее вероятную сесиию (кто звонит), и отправляет в браузер с этой сессией (кому выделен номер) - уведомление о звонке (если такая сессия ещё активна).
4) Если этот браузер сейчас на сайте, то скрипт в браузере - получает извещение о звонке и отправляет в Метрику событие, которое будет задано в настройках, или исполняет колбэк функцию, заданную пользователем.
![](/s/cache/ea/d6/ead6e5baad4f40d851029d1677cfc72d.png)
Реализация с comet понятна, но я думаю, вы понимаете, почему она не рассматривается.
1. Точность гарантированно далека от 100%. Я даже не берусь судить будет она там 90 или 50. Она всегда будет неизвестной. При этом не только из-за того, что не все юзеры будут держать браузер открытым, но и из-за того, что кроссдоменное взаимодействие через ajax поддерживается не всеми браузерами и не у всех включено (даже если сервер отдает все заголовки и тп). То есть накладываются еще технические ограничения.
Принимать управленческие решения на основе неизвестной (и гарантированно низкой) точности данных к сожалению нельзя. Если бы мы говорили о том, что лучше это, чем ничего — то да. Но есть точные цифры в том же Ройстате, есть точные цифры в отправленных в GA целях. На их фоне рандомные цифры в метрике просто бесполезны.
2. В контексте первого пункта стоимость реализации этой задачи довольно высока. То есть это не просто экспериментальный флажок добавить. Это провести серьёзную техническую работу. Сделать comet на своем сайте и сделать comet для кроссдоменной аналитики под высокими нагрузками — это не одно и то же.
Но я думаю вы не очень-то и хотели, чтобы мы делали через comet, так что я просто набросил ответочку. =)
![](/s/cache/59/a1/59a1abdfe693c9c72a05d5132b271d26.png)
Евгений, по моему мнение программиста, не всё так сложно, как Вы описываете.
Я бы сделал так:
1) По поводу якобы "дорогостоящей" реализации. Можно сделать проще. Вместо не-кроссбраузерного comet-ajax-json можно использовать кроссдоменные jsop-запросы, на временный статический JS-файл. Например, в моей реализации, JS-скрипт в браузере раз в 5 секунд запрашивает с сервера файл "/temp/calltracking/callback-{$clientId}.js?rnd=...". Такие запросы легко обрабатываются через Nginx и не нагружают сервер. Если звонка не было, то файл пустой. Если звонок был, то сервер генерирует в этом месте JS-файл - c командой запуска колбэка, что-то вроде "CaltrackingComponent.triggerCall( {$callDataJson} )"
2) По поводу точности. Её можно измерять. Она во многом зависит от сайта, насколько он мотивирует на звонок сейчас. Судя по исследования провайдеров коллтрекинга 80% звонят в первые 15 минут. Можно предположить что 50-80% позвонят в первые минуты, пока браузер открыт. И эту точность МОЖНО измерять. Достаточно, лишь, чтобы JS скрипт из браузера сообщал серверу о том, что "событие звонка принято и обработано". Пример формулы: Точность = (Кол-во звонков онлайн / Кол-во звонков всего) на выборке (Последние 30 звонков)
3) По поводу управленческих решений. Метрика лично мне нравиться больше GA. Удобнее и функциональнее во многих моментах (например в GA нет удобной многоуровневой группировки параметров, только 2 уровня).
И мне нужна комплексная цель в Метрике "Уникальный лид" (звонок или заявка с уникальным номером телефона) для:
(1) аб-тестов (через параметры Метрики),
(2) автоматических стратегий в Директе,
(3) выделение сегментов в Метрике для использования в ретаргетинговых рекламных кампаниях,
(4) для поиска похожих аудиторий в Яндекс.Аудитории по сегменту Метрики
Думаю, есть и другие способы применения.
Да я понимаю, что отслеживаться будет лишь 50-80% лидов. Но на первое время, как мне кажется, этого достаточно, пока не наберутся данные по продажам в Роистат.
По крайней мере это гораздо лучше, чем отслеживание только заявок из форм (около 10-20% лидов).
Обратите внимание что этот топик уже набрал 15 лайков. Значит народу нужно.
Если мои пояснения подсказали вам, как сделать фичу дещевле и проще, то мы все ждем скорейшей реализации!
Если видите ещё какие-то проблемы - пишите. Может вместе найдем решение.
![](/s/cache/ea/d6/ead6e5baad4f40d851029d1677cfc72d.png)
С jsonp всё правильно написали, так можно делать. Обратите внимание, что дорогой я эту фичу назвал именно в контексте получаемого от нее профита. В рамках профита, который она дает, она неадекватно дорога в реализации и поддержке на дистанции.
Голосуют люди за реализацию с высокой точностью. Но если я ошибаюсь, и наших пользователей действительно устроит неточная реализация, то конечно я готов пересмотреть свою оценку.
Пока что вы один =)
![](/s/cache/d9/db/d9db80fbb3e7312282e4e6c321f1fc65.png)
А как вам такой вариант: сделайте просто php скрипт (на который натравливать вебхук на начало звонка) и выложите его на гитхабе или у себя в справке, пусть юзеры на свой хостинг ставят и используют, Будет ли это дешевле в поддержке и безопасно в плане защиты интеллектуальной ценности от конкурентов?
![](/s/cache/ea/d6/ead6e5baad4f40d851029d1677cfc72d.png)
А можете поподробнее описать по шагам, что я, как пользователь Roistat, должен сделать, чтобы у меня заработала передача звонков в метрику? А то я не уверен, что правильно вас понял.
Например,
1. Кладем php скрипт к себе на сервер
2. Копируем дополнительный JS код в HTML на сайт (этот код будет держать long polling и отправлять цели в метрику)
3. Прописываю адрес к php скрипту в настройках коллтрекинга в качестве вебхука на старт звонка
4. ...
![](/s/cache/59/a1/59a1abdfe693c9c72a05d5132b271d26.png)
4. Прописываем все настройки в конфиг файле, в том числе путь к папке с временными файлами (если нестандартный путь)
5. На сервере назначаем нужные права доступа к папке временных файлов.
То еcть php скипт - это комплекс файлов в отдельной папке, например:
[roistat-callhook]
- readme.md
- callhook.php
- config.php
- callhook.js
- RoistatCallhook.class.php
- usage-example.html
- [temp]
Указывать ID метрики нет смысла, так как найти все счетчики можно автоматически внутри JS-скрипта
![](/s/cache/ea/d6/ead6e5baad4f40d851029d1677cfc72d.png)
Плюс еще для Long Polling устанавливаем push stream module для nginx =)
Но можно упростить и сделать просто polling, то есть слать 1 запрос раз в несколько секунд и не держать соединение открытым. Тогда дополнительная настройка nginx не понадобится.
Я как-то сомневаюсь, что многим людям это действительно нужно. Скорее всего те, кто готов настолько заморочиться, могут и сами написать себе такой скрипт. =)
![](/s/cache/59/a1/59a1abdfe693c9c72a05d5132b271d26.png)
Я не очень глубоко разбираюсь в разных видах "polling". Как правильно назвать то, что я предлагал ранее - раз в 5 секунд запрашивать с сервера статический js файл (в формате jsonp и без долгого соединения) из папки временных файлов?
В этом случае ничего на сервере ставить не нужно. И вся нагрузка ложиться на стандартный nginx.
![](/s/cache/ea/d6/ead6e5baad4f40d851029d1677cfc72d.png)
В общем, я понял мысль. Не будем сейчас вдаваться в мелкие детали.
Пока что актуальна последняя фраза предыдущего сообщения. То есть мы считаем, что такая реализация подойдёт слишком маленькому проценту аудитории. Проблему большинства мы при этом не решим.
![](/s/cache/e2/72/e272d149a9a4a316f705cd2caa142555.png)
На прошлой неделе Яндекс добавили возможность отправлять цель по API. В течение пары недель сделаем возможность отправлять цель "Звонок" в Метрику.
![](/s/cache/d9/db/d9db80fbb3e7312282e4e6c321f1fc65.png)
Ну наконец-то Яндекс созрел для оффлайн-конверсий. Если не ошибаюсь, вот это API:
https://tech.yandex.ru/metrika/doc/api2/management/offline_conversion/upload-docpage/
![](/s/cache/87/09/870920f2c6e09db8efbf8b9e96fff91b.png)
Такая возможность стала особенно актуальна при настройке доп. фраз в директе по конверсионным целям.
Но похоже разработчики не особо рвутся ее внедрить.
![](/s/cache/e2/72/e272d149a9a4a316f705cd2caa142555.png)
Андрей, задача стоит в плане. Постараемся сделать этим летом, более точно сейчас сказать не могу.
![](/s/cache/00/3a/003a3abc97f901e69a518c66a8df418a.png)
Очень очень ждём в списке: https://tech.yandex.ru/metrika-calltracking/ ! Нужна эта возможность, чтобы корректировать ставки в Директе по сегменту "Достигшие цели". Не затягивайте, пожалуйста!
![](/s/cache/e2/72/e272d149a9a4a316f705cd2caa142555.png)
Работу над интеграцией заканчиваем. Скорее всего возможность передавать звонки в Метрику появится в течение пары недель.
![](/s/cache/e2/72/e272d149a9a4a316f705cd2caa142555.png)
В настройках сценария добавили возможность включить передачу звонков в Яндекс.Метрику:
![](/s/attachments/14346/3/1407/8ae14e7b4b69fb0e946ceccd9fdb6e08.jpg)
![](/s/cache/e2/72/e272d149a9a4a316f705cd2caa142555.png)
Алена, инструкции пока нет. В Метрике ничего настраивать не нужно, звонки будут отображаться на вкладке "Звонки".
![](/s/attachments/14346/3/1407/f0075c3ea77bea562e1f69a9b0914fad.png)
![](/s/cache/22/0e/220efba7d50d4448610e66232d4a0a89.png)
Добрый день.
Если вы про отправку целей в Яндекс Метрику, то должно работать. Напишите, пожалуйста, в нашу техподдержку, ребята вам помогут.
Customer support service by UserEcho
По моим данным, Яндекс.Метрика пока что не позволяет привязывать цели к своему же собственному ClientID. Как только такая возможность у них появится, мы сразу реализуем.