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



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

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

a) 跟踪网站获得的独特印象的数量。

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

c) 让一个跟踪代码段显示一个可点击的图像(我应该能够根据显示代码段的网站来更改此图像)。

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

e) 跟踪此图像的单击。

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

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

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

a) 追踪独特印象您可以在trackingCode.php 的服务器端立即执行此操作

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

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

d) 能够更改访问者的网址/链接当您在服务器上动态生成javascript时,您可以根据收到的id参数为每个网站生成不同的javascript。你可以利用这一点来获得不同的图片来源,并点击上面步骤c中添加到网站的图片中的url。

e) 跟踪图像上的点击您可以创建一个onclick事件处理程序并将其附加到它,而不是在上面的步骤c中创建一个带有子元素的元素。事件处理程序将做两件事——向服务器发送一个额外的跟踪ajax请求,并重定向到所需的点击url。

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

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

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

服务器只知道用户开始访问网站的时间点和最后一次请求的时间点。但这两个精确到了第二个。

因此,用户访问持续时间可以以最短的秒数获得,但决不能获得确切的持续时间。

实现您想要实现的目标的最常见方法是制作一个JavaScript片段,该片段将呈现带有image的src属性设置为动态字符串的标签,该字符串包含JavaScript可以从客户端收集的所有信息(而服务器端的PHP无法)。

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

若我们讨论着陆页,那个么从窗口的"卸载"事件处理程序运行ajax请求是正常的。任何其他通用发行商可能都不会同意发布这样的代码,因为这是一种"灰色"技术。

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

但无论哪种方式,您都不应该期望精度水平过高,因为一些跟踪会话会因为被跟踪网站上的其他javascript代码而失败。

最新更新