【问题标题】:Google Tag Manager facebook share谷歌标签管理器脸书分享
【发布时间】:2016-12-15 21:52:31
【问题描述】:

我希望 Facebook 共享弹出窗口应该由 Google 跟踪代码管理器提供。 我已经做了什么:

在谷歌标签管理器中:

1.我创建了一个名为“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.我在网页浏览时触发了这个标签。

4.我创建了一些数据层变量,我稍后会用到:

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

3.我创建了另一个名为“Facebook Share”的自定义 HTML 标签:

       <script>

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

        </script>

4.提前设置这个标签,在Tag Sequencing选项中,我选择了这个:

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

5.我创建了一个名为“Facebook Share Button”的自定义触发器,其事件名称为“fb_share_button_clicked”。 6.我为此标签设置了“Facebook 分享按钮”触发器。

源代码

1.为了设置数据层,我在GTM容器sn-p上方的页面头部添加了以下sn-p代码:

<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 Share”中看到了有线值,例如:

    name:google_tag_manager['xxxxx'].macro(\'111111111111')

如果有人可以指导我,我将不胜感激。

【问题讨论】:

    标签: facebook google-tag-manager


    【解决方案1】:

    你的最后一段代码不正确:

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

    应该是:

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

    与此同时,您在控制台中看到了什么样的错误?

    【讨论】:

      猜你喜欢
      • 2014-07-15
      • 1970-01-01
      • 1970-01-01
      • 2012-11-20
      • 1970-01-01
      • 2018-04-13
      • 1970-01-01
      • 2013-01-12
      • 1970-01-01
      相关资源
      最近更新 更多