2016-12-15 49 views
1

我希望Facebook共享彈出窗口應該來自Google跟蹤代碼管理器。 我所做的已經:Google Tag Manager facebook share

Google代碼管理工具:

1.I創建一個名爲 'Facebook的SDK' 含有這種自定義的HTML標籤:

<script type="text/javascript" language="JavaScript"> 
window.fbAsyncInit = function() { 
FB.init({ 
    appId  : '<app-id>', 
    xfbml  : true, 
    version : 'v2.3' 
}); 


}; 
(function(d, s, id){ 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/en_US/sdk.js"; 
    fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 
</script> 

2.I在瀏覽量中爲此標記觸發。

4,我創建了幾個數據層變量這些我將在以後需要:

**Name**      **Data Layer Variable Name**      
Thread Link     threadLink 
Thread Title     threadTitle 
Company Icon     companyIcon 
Facebook Share Caption   facebookShareCaption 

3.我創建了另一個名爲 'Facebook共享' 自定義HTML代碼:

 <script> 

      FB.ui({ 
      method: 'feed', 
      link: {{Thread Link}}, 
      picture: {{Company Icon}}, 
      name: {{Thread Title}}, 
      caption: {{Facebook Share Caption}} 
      }); 

     </script> 

4.In提前設置這個標籤,在標籤排序選項中,我選擇了這個:

Fire a tag before Facebook Share fires 
Setup Tag: Facebook SDK 
and I chose 'Don't fire Facebook Share if Facebook SDK fails'. 

5.我創建了一個自定義觸發器na如'Facebook分享按鈕'有一個事件名稱爲'fb_share_button_clicked'。 6.我爲此標籤設置了「Facebook Share Button」觸發器。

以源代碼

1.To建立數據層,我添加下面的代碼段,以頁的GTM容器片段上方的頭:

<script> 
dataLayer = [{ 
'threadLink': 'LINKTO/ABCDEF', 
'threadTitle': 'high-ABCDEFA BCDEF ABCDEFABCD EFABCDEFABCDEFABCDEF', 
'companyIcon': 'PATHTO/icon', 
'facebookShareCaption': 'Lorem ipsum dolor sit amet, consectetur adipiscing' 
}]; 

2.當用戶點擊網站上的Facebook圖標時,我推送自定義事件「fb_share_button_clicked」變量

dataLayer.push({ 
    'event': 'fb_share_button_clicked' 
]; 

我的問題是:

  1. 我得到 '未定義' 當我在JavaScript控制檯運行FB。
  2. 當我點擊Facebook的圖標,沒有Facebook共享彈出窗口,
  3. 自定義標籤的Facebook SDK「是在瀏覽量,但自定義標籤「Facebook共享」解僱不,當我點擊Facebook的圖標(在預覽模式下鋸)。
  4. 我看到自定義HTML標籤「Facebook共享」下「的標籤沒有被解僱本頁內容:」在預覽和調試模式,但事件'觸發
  5. 我看到在非有線值發射自定義HTML標籤「分享至Facebook '這樣的:

    名稱:google_tag_manager' 宏(\ [ 'XXXXX]' 111111111111' )

,我將非常感激,如果有人能指導我。

回答

0

你的代碼的最後一塊是不正確的:

dataLayer.push({ 
    'event': 'fb_share_button_clicked' 
]; 

應該是:

dataLayer.push({ 
    'event': 'fb_share_button_clicked' 
}); 

在平行於,你在控制檯中看到什麼樣的錯誤?

相關問題