带有 FB Bot 的 Google 标签管理器中的无效 HTML、CSS 或 JavaScript 错误

Ofi*_*gel 1 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>
Run Code Online (Sandbox Code Playgroud)

Bin*_*Han 7

GTM 不允许使用非标准的 HTML 属性。因此HTML 元素中的" attribution" 和 " page_id" 会导致 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>
Run Code Online (Sandbox Code Playgroud)

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