在php中自定义跨域度量跟踪系统实现

时间:2012-12-18 19:46:44

标签: php javascript cross-domain pixel metrics

我需要设计一个网站系统,用户可以在其中创建帐户,注册他们的网站并获得显示图像/链接的自定义跟踪代码。我很想听听一些想法。

该代码段需要能够执行以下操作:

a)跟踪网站获得的独特展示次数。

b)跟踪用户访问持续时间(在用户离开网站/域之前需要精确到几秒)

c)让跟踪代码段显示可点击的图片(我应该可以根据显示该代码段的网站更改此图片。)

d)如果用户点击图片,则可以更改访问者去的位置的网址/链接。 (当访问者访问该网站时,该代码段需要显示我选择的图像和我选择的链接。)

e)跟踪此图片的点击次数。

我读到了关于像素跟踪的内容,但这种设计和我需要的指标有点不同。似乎我可以通过包含<img src="http://www.mydomain.com/getImage.php?id=5123" />并在我的php脚本中处理其中一些信息来完成其中一些操作,但我想确保没有更好的方法/更有效的方法来实现它。

3 个答案:

答案 0 :(得分:4)

您要做的是让您的用户嵌入来自您服务器的一段javascript。例如:

终点trackingCode.php将执行一些跟踪工作,然后输出将执行其他跟踪任务的javascript。

a)追踪独特的印象 您可以在trackingCode.php

中立即在服务器端执行此操作

b)跟踪用户访问持续时间 一种方法是将javascript中的定期ajax轮询发送到服务器上的端点。通过这种方式,您可以了解用户在页面上停留的时间。

c)显示可点击的图像 您的javascript将使用document.createElement(或等效文件)将图像添加到主机网站

d)能够更改访问者去的地方的网址/链接 当您在服务器上动态生成javascript时,您可以根据收到的id参数为每个网站生成不同的javascript。您可以利用此功能在上面步骤c中添加到网站的图像中使用不同的图像源和点击后到达网址。

e)跟踪图像的点击次数 您可以在上面的步骤c中创建一个带有子元素的元素,而不是在其中创建一个onclick事件处理程序。 事件处理程序将执行两项操作 - 向服务器发送其他跟踪ajax请求,并重定向到所需的点击后链接。

另一种方法是使用子元素创建元素,并在服务器上的URL上具有点的href属性(类似于https://www.mydomain.com/clickThrough.php?id=5134)。这将进行跟踪并返回302 http状态(暂时移动),这将导致用户被重定向到实际所需的点击目录网址。

答案 1 :(得分:1)

  

b)跟踪用户访问持续时间(在用户离开网站/域之前需要精确到几秒)

不可能。用户离开网站的时间点未定义a secret of the user

服务器只知道用户开始访问网站的时间点以及上次请求的时间点。但那两个精确到了第二个。

因此,用户访问持续时间可以在最短的秒数内获得,但绝不会达到确切的持续时间。

答案 2 :(得分:0)

实现您要完成的任务的最常见方法是创建一个JavaScript代码段,该代码段将image的src属性设置为动态字符串,其中包含JavaScript可以从客户端(以及服务器上的PHP)收集的所有信息方不能)。

关于访问持续时间,这需要比图片和网页上的链接更多,它应该是大量的javascript。

如果我们谈论着陆页,那么从窗口的'unload'事件处理程序运行ajax请求是正常的。任何其他通用出版商可能都不同意这样的代码,因为这是一种“灰色”技术。

另一种方法是在客户端停止移动鼠标后向您的跟踪服务器发送请求。这样做更好,因为如果用户只是在打开跟踪的网站的情况下离开他的电脑就不会计算时间,并且不会计算用户移动鼠标关闭窗口的时间。因此,您会看到有效会话的长度。

但不管怎样,你不应该期望精度水平过高,因为一些跟踪会话会因为跟踪网站上的其他javascript代码而失败。