web-dev-qa-db-fra.com

Implémentation de Google Analytics Social Tracking. L'exemple de Google est-il correct?

La page d'aide actuelle de Google Analytics sur le suivi des réseaux sociaux (developers.google.com/analytics/devguides/collection/gajs/gaTrackingSocial?hl=es-419) renvoie à cette page avec un exemple de mise en oeuvre: http://analytics-api-samples.googlecode.com/svn/trunk/src/tracking/javascript/v5/social/facebook_js_async.html

J'ai suivi l'exemple attentivement mais les interactions sociales ne sont pas enregistrées. Il s’agit de la page Web avec la configuration qui ne fonctionne pas: http://bit.ly/1dA00dY (domaine masqué, conformément aux recommandations de Google pour les webmasters de son forum produit)

Voici la structure de la page:

  1. Dans le :
    1. ga code async copié à partir de la page d'analyse
    2. une balise de script reliant à stocké dans le même domaine.
    3. la balise de chargement Twitter js
  2. Dans le
    1. la div fb-root
    2. le facebook async chargeant js comprenant le _ga.trackFacebook (); appel
    3. les boutons sociaux après, comme suit:
      1. (avec l'URL appropriée)
      2. Tweet (avec la bonne poignée)

C'est tout. Autant que je sache, je l'ai implémenté exactement comme dans l'exemple, mais les likes et les twitts ne sont pas enregistrés.

J'ai également modifié ga_social_tracking.js pour enregistrer les interactions sociales en tant qu'événements, en ajoutant le code ci-dessous. Cela ne marche pas non plus. Quel pourrait être le problème?

Merci!


Code ajouté à ga_social_tracking.js

var url = document.URL;
var category = 'Social Media';

/* Facebook */
FB.Event.subscribe('Edge.create', function(href, widget) {
  _gaq.Push(['_trackEvent', category, 'Facebook', url]);
});

/* Twitter */
twttr.events.bind('Tweet', function(event) {
  _gaq.Push(['_trackEvent', category, 'Twitter', url]);
});
2
s_a

Une possibilité: vous essayez peut-être de vous lier aux événements avant que tous les fichiers javascript ne soient chargés. Les appels à FB.Event.subscribe et twttr.events.bind doivent être effectués une fois la page chargée. Par exemple, en utilisant jquery $(document).ready(function() { ou la méthode intégrée à l'API facebook: window.fbAsyncInit = function(){

Je vous recommande de placer les appels console.log à côté de vos appels _gaq.Push pour vous assurer que vous pouvez voir ces fonctions se déclencher lorsque vous appuyez sur le bouton J'aime.

1
Stephen Ostermiller