Клуб Яндекс.Метрики

Вопрос про достижение цели

korjavin
8 октября 2013, 14:30

У меня клиенты, для оплаты заказа отправляются на процессинг банка, 

я в этот момент вызываю ReachGoal и передаю параметры интернет магазина,

но отсылка на процессинг это еще не оплата.
Она может не пройти, клиент может отказаться, и всякое такое.

Все это жутко портит статистику. Типа цель достигнута сто раз, товаров продана на миллион, а фактически ни одной оплаты не было.


Клиент на самом деле даже при успешной оплате может на сайт не вернуться уже. Ему процессинг пишет "проведено" и он закрывает браузер и идет к окошку ждать доставки.

 

Я позже по таймеру сам запрашиваю у процесисинга результат и обрабатываю его.

 

Как мне отправить reachGoal и параметры в этот момент, когда фактически у меня нет уже клиентского браузера?

Посоветуйте что нибудь, ничего не могу придумать.

Я готов какие нить дополнительные данные о сесси пользователя записывать, что б как то привязывать его к результату процессинга и сессии яндекс метрики. Но где мне их взять ?
Единственный кто знает "идентификатор сессии клиента на моей счетчике" это ЯМ, как же мне его получить.

 

Или я совсем неправильно все понимаю?

 

15 комментариев
Подписаться на комментарии к посту

Сейчас к сожалению не получится сделать то, что вы хотите, в планах у нас есть поддержка загрузку внешних данных

 

Я так понимаю что спустя пару лет ничего не добавилось в данном направлении и передача искуственного запроса с параметром yabs-sid и yandexuid не даст нужного результата?

Обновление: в Метрике не работает, ветку можно не читать.

Я такого в Метрике не делал, но обычно можно решить вопрос через моделирование запроса к серверу (хита). Это не особо просто. Найдите, какой запрос отправляется к Яндексу (url вида http://mc.yandex.ru/watch/НОМЕР_СЧЕТЧИКА?МНОГО_ПАРАМЕТРОВ) и попробуйте его смоделировать в автоматическом режиме. Важно, чтобы идентификатор пользователя оставался тем же, иначе данные не подвяжутся (а если в Метрике есть какие-то хитрые проверки, то могут не подвязаться и с верным идентификатором). Что конкретно в Метрике определяет пользователя - вопрос (логично предположить, что кукой yandexuid, но мб и какими-то другими параметрами, не хочется тратить время на эксперименты). То есть схема такая: пользователь уходит на оплату, данные о его user id в метрике сохраняются где-то на сервере (и мб другие данные, которые метрика использует), когда появляется информация об оплате, моделируется хит с запросом с этими данными на сервер Метрики. Важно, чтобы сессия не успела закончиться (не прошло 30 минут с ухода пользователя на оплату, если стоят настройки по умолчанию), иначе весь процесс будет иметь заметно меньше смысла.

Что то я сомневаюсь. Запрос то я знаю. Но от имени клиента я его не пошлю. Ведь я  про его объект ЯМ ничего не знаю, он живет в его браузере и яндексе, без меня.

При чём тут объект? Сервер Яндекса получает запрос картинки со всеми параметрами и заголовки этого запроса.

Я боюсь, вы не понимаете вопроса.

reachGoal - это только метод решения настоящей задачи, а не сама задача. Сама задача такая: видеть в Метрике результаты процессинга. Степан говорит о возможности (которой пока нет, но будет) загрузить информацию из внешнего источника и связать её с данными метрики. Видимо, по ID заказа. Я предлагаю при получении информации об успешном процессинге моделировать отправку данных на сервера Метрики, выдавая такие запросы за хиты пользователей, ушедших на оплату. Это работает в других системах статистики, где я это делал, и вполне может работать и в Метрике.
Боюсь, этот мой ответ вам непонятен.

Да, спасибо что уточнили, но я понял ваш ответ и в прошлый раз.
Вся проблема как раз в этом пункте " выдавая такие запросы за хиты пользователей ".
Потому что метрика сама отличает пользователя, без меня.
В их обмене я не учавствую. И "встроить" туда мой запрос не выйдет без браузера клиента, а его уже нет. 

Вероятно вы исходите из того что " получении информации об успешном процессинге " идет из браузера пользователя, тогда да, с этим проблем нет. Но ко мне оно идет с сервера процессинга.

Счётчики чаще всего определяют пользователя, устанавливая на его браузер пользователя некоторую куку, передавая её с каждым хитом и затем обрабатывая на стороне сервера. А такую передачу можно смоделировать, убедив счётчик, что вы - тот самый пользователь. В случае с Метрикой я предполагаю, что для проведения моделирования достаточно считать и сохранить куку пользователя yandexuid (по тесту на скорую руку так и есть, для внимательной проверки нужно больше времени). Она передаётся на сервера Яндекс.Метрики вместе с заголовком запроса. То есть смоделировав этот заголовок  с указанной cookie (и сделав сам запрос похожим на настоящий) можно убедить сервера Метрики, что запрос был от того же пользователя, хотя по факту его посылает ваш скрипт, получивший подтверждение транзакции. Если у этого "пользователя" ещё не закончилась сессия, по всей видимости, запрос подвяжется к текущей сессии. Надо заметить, есть много других кук Яндекс.Метрики, но по предварительному тесту их не обязательно задавать такими же, как у настоящего пользователя.

PS Это всё достаточно сложно, может быть проще сводить данные в экселе ) Просто по вопросу подумал, что вы хорошо понимаете техничку, и вариант может быть вам интересен.

Юрий, а вы в курсе что у куки есть привязка к  домену например?

Вы действительно думаете что любой сайт который пользователь посетил своим браузером может считать куку яндекса? и отправить ее от себя?

 

Считайте уж тогда мою куку авторизации в яндекс почте, да и берите оттуда что вам понравится.

 

Все это довольно забавно, спасибо вам.
 

Такую "техничку" я уж лучше и понимать не буду.

 

Вы абсолютно правы, прошу прощения. Обычно используются first-party, но не у Метрики. Приношу извинения за потраченное время, действительно идиотизм.

На самом деле, да, вероятность чтоя не понимаю ваш ответ есть.
Помогите. покажите с другой стороны.
Как это в других системах? Может зацеплюсь. 

Яндекс Василий
26 октября 2013, 01:57
> Ему процессинг пишет "проведено" и он закрывает браузер и идет к окошку ждать доставки.
Нормальный процессинг должен уметь возвращать посетителя на исходный сайт после успешной оплаты. Возврат на сайт после оплаты идет на thankyou page, на которой нужно будет передавать параметры интернет магазина.

Я про это писал:

>Клиент на самом деле даже при успешной оплате может на сайт не вернуться уже. 

 

Процессинг ПРЕДЛАГАЕТ ему перейти.

Но вы, очевидно, знаете способ ЗАСТАВИТЬ?

 

С удовольствием послушаю.

2016 год. Актуально. Та-же самая проблема.
Нужно с сервера отправлять reachGoal на апи яндекса, либо как-то учитывать достижение цели в статистике.
Эмулировать xhr-запрос браузера не вариант. Это не предусмотрено сервисом, в любой момент яндекс может что-то поменять в своём JS API и твой скрипт сломается. Нужно чтобы всё было легально, по API и работало стабильно.