我需要跟踪我的 edm 上的点击率,并且我需要查看这些点击率中有多少在一天结束时实际转换(在 30 天内)。
所以我的想法是,在 edm 上的每个链接上,我将它们指向我的域 (siteA.com),我在其中设置了一个 cookie,然后将它们重定向到他们最初点击的实际站点 (siteB.com)。
然后,用户单击立即购买并被发送到购买站点 (siteC.com)。
在购买确认页面上,我调用驻留在 siteA.com 上的脚本,以获取我设置的 cookie(如果有)并记录交易。
到目前为止,我设法进入第 3 步,它调用驻留在 siteA.com 上的脚本,但我无法获得我之前设置的 cookie 的值。我知道它调用了脚本,因为日志文件被写入事务详细信息,但没有 cookie 详细信息。我是否对 siteA.com 上的脚本使用了错误的回调?还是我完全错过了什么?
所以这是我在确认页面上使用的代码:
<script type="text/javascript">
var adJsHost = (("https:" == document.location.protocol) ? "https://" : "http://");
document.write(unescape("%3Cscript src='" + adJsHost + "siteA.com/tracker/tracking.php' type='text/javascript'%3E%3C/script%3E"));
logTransaction (orderValue , orderRef, merchantID, uid , htname, pixel, payoutCodes, offlineCode,checkOutDate,currencyCode);
</script>
在 tracking.php 文件中,我有以下 javascript 代码:
function logTransaction (orderValue , orderRef, merchantID, uid , htname, pixel, payoutCodes, offlineCode,checkOutDate,currencyCode)
{
var xmlhttp;
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","http://siteA.com/tracker/confirmation.php?tranID="+uid+"&orderValue="+orderValue+"¤cyCode="+currencyCode,true);
xmlhttp.send();
}
最后,这就是我在confirmation.php 上的内容
if (isset($_COOKIE["myedm"])) {
$cookie_array = explode(",", $_COOKIE["myedm"]);
$mc_cid = $cookie_array[0];
$mc_eid = $cookie_array[1];
$numberofvisits = $cookie_array[2];
}
$tranID = $_GET['tranID'];
$orderValue = $_GET['orderValue'];
$currencyCode = $_GET['currencyCode'];
$file = 'people.txt';
// Open the file to get existing content
$current = file_get_contents($file);
// Append a new person to the file
$current .= "\n tranID:".$tranID;
$current .= "\n currencyCode:".$currencyCode;
$current .= "\n orderValue:".$orderValue;
$current .= "\n mc_cid:".$mc_cid;
$current .= "\n mc_eid:".$mc_eid;
$current .= "\n numberofvisits:".$numberofvisits;
// Write the contents back to the file
file_put_contents($file, $current);