我正在尝试向我的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进行验证时得到的另一端-
(顺便说一下,这是在单击之后,该按钮会在单独的选项卡中打开链接,因此单击并查看Pixel Helper后将返回页面。)
是否缺少导致此错误的内容?
我已经安装了像素,并且在另一个页面上使用“ Squarespace的Form Embed”功能可以正常工作“铅”事件,所以我很确定这是特定代码注入的问题。
会喜欢所有建议。谢谢!!
答案 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>