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

Хорошо, вот цель, которую я долго искал.

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

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

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

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

  3. Пиксельный код. Это <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 запрос должен достигнуть языка сценариев на стороне сервера, чтобы прочитать данные параметров и сохранить их в БД.

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

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

4 ответа

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

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

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

Ну, все вышеприведенные коды верны и хороши, но чтобы быть уверенным, парень выше упомянул "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

Другие вопросы по тегам