【发布时间】:2011-10-15 23:23:06
【问题描述】:
我创建了一个附属横幅脚本,据我所见,它非常独特。我受到 NDA 的限制,所以如果我无法提供实际页面或域名,请理解。
会员可以选择八种不同尺寸的横幅。提供给会员的代码全部采用 CSS 布局 - 简单的 div 和段落 - 单个锚点不包含 onclick 调用,并且 src 不包含查询字符串。附属代码还提供对我客户服务器上的 javascript 文件的调用。锚文本(关键字)因affiliate_id 而异。脚本调用的 src 定义横幅类型和会员 ID,格式为:http://www.somedomain.com/banner_dir/affiliate_id/banner_id/。使用 .htaccess,banner_dir 中的索引页具有扩展名 .js 但解释 PHP 代码。 index.js解析出目录结构提取affiliate_id和banner_id。
到目前为止,如果您可以遵循这一点,则使用 PHP 的 index.js 在客户端服务器上创建一个会话,该会话分配会话变量affiliate_id、banner_id、关键字和引用域。统计信息保存到几个统计信息表中。该脚本退出 PHP,然后使用 document.write() 将横幅样式表写入附属页面。
总之,我在这里所做的是使用我能想到的每一个技巧创建一个跨域 cookie,目的是在远程服务器上创建内容,这将为我的客户最大化 SEO,而负面 SEO .而且,是的,它有效。
当点击横幅时,客户端服务器上有解释性代码来记录横幅的点击,从会话中提取值。
到目前为止,已经满足了客户的所有要求,除了一个。他想将统计信息传递到他的 Google Analytics 帐户。我需要能够根据affiliate_id、横幅类型和关键字为横幅的显示和点击生成统计信息。客户需要能够评估关键字和横幅的效果以及附属公司的表现。理想情况下,我们将能够从横幅视图跟踪客户到成功销售。
过去,我使用的跟踪代码使用的链接结构类似于我用于对客户端服务器的 JS 调用,但在这种情况下,我认为活动在生成统计数据方面会更有效。
我可以在 index.js 脚本退出时传递初始 GA 代码,但我在点击事件时遇到了一些问题。我想避免在单击横幅中的锚点时使用单击事件,以保持代码尽可能干净。理想情况下,我想在访问我的客户端站点时进行后台调用,因为解释会话数据的代码涉及 PHP 重定向,并且在重定向之前无法编写任何内容而不会出错。
有任何问题、cmets 或建议?
我还没有完全掌握这个场地的界面,所以请原谅在这个线程的低端。无论如何,这是我正在使用的代码。数据是通过 cURL 从点击和显示脚本发布的,我知道它正在被调用。但是,数据并未进入 Google Analytics(分析)。
<?
$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>
【问题讨论】:
标签: php seo google-analytics