14

好的,这是我一直在寻找的目标。

众所周知,大多数广告和分析公司使用所谓的“像素”代码来跟踪网站浏览量、交易、转化等。

我确实对它的工作原理有一个大致的了解,问题是如何实现它。跟踪代码由几个部分组成。

  1. 跟踪代码本身。这是用户在该<head>部分的网页上插入的代码。此代码的主要目标是设置一些客户特定的变量并调用该*.js文件。

  2. *.js文件。该文件包含 CRUD(创建/读取/更新/删除)cookie 的所有魔力,跟踪用户事件和与网页的交互。

  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="">

谷歌分析: http://www.google-analytics.com/__utm.gif?utmwv=4&utmn=769876874&etc

现在,很明显,*.gif请求必须到达服务器端脚本语言才能读取参数数据并将它们存储在数据库中。

有谁知道如何在 Zend 中实现它?

更新 我感兴趣的另一件事是:如何避免用户的浏览器加载缓存*.gif?随机参数值会起作用吗?示例:每个请求src="pixel.gif?nocache=random_number"nocache参数值都不同。

4

4 回答 4

2

由于 Zend 是使用 PHP 构建的,因此可能值得阅读以下问答:开发跟踪像素

除了这个答案之外,当您正在寻找一种避免缓存跟踪图像的方法时,最简单的方法是向其附加一个唯一/随机字符串,该字符串是在运行时生成的。

例如,在服务器端和创建每个图像时,您可能会添加一个随机 URL id:

<?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."'>";

?>
于 2013-05-06T00:05:09.747 回答
0

首先,*.gif不需要是那种文件类型,唯一感兴趣的是Content-Typehttp头。在开始时将其设置为image/gif(或任何其他适当的类型),执行您的代码并将某种图像呈现给响应正文。

于 2013-02-01T15:13:35.167 回答
0

好吧,上面所有的代码都是正确的并且很好,但是可以肯定的是,上面的那个人提到了“g.gif”

您只需添加一个简单的 php 代码即可写入 sql 或 fwrite("file.txt",$opened) 其中 var $opened 充当计数器 ++,如果有人打开您的邮件...然后将其保存为“g.gif”

要完成所有这些,只需添加以下内容:

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

到您的“.htaccess”文件,但请务必为该 g.gif 或任何.gif 创建一个新目录,其中该目录仅包含 g.gif 和 .htaccess

于 2014-09-24T23:33:09.617 回答
0

只需将我的 2 美分添加到此线程,因为我认为缺少一个重要且经常使用的选项:您不一定需要脚本语言来捕获请求。一种更有效的方法是使用 Web 服务器访问日志(例如 apache 访问日志)来记录请求,然后使用您认为合适的任何工具处理该日志,例如 ELK 堆栈。

这使得为​​请求提供服务变得更加轻松,因为没有加载脚本语言来准备响应,只加载本机 apache 响应,这通常效率更高。

于 2015-12-10T07:56:29.393 回答