使用PHP的Banner统计和Google分析
我已经创建了一个附属横幅脚本,这是,从我所看到的,是非常独特的。我受到保密协议的限制,因此如果我不能提供实际页面或域名,请理解 附属公司有八个不同大小的横幅可供选择。提供给分支机构的代码都是CSS布局——简单的div和段落——一个锚不包含onclick调用,src不包含查询字符串。附属代码还提供了对我的客户端服务器上的javascript文件的调用。锚文本(关键字)因附属机构id而异。脚本调用的src以以下格式定义标题类型和附属机构id:。使用.htaccess,banner_dir中的索引页具有扩展名.js,但解释PHP代码。js解析出目录结构,以提取附属id和横幅id 如果到目前为止还可以遵循这一点,那么index.js使用PHP在客户机服务器上创建一个会话,该会话分配会话变量affiliate_id、banner_id、关键字和引用域。统计数据保存到几个统计表中。该脚本从PHP中退出,然后使用document.write()将横幅的样式表写入附属页面 总之,我在这里所做的是使用我在中所能想到的每一个技巧创建一个跨域cookie,目的是在远程服务器上创建内容,这将最大限度地提高我的客户的SEO,同时减少负面SEO。而且,是的,它起作用了 单击横幅时,客户端服务器上有解释性代码,用于记录从会话中提取值的横幅单击 到目前为止,我们已经满足了客户的所有要求,只有一个例外。他想把统计数据传给他的谷歌分析账户。我需要能够生成统计数据的显示和点击的旗帜的基础上联属_id,旗帜类型和关键字。客户需要能够评估关键词和横幅的功效以及附属公司的绩效。理想情况下,我们将能够跟踪客户从横幅视图到成功销售 在过去,我使用的跟踪代码使用的链接结构与我在客户端服务器的JS调用中使用的类似,不过,在这种情况下,我认为活动在生成统计数据方面会更有效 当index.js脚本退出时,我可以传递初始GA代码,但我在click thru事件中遇到了一些问题。我想避免在点击横幅中的锚时使用click事件,从而尽可能保持代码的干净。理想情况下,我希望在访问客户机的站点时进行后台调用,因为解释会话数据的代码涉及PHP重定向,并且在重定向之前无法编写任何内容而不会出错 有什么问题、意见或建议吗 我还不太了解这个场地的界面,所以请原谅我在这篇帖子里写得太低了。无论如何,这就是我正在使用的代码。数据是通过cURL从单击和显示脚本发布的,我知道它正在被调用。然而,这些数据并没有进入谷歌分析使用PHP的Banner统计和Google分析,php,seo,google-analytics,Php,Seo,Google Analytics,我已经创建了一个附属横幅脚本,这是,从我所看到的,是非常独特的。我受到保密协议的限制,因此如果我不能提供实际页面或域名,请理解 附属公司有八个不同大小的横幅可供选择。提供给分支机构的代码都是CSS布局——简单的div和段落——一个锚不包含onclick调用,src不包含查询字符串。附属代码还提供了对我的客户端服务器上的javascript文件的调用。锚文本(关键字)因附属机构id而异。脚本调用的src以以下格式定义标题类型和附属机构id:。使用.htaccess,banner_dir中的索引页具
<?
$f = $_POST['banner'];
$a = $_POST['affiliate_id'];
$r = urlencode ($_POST['referrer']);
$k = $_POST['keywords'];
// $_POST['c'] = the click event
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>GA Display script</title>
<script type="text/javascript">
var _gaq = _gaq || [];
function loadtracking() {
_gaq.push(['_setAccount', 'UA-XXXXXXXXXX-X']);
_gaq.push(['_setCampNameKey', 'banners']); // name
_gaq.push(['_setCampMediumKey', '<?=$f?>']); // image
_gaq.push(['_setCampSourceKey', '<?=$a?>']); // source
_gaq.push(['_setCampTermKey', '<?=$k?>']); // term/keyword
_gaq.push(['_setReferrerOverride(<?=$r?>)']);
_gaq.push(['_setCampContentKey', '<?=$k?>']); // content
_gaq.push(['_trackPageview']);
<?if ($_POST['c'] == 1){?>
_gaq.push(['_trackEvent', 'banners', 'Click', 'Banner Click-thru']);
<?}else{?>
_gaq.push(['_trackEvent', 'banners', 'Display', 'Banner Display']);
<?}?>
(function() {
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
}
loadtracking();
</script>
</head>
<body>
</body>
</html>
GA显示脚本
var _gaq=_gaq | |[];
函数loadtracking(){
_gaq推送(['''u setAccount','UA-XXXXXXXXX-X']);
_gaq.push([''u setCampNameKey','banner']);//name
_gaq.push([''设置CampMediumKey',''])//图像
_gaq.push([''u setCampSourceKey','']);//源
_gaq.push(['''u setCampTermKey','']);//术语/关键字
_gaq.push(['\u setReferrerOverride()']);
_gaq.push([''u setCampContentKey','']);//内容
_gaq.push([''u trackPageview']);
_gaq.push([''跟踪事件','横幅','点击','横幅点击');
_gaq.push([“跟踪事件”、“横幅”、“显示”、“横幅显示]);
(函数(){
var ga=document.createElement('script');
ga.type='text/javascript';
ga.async=true;
ga.src=('https:'==document.location.protocol?'https://ssl' : 'http://www“)+”.google analytics.com/ga.js';
var s=document.getElementsByTagName('script')[0];
s、 parentNode.insertBefore(ga,s);
})();
}
负载跟踪();
这听起来像是ajax的工作。您声明不希望依赖于单击事件,因此您希望在访问客户端站点时执行操作。如果您创建一个远程javascript文件,并在客户端站点上添加对该文件的引用,这是否符合您的意图
让我知道我是否正确地理解了您,或者这是否有任何帮助。这听起来像是ajax的工作。您声明不希望依赖于单击事件,因此您希望在访问客户端站点时执行操作。如果您创建一个远程javascript文件,并在客户端站点上添加对该文件的引用,这是否符合您的意图
让我知道我是否正确地理解了您,或者这是否有任何帮助。请在此继续。除了GA跟踪代码,我的一切都正常。这是另一个混合的PHP/JS脚本,从横幅显示和单击脚本中调用。我使用cURL发布变量(为了清晰起见,在下面代码的前几行中指定了这些变量)。我知道脚本正在被成功调用,因为我在开发过程中让它用post数组给我发电子邮件。然而,GA没有收到数据。这可能是我没有看到的愚蠢的事情。这里只是一个跟进。除了GA跟踪代码,我的一切都正常。这是另一个混合的PHP/JS脚本,从横幅显示和单击脚本中调用。我使用cURL发布变量(为了清晰起见,在下面代码的前几行中指定了这些变量)。我知道脚本正在被成功调用,因为我在开发过程中让它用post数组给我发电子邮件。然而,GA没有收到数据。这可能是我没有看到的愚蠢的事情。