使用FB Bot的Google跟踪代码管理器中的HTML,CSS或JavaScript错误无效

时间:2018-05-28 12:16:23

标签: google-tag-manager facebook-chatbot

我试图将以下Facebook僵尸程序代码放入Google跟踪代码管理器,但我在模板中找到"无效的HTML,CSS或JavaScript。"错误。知道为什么吗?

<!-- Load Facebook SDK for JavaScript -->
<div id="fb-root"></div>
<script>(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 = 'https://connect.facebook.net/en_US/sdk/xfbml.customerchat.js#xfbml=1&version=v2.12&autoLogAppEvents=1';
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<!-- Your customer chat code -->
<div class="fb-customerchat"
  attribution="setup_tool"
  page_id="1393263590925062">
</div>

2 个答案:

答案 0 :(得分:2)

GTM不允许使用非标准HTML属性。因此&#34; attribution&#34;和&#34; page_id&#34;在HTML元素中会导致GTM抛出错误。

您可以使用Javascript生成聊天代码。经过测试并且有效。

<script>
  (function() {
    var el = document.createElement('div');
    el.className = 'fb-customerchat';
    el.setAttribute('page_id', '{{Constant - Facebook Page ID}}');
    el.setAttribute('attribution', 'setup_tool');
    document.body.appendChild(el);
  })();
</script>

p / s:您可以使用页面ID替换变量{{Constant - Facebook Page ID}}。最佳做法是使用用户定义的常量变量,阅读here

答案 1 :(得分:0)

我发现在每个自定义属性的前面添加data-也是可行的(尽管我看不到它在任何地方都有记录)。

<div class="fb-customerchat"
  data-attribution="setup_tool"
  data-page_id="1393263590925062">
</div>