我有將用戶帶到網站的Facebook廣告。每個廣告都有一個不同的跟蹤ID: www.scaredycut.com/index.php?azn=TRACKING_ID「會話」跟蹤似乎中斷
一旦在網站上,跟蹤ID被插入到亞馬遜的鏈接(以便指示推薦銷售if有東西被買了)。如果用戶直接訪問網站(而不是通過廣告),他們會收到跟蹤ID scaredycut-direct。
我建立了兩條防線:首先,創建一個包含TRACKING_ID的cookie。如果cookie被禁用,那麼url標記仍然存在(azn = TRACKING_ID),用於抓取。
在index.php文件重定向到主頁最初的PHP文件:
# capture TRACKING_ID from URL
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$parsed_url = parse_url($actual_link);
$azn = substr($parsed_url[query], 4);
# save tag into a cookie set to expire in 30 days
setcookie ("ScaredyCut_AmazonReferral1", $azn,time()+60*60*24*30);
在WordPress'的functions.php:
# create TRACKING_ID variable from url tag
$urltrackingID = $_GET["azn"];
# create TRACKING_ID variable from cookie
$cookietrackingID = $_COOKIE["ScaredyCut_AmazonReferral1"];
# logic: which variable to use?
if ($cookietrackingID == NULL) { // if there's no cookie,
if ($urltrackingID == NULL) { // if they came directly,
$trackingID = "scaredycut-direct"; // use tracking ID "scaredycut-direct"
} else { // otherwise, cookies are disabled, so use url tracking ID
$trackingID = $urltrackingID;
}
} else { // otherwise, cookie are enabled, so use cookie tracking ID
$trackingID = $cookietrackingID;
}
在header.php中:
# declare global tracking ID var
<?php
global $trackingID;
?>
然後,我只是在鏈接的href中插入$ trackingID。 (我優先考慮cookies,如果他們有cookies,我寧願做一個cookie以防他們離開後再回來。)
我的方法正在工作,對於大多數人來說(令我吃驚的是新手)。會話正在被正確地跟蹤,但是我有一個非常強烈的懷疑,認爲有些會話被錯誤地追蹤爲「scaredycut-direct」,而不是他們的廣告特定的跟蹤ID。
該網站大多數情況下是一個頁面。通過導航到另一個頁面,用戶沒有真正的方法來丟失url標記。
有沒有一種方法會話被錯誤地標記爲「scaredycut-direct」,並繞過cookie和url標記方法?有沒有另一種方法來做到這一點?
感謝這麼多的幫助。
你可以用'$ trackingID = $ _COOKIE [...]或$ _GET ['azn']或'scaredycut-direct''基本上替換你的整個functions.php片段,並達到同樣的效果。但是這與解決它無關。 –
很高興知道,謝謝。 –