Подтвердить что ты не робот

Как создать и внедрить код отслеживания пикселей

ОК, вот цель, которую я искал некоторое время.

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

У меня есть общее представление о том, как это работает, проблема в том, как его реализовать. Коды отслеживания состоят из нескольких частей.

  • Код отслеживания. Это код, который пользователи вставляют на свою веб-страницу в разделе <head>. Основная цель этого кода - установить некоторые специфические для клиента переменные и вызвать файл *.js.

  • *.js. Этот файл содержит всю магию файлов cookie CRUD (создание/чтение/обновление/удаление), отслеживание пользовательских событий и взаимодействие с веб-страницей.

  • Код пикселя. Это тег <img> с атрибутом src, указывающим на файл изображения *.gif (например), который принимает все параметры, собранные на странице, и сохраняет их в базе данных.

Пример:

Код пикселя WordPress: <img id="wpstats" src="http://stats.wordpress.com/g.gif?host=www.hostname.com&amp;list_of_cookies_value_pairs;" alt="">

Google Analitycs: http://www.google-analytics.com/__utm.gif?utmwv=4&utmn=769876874&etc

Теперь очевидно, что запрос *.gif должен достигнуть языка сценариев на стороне сервера, чтобы читать данные параметров и хранить их в db.

Есть ли у кого-нибудь идеи, как реализовать это в Zend?

UPDATE Еще одна вещь, которая мне интересна: Как избежать использования браузера пользователя для загрузки кэшированного *.gif? Будет ли случайное значение параметра делать трюк? Пример: src="pixel.gif?nocache=random_number", где значение параметра nocache будет различным для каждого запроса.

4b9b3361

Ответ 1

Поскольку Zend построен с использованием PHP, возможно, стоит прочитать следующий вопрос и ответ: Разработка пикселя отслеживания.

В дополнение к этому ответу, и поскольку вы ищете способ избежать кеширования изображения отслеживания, самый простой способ сделать это - добавить к нему уникальную/случайную строку, которая создается во время выполнения.

Например, на стороне сервера и с созданием каждого изображения вы можете добавить случайный URL-адрес:

<?php

  // Generate random id of min/max length
  $rand_id = rand(8, 8);

  // Echo the image and append a random string
  echo "<img src='pixel.php?a=".$vara."&b=".$varb."&rand=".$rand_id."'>";

?>

Ответ 2

Прежде всего, *.gif не обязательно должен быть этим типом файла, единственное, что представляет интерес, это заголовок Content-Type http. Установите в начале image/gif (или любой другой, подходящий тип), выполните свой код и отрисуйте какое-то изображение в тело ответа.

Ответ 3

Ну, все вышеперечисленные коды верны и хороши, но, чтобы быть уверенным, парень выше упоминает "g.gif"

Вы можете просто добавить простой PHP-код для записи в sql или fwrite ( "file.txt", $open) где var $open служит счетчиком ++, если кто-то открыл вашу почту... затем сохраните его как "g.gif"

Чтобы все это просто добавить:

<Files "/thisdirectory">
 AddType application/x-httpd-php .gif
</Files>

в ваш файл .htaccess, но обязательно создайте новый каталог для этого g.gif или what.gif, где каталог содержит только g.gif и .htaccess

Ответ 4

Просто добавьте мои 2 цента в этот поток, потому что я думаю, что важная и часто используемая опция отсутствует: для захвата запроса необязательно нужен язык сценариев. Более эффективный подход заключается в том, чтобы использовать журнал доступа к веб-серверу (например, журнал доступа к файлам apache) для регистрации запроса, а затем обрабатывать этот журнал с любыми инструментами, которые вам подходят, например, с помощью стека ELK.

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