Pergunta

I would like to apply event tracking in google analytics to facebook comments made on our website via the facebook social plugin (iframe widget), but I can't seem to find a way to attach the event. I would prefer if the solution was jquery based, but honostly I'm open to most any suggestion.

Foi útil?

Solução

You can use the Facebook JS SDK Event Subscriptions, specifically comment.create event callback.

FB.Event.subscribe('comment.create', function(response){ 
_gaq.push(["_trackEvent", "Facebook Comment", "Posted", response.commentID]);
});

You can also track comment deletions with comment.remove

FB.Event.subscribe('comment.remove', function(response){ 
_gaq.push(["_trackEvent", "Facebook Comment", "Deleted", response.commentID]);
});

I've tested this, and both appear to work reliably. If you have any troubles, try clearing your cache, and be sure to check the Facebook SDK Status Page.

If you're loading the Facebook SDK asynchronously, those calls should be placed in the asynchronous callback function. If you're loading the SDK synchronously, they just need to be placed lower on the page than the SDK.

The response object will have the commentID, as well as a href attribute, and a parentCommentID, if the comment is a reply to another comment (otherwise, it is set to undefined).

The href attribute's purpose is unclear, but its contents appear to be composed as follows:

http://www.facebook.com/plugins/comments_v1.php?app_id=[your-app-id]&xid=276&url=[encodeURIComponent(location.href)]

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top