2010-09-02 46 views
4

我正试图跟踪我们的Facebook Canvas应用上的一些自定义行为。我需要将自定义变量发送给Google Analytics,但fb:google-analytics标记太有限。Facebook上的自定义Google Analytics(分析)属性

你知道解决这个问题的方法吗?

我正在跟踪正常页面视图,但我也需要跟踪Ajax调用和自定义变量。

感谢, 迪奥戈

+0

+1很好的问题 – Yahel 2010-09-02 14:45:39

+0

这可能有助于得到一个解决方案... 目前我正在寻找在移动网站上的PHP代码,改变以适合的Facebook。 它仍然没有在Facebook上测试,但我设法通过img标签发送请求。 我会在这里发布,如果我得到它的权利:) – DiogoNeves 2010-09-02 17:13:48

+1

可能想看看这个http://www.webdigi.co.uk/blog/2010/google-analytics-for-facebook-fan-pages/ 或切换到iframe应用程序。 – Denis 2010-09-02 19:06:43

回答

1

好吧,根据丹尼斯的建议,但考虑到我们不能完全切换我们的应用程序作为一个iFrame运行的事实,我们上的使用“隐形”的iFrame中的开头的问题页。

的代码非常类似:

<?php 

$variable = $_GET[ 'var' ]; 
$value = $_GET[ 'value' ]; 
$slot = array_key_exists('slot', $_GET) ? $_GET[ 'slot' ] : 1; 
$level = array_key_exists('level', $_GET) ? $_GET[ 'level' ] : 3; 

if (empty($variable) || empty($value)) 
{ 
    $variable = 'BadRequest'; 
    $value = '1'; 
    $slot = 1; 
    $level = 3; 
} 

assert('is_string($variable)'); 
assert('is_numeric($slot)'); 
assert('is_numeric($level)'); 

$customParamStr = "'$slot', '$variable', '$value', '$level'"; 

?> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
    <head> 
     <title>Analytics Frame</title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <script type="text/javascript"> 
      var _gaq = _gaq || []; 
      _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']); 
      _gaq.push(['_setCustomVar', <?php echo $customParamStr ?>]); 
      _gaq.push(['_trackPageview']); 

      (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); 
      })(); 
     </script> 
    </head> 
    <body> 
    </body> 
</html> 

,并使用它,我们用这个的iFrame添加到画布页:

<iframe class="analyticsFrame" id="analyticsCode" 
     src="???/analyticsFrame.php?var=varname&value=valuename&slot=1&level=3" ?>" width="0px" height="0px" /> 

我们仍然有改善的代码,例如,我们可以在同一个iFrame中添加对多个变量的支持...

我希望这可以帮助某人,我希望我们能够很快切换到iFrame :)

p.s.您可以使用此技术来运行几乎任何JavaScript,但请记住,如果你需要它了很多,你应该项目现在完全切换到的iFrame :)

感谢您的帮助更多:)

一次

干杯, 迪奥戈

相关问题