2012-12-18 43 views
3

。我很想聽聽一些想法。我需要設計一個網站系統,用戶創建一個帳戶,註冊他們的網站,並獲得一個顯示圖像/鏈接的自定義跟蹤代碼的自定義跨域域度量跟蹤系統實現在php

的片段需要能夠做到以下幾點:

a)軌道獨特印象的網站得到的量。

二)跟蹤用戶訪問持續時間(這需要精確的秒,直到用戶離開網站/域)

C)有一個跟蹤代碼片段顯示一個可點擊的圖片(我應該能夠改變這種基於哪個網站顯示片段的圖片)。

d)如果點擊圖片,可以更改訪問者的網址/鏈接。 (當訪問者訪問該網站時,該片段需要顯示我選擇的圖像和我選擇的鏈接)。 e)跟蹤此圖像的點擊次數。

我閱讀了關於像素跟蹤的內容,但是這個設計和我需要的指標有些不同。似乎我可能會做一些它包括<img src="http://www.mydomain.com/getImage.php?id=5123" />和處理我的PHP腳本中的一些信息,但我想確保沒有更好的方法/更有效的方式來做到這一點。

回答

4

你想要做的是讓你的用戶嵌入一段JavaScript來自你的服務器。例如:

終點trackingCode.php會做一些跟蹤工作,然後輸出將要執行一些其他任務跟蹤一個javascript的。

一)追蹤獨特的展示 爲此,您可以立即在trackingCode.php服務器端

二)跟蹤用戶訪問持續時間 一種方法是從JavaScript的發送週期AJAX輪詢到端點上你的服務器。通過這種方式,您可以瞭解用戶在頁面上停留的時間。

c)顯示可點擊的圖像 您的JavaScript將使用文檔。createElement(或等效)將圖像添加到主機網站

d)能夠更改訪問者將要去的地址的URL /鏈接 當您在服務器上動態生成JavaScript時,可以生成不同的每個網站的JavaScript,基於您收到的ID參數。您可以利用此功能在上面步驟c中添加到網站的圖像中擁有不同的圖像源和點擊後到達網址。

e)跟蹤圖像上的點擊 而不是在上面的步驟c中創建一個包含子元素的元素,您可以創建並附加一個onclick事件處理程序。 事件處理程序將做兩件事 - 發送一個額外的跟蹤Ajax請求到您的服務器,並重定向到所需的點擊通過URL。

另一種方法是創建一個帶有子元素的元素,並在服務器上的URL上具有該點的href屬性(如https://www.mydomain.com/clickThrough.php?id=5134)。這將執行跟蹤並返回302 http狀態(臨時移動),這將導致用戶被重定向到實際所需的點擊後鏈接。

+0

什麼是人們放置此JavaScript代碼的最佳場所?對於步驟e)是否有一些我可以在線查看的功能示例。 onClick與子元素重定向? onClick可能會比使用302 http狀態重定向更好? – CodeCrack

+0

通常建議在結束標記之前。對於第e步 - 我會說沒有JavaScript的實現更強大。但這是一個密切的電話。 –

+0

您認爲這需要多長時間才能實施? – CodeCrack

1

二)跟蹤用戶訪問持續時間(這個需要,直至用戶離開網站/域爲以秒精確)

不可能的。當用戶離開網站的時間點是未定義的a secret of the user

服務器只知道用戶開始訪問網站的時間點以及最後一次請求的時間點。但是那兩個精確到第二個。

用戶訪問持續時間因此可以在最短的秒數內獲得,但從來沒有確切的持續時間。

+0

如果使用.onbeforeunload()查看用戶卸載頁面或.setTimeout()以打開腳本並顯示該用戶仍處於活動狀態,該怎麼辦 – CodeCrack

+1

如果用戶禁用了它,則不能使用它。 – hakre

0

完成您要完成的任務的最常見方法是創建一個JavaScript代碼片段,該代碼片段可將具有圖像的src屬性的標記設置爲動態字符串,其中包含JavaScript可從客戶端收集的所有信息(以及PHP上的服務器端不能)。

關於訪問時間,這將需要比網頁上的圖像和鏈接多得多,它應該是一噸的JavaScript。

如果我們談論登陸頁面,那麼從窗口的「卸載」事件處理程序運行ajax請求將是正常的。任何其他通用發佈者可能不會同意放置這樣的代碼,因爲這是一種「灰色」技術。

另一種方法是在客戶端停止移動鼠標後向您的跟蹤服務器發送請求。這樣做更好,因爲如果用戶只是簡單地將他的電腦打開了跟蹤網站,並且不會在用戶移動鼠標關閉窗口時計時。因此,你會看到有效的會話長度。

但無論如何,您不應該期望精度級別太高,因爲一些跟蹤會話會因爲駐留在跟蹤網站上的其他JavaScript代碼而失敗。

相關問題