簡體   English   中英

“會話”跟蹤似乎已損壞

[英]“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM