Your comments

Я не очень глубоко разбираюсь в разных видах "polling". Как правильно назвать то, что я предлагал ранее - раз в 5 секунд запрашивать с сервера статический js файл (в формате jsonp и без долгого соединения) из папки временных файлов?

В этом случае ничего на сервере ставить не нужно. И вся нагрузка ложиться на стандартный nginx.

4. Прописываем все настройки в конфиг файле, в том числе путь к папке с временными файлами (если нестандартный путь)

5. На сервере назначаем нужные права доступа к папке временных файлов.


То еcть php скипт - это комплекс файлов в отдельной папке, например:

[roistat-callhook]

- readme.md

- callhook.php

- config.php

- callhook.js

- RoistatCallhook.class.php

- usage-example.html

- [temp]


Указывать ID метрики нет смысла, так как найти все счетчики можно автоматически внутри JS-скрипта


Супер! Легко и цветасто как нужно.

Идея красивая! Но есть минусы по юзабилити.

– Почему попап закрывается после ввода 3 символов своего цвета? Я хочу ввести 6 символов, увидеть цвет и если нужно скорректировать. Пожалуйста не закрывайте попап по количеству символов, только по потере фокуса.

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

– И ещё минус - свой цвет не сохраняется. Можно его снова показывать в поле при повторном открытии окошка?

Набор цветов вырвиглазный. Ваши диайнеры видели, как вкладки смотряться (черный текст на фоне этих цветов)? Сделайте другую палитру покрасивше, менее насыщенные и более светлые цвета. Либо красьте только низ вкладки. Пример палитры тут: https://yeun.github.io/open-color/

Евгений, по моему мнение программиста, не всё так сложно, как Вы описываете.


Я бы сделал так:


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 лайков. Значит народу нужно.


Если мои пояснения подсказали вам, как сделать фичу дещевле и проще, то мы все ждем скорейшей реализации!

Если видите ещё какие-то проблемы - пишите. Может вместе найдем решение.



Не единственный, а самый правильный.

Я уже писал, как можно отправлять в Метрику событие Звонок для 60-80% звонков.


Вот алгоритм:


1) Когда сервер "выдает номер" браузеру, он запоминает соответствие "id-сессии" => "тел номер" , в базе или временном файле.


2) Скрипт в браузере устанавливает постоянное соединения с сервером, для получений извещений о звонках (по вебсокету или long-polling)


3) В момент начала звонка (срабатывает вебхук на начало звонка) - сервер вычисляет наиболее вероятную сесиию (кто звонит), и отправляет в браузер с этой сессией (кому выделен номер) - уведомление о звонке (если такая сессия ещё активна).


4) Если этот браузер сейчас на сайте, то скрипт в браузере - получает извещение о звонке и отправляет в Метрику событие, которое будет задано в настройках, или исполняет колбэк функцию, заданную пользователем.


4. Наличие сделки с таким контактом в "Не учитывать" (например, звонки от сотрудников)

5. Если сделка не создается, то создавать / не создавать задачу "Ответить на звонок"


- Обязательно нужно в алгоритме учесть контакты с несколькими телефонами (у контакта может быть от 1 до 3 телефонов).

- Обязательно нужно нормализовать все телефонные номера

Интересно, а можно ли как-то задавать свой алгоритм создания / не создания заявки в свойствах прокси лида? Что-то вроде функции-колбэка. Задача для сообразительных программистов.

Что-то они и не сильно хотят эту функциональность делать :)

Как я и писал выше, технически ВОЗМОЖНО передавать цель Звонок в Метрику, но только для 60-80% пользователей, которые звонят не отходя от браузера.