将Facebook Pixel事件添加到Squarespace按钮中,点击

时间:2018-07-11 18:20:08

标签: javascript facebook pixel squarespace

我正在尝试向我的Squarespace网站添加一个Facebook像素事件“ ViewContent”。我的页面只有一个按钮,我想在单击按钮时触发该事件。感觉应该很简单,但在我当前的设置下,我在Facebook Pixel Helper中始终遇到错误。

我引用的是这篇文章:Add FB pixel event code into button - Squarespace

根据答案的建议,我在此页的页眉中使用每页代码注入:https://www.wearpapercrane.com/survey

这就是我所拥有的-

    <script>
    (function() {
        var btns = document.getElementsByClassName("sqs-block-button-element");
        var i, I;

        for (i=0, I=btns.length; i<I; i++) {
            btns[i].addEventListener("click", function() {
                fbq("track", "ViewContent");
            });
        }
    })();
</script>

但这是我使用Facebook Pixel Helper进行验证时得到的另一端-

enter image description here

(顺便说一下,这是在单击之后,该按钮会在单独的选项卡中打开链接,因此单击并查看Pixel Helper后将返回页面。)

是否缺少导致此错误的内容?

我已经安装了像素,并且在另一个页面上使用“ Squarespace的Form Embed”功能可以正常工作“铅”事件,所以我很确定这是特定代码注入的问题。

会喜欢所有建议。谢谢!!

1 个答案:

答案 0 :(得分:1)

该事件没有触发,因为您引用的答案(我写的答案)没有说明以下事实:通过标头注入(站点级别或页面级别)注入代码时,必须等待DOM在将事件附加到元素之前先加载。

您引用的答案已更新,特别是以下部分:

<script>
    window.Squarespace.onInitialize(Y, function() {
        var btns = document.getElementsByClassName("sqs-block-button-element");
        var i;
        for (i=btns.length-1; i>=0; i--) {
            btns[i].addEventListener("click", function() {
                fbq("track", "AddToCart");
            });
        }
    });
</script>