0

我有将用户带到网站的 Facebook 广告。每个广告都有不同的跟踪 ID:www.scaredycut.com/index.php?azn=TRACKING_ID

进入网站后,跟踪 ID 会插入到亚马逊的链接中(以便在购买商品时表明推荐销售)。如果用户直接访问该网站(而不是通过广告),他们会收到跟踪 ID

我设置了两道防线:首先,创建一个包含 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; 
?>

然后,我只需将 $trackingID 插入到链接的 href 中。(我优先考虑饼干。如果他们有饼干,我宁愿做一个饼干,以防他们离开并稍后回来。)

在大多数情况下,我的方法是有效的(对于我这个新手来说令人惊讶)。会话被正确跟踪,但我非常怀疑某些会话被错误地跟踪为“scaredycut-direct”,而不是其广告特定的跟踪 ID。

该网站在大多数情况下是一个页面。用户没有办法通过导航到另一个页面来丢失 url 标签。

有没有办法将会话错误地标记为“scaredycut-direct”,并绕过 cookie 和 url 标记方法?还有另一种方法可以做到这一点吗?

非常感谢帮忙。

4

1 回答 1

0

添加的第三个选项是$_SERVER['HTTP_REFERER'],但它是由浏览器设置的,并不可靠。这也意味着如果它们来自谷歌,它将被设置为谷歌。

除此之外,它看起来还可以。

于 2013-07-10T03:30:53.913 回答