Как создать и внедрить код отслеживания пикселей
Хорошо, вот цель, которую я долго искал.
Как известно, большинство рекламных и аналитических компаний используют так называемый "пиксельный" код для отслеживания просмотров сайтов, транзакций, конверсии и т. Д.
У меня есть общее представление о том, как это работает, проблема в том, как это реализовать. Коды отслеживания состоят из нескольких частей.
Сам код отслеживания. Это код, который пользователи вставляют на его веб-страницу в
<head>
раздел. Основная цель этого кода - установить некоторые переменные, специфичные для клиента, и вызвать*.js
файл.*.js
файл. Этот файл содержит всю магию файлов cookie CRUD (создание / чтение / обновление / удаление), отслеживание событий пользователя и взаимодействия с веб-страницей.Пиксельный код. Это
<img>
пометить сsrc
атрибут, указывающий на изображение*.gif
(например) файл, который принимает все параметры, собранные на странице, и сохраняет их в базе данных.
Пример:
Пиксельный код WordPress: <img id="wpstats" src="http://stats.wordpress.com/g.gif?host=www.hostname.com&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