【问题标题】:"Session" tracking seems broken“会话”跟踪似乎已损坏
【发布时间】:2013-07-07 20:29:36
【问题描述】:

我有 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。 (我优先考虑 cookie。如果他们有 cookie,我宁愿做一个 cookie,以防他们离开并稍后回来。)

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

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

有没有办法将会话错误地标记为“scaredycut-direct”,并绕过 cookie 和 url 标记方法?还有其他方法吗?

非常感谢您的帮助。

【问题讨论】:

  • 您基本上可以用$trackingID = $_COOKIE[...] or $_GET['azn'] or 'scaredycut-direct' 替换整个functions.php sn-p 并达到相同的效果。但这与绕过它无关。
  • 很高兴知道,谢谢。

标签: php wordpress cookies


【解决方案1】:

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

除此之外,它看起来还不错。

【讨论】:

    猜你喜欢
    • 2013-05-23
    • 2020-03-18
    • 1970-01-01
    • 2021-12-10
    • 2016-05-27
    • 1970-01-01
    • 2018-02-24
    • 2016-12-15
    • 2022-01-26
    相关资源
    最近更新 更多