LINUX.ORG.RU

Междоменное отслеживание.


0

1

Товарищи, помогите. Столкнулся с задачей впервые...
Есть N+1 доменов. Надо отслеживать действия некоторых посетителей N доменов на (N+1)-ом.
Куки через iframe - не выставляются. Никак.
Гугл-аналитика не помогает, потому что нужен один идентификатор для всех доменов, а они УЖЕ разные, все домены имеют свою долгую и печальную историю.
Что ещё можно сделать?

★★★★★

Не совсем ясно, что требуется, но технически:

  • можно попытаться хранить в одной из реализаций web storage браузера - спеки html5 все время меняются, может что-то появилось новенькое
  • разные сомнительные шпионские непопулярные методы, типа просмотр history через javascript теоретически.
  • написать расширение (хотя бы для лисы для начала, java-апплет еще можно запилить, но это стремнее будет) и по согласию пользователя отсылать информацию
  • хранить некоторую информацию в window.name (вроде, но может и например в title - как-то игрался), известный способ обхода ограничений междоменных.

Организационно:

-за определенное вознаграждение, спрашивать разрешения помочь собирать статистику - просто на худой конец запилить форму-опросник.

swwwfactory ★★
()
Последнее исправление: swwwfactory (всего исправлений: 1)
Ответ на: комментарий от swwwfactory

сомнительные шпионские непопулярные методы

Которые либо прикрыты, либо активно прикрываются.

хранить некоторую информацию в window.name

А как это поможет?

Xellos ★★★★★
() автор топика
Ответ на: комментарий от Xellos

N доменов под твоим контролем?

N + 1 -ый домен вне твоего контроля и полностью т.е. пользователь может хоть гугле открыть, так?

swwwfactory ★★
()
Ответ на: комментарий от swwwfactory

Нет, домены все под моим контролем. Как минимум, js-код я могу любой написать, ну и кое-где серверный код.

Всё честно, никаких хакингов, никаких фишингов, просто сами себе создали проблемы, создав несколько независимых доменов в SEO-целях, а сейчас вот задумались, что хочется знать, чем именно люди на них интересуются. Конкретные люди.

Xellos ★★★★★
() автор топика
Последнее исправление: Xellos (всего исправлений: 1)
Ответ на: комментарий от Xellos

Нет, домены все под моим контролем. Как минимум, js-код я могу любой написать, ну и кое-где серверный код.

тогда что мешает отдавать статистику каждому домену своим скриптом?

swwwfactory ★★
()
Ответ на: комментарий от swwwfactory

Мне нужна статистика с домена B. Статистика действий пользователей, которые были на домене A и заполнили и отправили форму.
Даже не статистика, а вот именно лог действий.

Xellos ★★★★★
() автор топика
Последнее исправление: Xellos (всего исправлений: 1)

а добавить свой скрипт аналитики не вариант? всё тоже самое как в гуголах: со стороннего ресурса запрашивается прозрачная гифка размером 1х1 и в параметре запроса передаётся кучка нужной инфы собранной скриптом... и потом парсим логи этого стороннего ресурса вычленяя нужную инфу и велосипедом строим красивые графики

mm3 ★★★
()
Ответ на: комментарий от mm3

Конкретно. Есть сайт А, на котором нет ничего, кроме одной формы. «Покупайте наших слонов!». Есть сайт Б, на котором есть куча всего, масса исследований на тему «болгарский слон - лучший друг советского слона», советы лучших слоноводов, раздел «и это тоже о слонах», ну и предложение купить слона, куда без него.
Каких слонов на сайте Б смотрели люди, которые когда-то решили купить слона на сайте А?
Домены А и Б не похожи друг на друга никак, сайты находятся на разных серверах. Любой обмен информацией - пожалуйста. Но КАКОЙ информацией можно обменяться?

Xellos ★★★★★
() автор топика
Ответ на: комментарий от Xellos

проблема междоменного отслеживания пользователей может быть решена разными способами и один из них, это http://ru.wikipedia.org/wiki/HTTP_ETag который кстати используется гуглом для междоменного отслеживания... и вообще кто мешает гуглоаналитику на один идентификатор повесить и воспользоватся советами из статьи http://habrahabr.ru/company/Techart/blog/88039/ ?

mm3 ★★★
()

повесить домены на один id гугл -аналитикс нельзя?

kombrig ★★★
()
Ответ на: комментарий от mm3

Про E-tag почитаю, спасибо. Один id - это уже больше организационный вопрос, можно ли, нельзя ли... Не во всех случаях можно, это очевидно.

Xellos ★★★★★
() автор топика
Ответ на: комментарий от mm3

Так это. Кука вешается на домен. И живёт на нём всегда, пока время не выйдет. Открыл браузер, закрыл, перегрузил машину - кука жива. А etag куда вешается и по каким принципам живёт? И живёт ли?

Xellos ★★★★★
() автор топика
Ответ на: комментарий от Xellos

Можно на пальцах разъяснить?

при запросе очередной картинки с котиками сервер помимо собственно картинки может вернуть в заголовке поле

