我有Facebook广告将用户引入网站。每个广告都有不同的跟踪ID: www.scaredycut.com/index.php?azn=TRACKING_ID
一旦进入网站,跟踪ID就会被插入到亚马逊的链接中(以便在购买商品时指示推荐销售)。如果用户直接访问该网站(而不是通过广告),则会收到跟踪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;
?>
然后,我只是将$ trackingID插入到链接的href中。 (我优先考虑cookies。如果他们有cookie,我宁愿做一个cookie,以防他们离开并稍后再回来。)
我的方法在大多数情况下都有效(对于新手我来说很惊讶)。会话正在被正确跟踪,但我非常怀疑某些会话被错误地跟踪为“scaredycut-direct”而不是他们的广告特定跟踪ID。
该网站大部分是单页。通过导航到另一个页面,用户实际上没有办法丢失网址标记。
有没有办法将会话错误地标记为“scaredycut-direct”,并绕过cookie和url标记方法?还有另一种方法吗?
非常感谢您的帮助。
答案 0 :(得分:0)
添加的第三个选项是$_SERVER['HTTP_REFERER']
,但它是由浏览器设置的,并不可靠。这也意味着,如果他们来自谷歌,它将被设置为谷歌。
除此之外,看起来没问题。