2010-09-02 8 views
4

J'essaie de suivre certains comportements personnalisés sur notre application Facebook Canvas. Je dois envoyer des variables personnalisées à Google Analytics, mais le tag fb: google-analytics est trop limité.Attribut Google Analytics personnalisé sur Facebook

Connaissez-vous un moyen de contourner ce problème?

Je suis le suivi de la page normale, mais j'ai également besoin de suivre les appels Ajax et les variables personnalisées.

Merci, Diogo

+0

+1 bonne question – Yahel

+0

Cela pourrait aider à obtenir une solution ... Je cherche actuellement le code php pour les sites mobiles et changer pour l'adapter à facebook. Il n'a toujours pas testé sur Facebook mais j'ai réussi à envoyer la demande via une balise img. Je posterai ici si je comprends bien :) – DiogoNeves

+1

pourrait vouloir regarder cela http://www.webdigi.co.uk/blog/2010/google-analytics-for-facebook-fan-pages/ ou passez à l'application iframe. – Denis

Répondre

1

Ok, basée sur la suggestion Denis, mais compte tenu du fait que nous ne pouvons pas complètement changer notre application pour fonctionner comme iFrame, nous avons fixé le problème en utilisant des iFrames « invisibles » au début de la page.

Le code est très similaire à ceci:

<?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> 

Et pour l'utiliser, nous ajoutons cette iFrame à une page de toile en utilisant:

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

Il nous reste à améliorer le code, pour Par exemple, nous pourrions ajouter le support de plusieurs variables dans le même iFrame ...

J'espère que cela aidera quelqu'un et j'espère que nous pourrons passer très bientôt à iFrame :)

p.s. Vous pouvez utiliser cette technique pour exécuter à peu près tout javascript mais gardez à l'esprit que, si vous en avez besoin beaucoup, vous devez projeter complètement passer à iFrame en ce moment :)

Merci pour votre aide une fois de plus :)

Vive, Diogo