ETag: "686897696a7c876b7e"
с какой нибудь строчкой... браузер картинку закеширует вместе с этой строчкой и если встретит тотже самый адрес картинки с котиками то вместо того чтобы отобразить её из кэша браузер пошлёт на сервер запрос с полем
If-None-Match: "686897696a7c876b7e"
чтобы удостовериться что картинка не поменялась... заместо картинки с котиками можно использовать этот механизм при отдаче к примеру скрипта со своей аналитикой в котором зашить эту самую строчку в качестве идентификатора пользователя... скрипт на каждый чих шлёт аналитику с идентификатором и при этом этот идентификатор присутствует на всех сайтах которые используют этот закешированный скрипт.

mm3 ★★★
()
Ответ на: комментарий от Xellos

в урле или window.name при открытии нового окна/страницы передавай идентификатор перехода с домена A на B, далее в скриптах статистики ссылаешься на этот ИД. В результате получаешь трассу пользователя по доменам. Насчет window.name собственно и ответ на твой вопрос как использовать. Но имеет смысл, если будешь делать window.open - но это решаемо т.к. можно добиться, чтобы открывалось в нужном, окне/табе. Только естественно это работает для js.

Посмотри все-же web storage - вроде там можно запрашивать и сохранять информацию на других страницах/доменах.

Если не поможет, то остается только расширение писать наверное.

swwwfactory ★★
()
Последнее исправление: swwwfactory (всего исправлений: 1)
Ответ на: комментарий от Xellos

Каких слонов на сайте Б смотрели люди, которые когда-то решили купить слона на сайте А?

Вот так: для одного юзера

<a href='http://elehpants-researches.com/entry-xxx1/research.html'>more elephants...</a>

для второго

<a href='http://elehpants-researches.com/entry-xxx2/research.html'>more elephants...</a>

swwwfactory ★★
()
Последнее исправление: swwwfactory (всего исправлений: 1)

Вопрос не совсем понятен: ты хочешь вообще узнать, как организовать слежку, или как решить эту задачу с помощью популярных инструментов (ГА, ЯМ, микспэнел и т.д.)?

Apple-ch ★★
()
Ответ на: комментарий от swwwfactory

идентификатор перехода с домена A на B

Нет. Однажды юзер был на домене А. Как-нибудь потом он зашёл на домен Б. Если бы он переходил туда сразу, по ссылке, или ещё как - вопросов бы не было.

Xellos ★★★★★
() автор топика
Ответ на: комментарий от kot_otbelivatel

Это нас не волнует. Если человек настолько хитрожопый, что использует гостери, открывает каждое окно браузера в новой анонимной сессии, и так далее - себе дороже за ним гоняться.
Хомячков всё равно на порядки больше.

Xellos ★★★★★
() автор топика
Ответ на: комментарий от Xellos

Самый простой способ — тупо отслеживать хиты — тут уже указали. На всех доменах загружаешь скриптик с какого-нибудь одного домена, ставишь куки по аналогии с аналитиксом, обрабатываешь приходящую инфу и примерно знаешь, на каких страницах был юзер, сколько времени проводил и так далее.

Раз все сайты под твоим контролем, то можно сделать гораздо более продвинутый вариант — вдобавок к идентификации по кукам использовать внутреннюю идентификацию, то есть передавать трекеру айди пользователя. Это позволит учитывать движения пользователей, заходящих с разных девайсов.

Надеюсь, я понятно излагаю :)

Apple-ch ★★
()
Ответ на: комментарий от Xellos

Нет. Однажды юзер был на домене А. Как-нибудь потом он зашёл на домен Б. Если бы он переходил туда сразу, по ссылке, или ещё как - вопросов бы не было.

В основном будут идти сразу, так-что метить переход вполне реализуемо (например гугл не дает прямых ссылок при поиске (только пишет их, а реальный переход делается скриптом)).

Есть способ один «крайний» - анализ посещенных ссылок в браузере через свойство visited. Задается заранее известный список из множества посещаемых страниц и проверяется по ним свойство visited - никогда не применял такое на практике, но такое возможно.

swwwfactory ★★
()
Ответ на: комментарий от swwwfactory

Не будут они идти сразу, вот в чём дело. Там даже ссылок нет, от слова совсем. Только руками набрать адрес, ну или опять из яндекса.

свойство visited

Криво. Сложно. Не учитывает внешние переходы и прочее.

Xellos ★★★★★
() автор топика
Ответ на: комментарий от Apple-ch

ставишь куки по аналогии с аналитиксом

НЯП, аналитикс присваивает ID по какому-то хитрому алгоритму. То есть мне нужен похожий алгоритм, который позволит проставить одному юзеру одинаковую куку на разных сайтах. В общем-то мелочь, нужно всего лишь свелосипедить ядро гугл-аналитики.

Xellos ★★★★★
() автор топика
Ответ на: комментарий от Xellos

Ну так это просто. Делаешь простенький скрипт типа счетчика на отдельном домене, где сохраняешь все что нужно (не забывая сохранять в куках уникальный id для посетителей). А на страницах контролируемых сайтов через js вызов той же самой картинки 1х1 пиксель, как советовали.

