[英]“Session” tracking seems broken
我有Facebook廣告,可將用戶帶到網站。 每個廣告都有不同的跟蹤ID:www.scaredycut.com/index.php?azn=TRACKING_ID
進入網站后,跟蹤ID將插入到Amazon的鏈接中(以便在購買商品時指示推薦銷售)。 如果用戶直接訪問該網站(而不是通過廣告),則他們將收到跟蹤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's 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;
?>
然后,我只需將$ trackingID插入鏈接的href中。 (我優先考慮使用cookie。如果啟用了cookie,我寧願做一個cookie,以防它們離開並稍后返回。)
我的方法在大多數情況下是有效的(對於我是新手而言,這是令人驚訝的)。 可以正確跟蹤會話,但是我非常懷疑某些會話被錯誤地跟蹤為“ scaredycut-direct”而不是其特定於廣告的跟蹤ID。
該網站大部分是一個頁面。 用戶實際上並沒有辦法通過導航到另一個頁面來丟失url標簽。
有沒有一種方法可以將會話錯誤地標記為“ scaredycut-direct”,並繞過cookie和url標記方法? 還有另一種方法嗎?
非常感謝幫忙。
要添加的第三個選項是$_SERVER['HTTP_REFERER']
,但這是由瀏覽器設置的,並不可靠。 這也意味着,如果它們來自google,它將被設置為google。
除此之外,看起來還不錯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.