如果你像我一樣以編程方式添加跟蹤代碼(比如你有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>
,正確的解決方法是使用將類似事件訂閱附加到Facebook SDK初始化的window.fbAsyncInit事件。 在下面的代碼中,我使用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]);
});
};
});
Tracking Facebook likes with Google Analytics, the real solution!