gruy ★★★★★
()
Ответ на: комментарий от gruy

Ну, и? Зашёл человек на первый сайт. Я ему выдал id=1. Он, довольный, закрыл окно и ушёл пить водку.
Через неделю протрезвел, и заходит на второй сайт. Дальше что? У кого что спрашивать и что с чем сравнивать?

Xellos ★★★★★
() автор топика

Что ещё можно сделать?

Дёргать из клиента на домене N AJAX-запрос с описанием действия на домене N+1.

KRoN73 ★★★★★
()

А, вообще, это точно у тебя клиентом нужно делать? Может, просто _сервер_ N будет сообщать серверу N+1 о том, что пользователь делает?

Единственное кроссдоменное действие в моей практике — это мультидоменная авторизация. Всё остальное я через текущий сервер делаю.

KRoN73 ★★★★★
()
Последнее исправление: KRoN73 (всего исправлений: 1)
Ответ на: комментарий от Xellos

На втором сайте точно такой же js. Если кука еще есть (а для большинства так и будет), то проверяешь и сохраняешь на своем сервере статистики то что нужно.

gruy ★★★★★
()
Ответ на: комментарий от KRoN73

Нет авторизации. Если бы она была... Надо отследить пользователя. Понять, что это вот он, тот кто неделю назад заходил, и с тех пор не просыхал.

Xellos ★★★★★
() автор топика
Ответ на: комментарий от gruy

Нельзя на сайте А выставить куку для сайта Б. Нельзя. То есть иногда можно, но только если юзверь это явно в браузере разрешил. По умолчанию - нельзя. И в iframe нельзя. И если в нём отправить форму, и в ответе выставить куку - всё равно нельзя.

google://3rd party cookies

Xellos ★★★★★
() автор топика
Ответ на: комментарий от Xellos

Не, ты неправильно понимаешь.

Кука ставится один раз, при первом посещении домена.

  1. Юзер заходит на exampe1.com первый раз, скачивается скрипт с tracker.example.com, проставляется кука, потому что её до этого не было.
  2. Юзер заходит на другой домен, example2.com. Идёт запрос на скрипт к домену tracker.example.com, отсылается уже существующая кука.
  3. ????????
  4. PROFIT!

Это в минимальном варианте, разумеется.

Apple-ch ★★
()
Ответ на: комментарий от Xellos

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

KRoN73 ★★★★★
()
Ответ на: комментарий от Apple-ch

проставляется кука

Куда? Какому домену?

example2.com. Идёт запрос на скрипт к домену tracker.example.com, отсылается уже существующая кука

Чья? И которая конкретно?

Xellos ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

Пишешь куку
с ней же авторизуешься на других доменах

Как? Другие домены о ней не знают. By design.

Xellos ★★★★★
() автор топика
Ответ на: комментарий от home_user

Он позволит отличить Алису от Боба, при условии, что неделю назад Алиса покупала слона, а Боб нет, а сейчас оба читают увлекательную статью «Что лучше - завести слона или завести козу?» ?

Xellos ★★★★★
() автор топика
Ответ на: комментарий от Xellos

Куда? Какому домену?
Чья? И которая конкретно?

К тому, с которого загружается скрипт. В моём примере это tracker.example.com. Отсылаются все куки, привязанные к этому домену, автоматически; так устроен HTTP.

Без обид, но похоже на то, что ты совершенно не владеешь матчастью. Советую сначала исправить этот недостаток.

Apple-ch ★★
()
Ответ на: комментарий от Xellos

Как? Другие домены о ней не знают. By design.

Я же писал — через AJAX. Ты же сам говоришь, что другие домены под твоим контролем? Делаешь обращение в другой домен из текущего передавая свою куку и скрипт на другом домене прописывает эту куку для себя.

KRoN73 ★★★★★
()
Ответ на: комментарий от Xellos

это же просто отпечатки пальцев - http://zhovner.com/jsdetector/test
можно хоть целиком в md5 загнать и сравнивать, а можно логикой какой-то узнавать что пользователь зашел на сайт А с лэптопа а на сайт Б он смотрел с планшета в туалете.

system-root ★★★★★
()
Ответ на: комментарий от Xellos

Он позволит отличить Алису от Боба, при условии, что неделю назад Алиса покупала слона, а Боб нет, а сейчас оба читают увлекательную статью «Что лучше - завести слона или завести козу?» ?

Должен

home_user ★★★
()
Ответ на: комментарий от KRoN73

Ещё раз. Третьесторонние куки не работают. Нельзя просто так взять и поставить куку не на тот домен, что у тебя в адресной строке.

Xellos ★★★★★
() автор топика
Ответ на: комментарий от Xellos

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

Это не нужно. Домен ставит свою куку сам. Ты дёргаешь ссылку второго домена (через AJAX). Заголовок, возвращаемый это ссылкой может прописать куку _в свой_ (второй) домен.

KRoN73 ★★★★★
()
Ответ на: комментарий от Xellos

Ну так никто это от тебя не требует. Я так делал счетчик для сайтов компании и отслеживал посещения клиентов по ним.

gruy ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.