Если вы, как и я, добавляете код отслеживания программным способом (например, у вас есть GATC на главной странице и кнопка «Мне нравится» на производной странице), вы можете использовать следующий код:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function()
{
// init the FB JS SDK
FB.init(
{
appId : 'YOUR_APP_ID',
channelUrl : '//WWW.YOUR_DOMAIN.COM',
status : true,
cookie : true,
xfbml : true
});
// Add event subscripion here
FB.Event.subscribe('edge.create', function (targetUrl)
{
_gaq.push(['_trackSocial','facebook', 'like', targetUrl]);
});
};
// Load the SDK's source Asynchronously
(function(d)
{
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>
Если вы хотите добавить обработчик событий программным способом, правильное решение - использовать событие window.fbAsyncInit для добавления подписки на подобное событие в инициализацию Facebook SDK.
В следующем коде я использовал jQuery для добавления подписки на события после инициализации DOM.
$(function ()
{
var exsistingFbAsyncInit = window.fbAsyncInit;
if (exsistingFbAsyncInit != null)
window.fbAsyncInit = function ()
{
exsistingFbAsyncInit();
FB.Event.subscribe('edge.create', function (targetUrl)
{
_gaq.push(['_trackSocial','facebook', 'like', targetUrl]);
});
};
});
Отслеживание лайков в Facebook с помощью Google Analytics, реальное решение!