0

我正在尝试将最近的 html 标记(带有 id)的文本内容添加到我的 facebook 像素标准事件参数中。它应该适用于任何 html 标签,我希望它灵活,无论文本是否在 div、span、p 或其他范围内。

下面是我添加到我的 GTM 标签中的 jQuery。请注意,{{Click Element}} 是本机 GTM 变量。另请注意,我用来触发 GTM 标记的 GTM 触发器(因此下面的 jQuery 代码)已设置,以便在单击“购买”类时启动脚本(参见 HTML 代码)。

<script>
  // look for the content_name
var presentElement = {{Click Element}};
var product_name_element = presentElement;
var cond = true;
while(cond){
    if(product_name_element.id=="product_name"){
        cond = false;
    }else{
        product_name_element = product_name_element.previousElementSibling;
    }
}
var product_name = product_name_element.textContent;
fbq('track', 'AddToCart', {
 content_name: product_name
});
</script>

和 HTML:

    <p id="product_name">Product 1</p>
    <p><a href="#" class="buy">Order</a></p>
    <p id="product_name">Product 2</p>
    <p><a href="#" class="buy">Order</a></p>
  • 所以基本上,在我的 FB 像素事件中,我应该有以下内容:
    • 内容名称:产品 1
    • 单击第一个订单链接时
    • 内容名称:产品 2
    • 单击第二个订单链接时。

任何帮助都会非常高兴!

非常感谢。

4

1 回答 1

0

在您的情况下,您需要创建触发器:

  • 事件类型:点击 - 只是链接
  • 点击元素;匹配 CSS 选择器;.buy 在此处输入图像描述

然后创建标签:

  • 标记类型:自定义 HTML
  • HTML

    <script> // look for the content_name var presentElement = {{Click Element}}; var product_name_element = presentElement.parentElement; var cond = true; while(cond && product_name_element!= null){ if(product_name_element.id=="product_name"){ cond = false; }else{ product_name_element = product_name_element.previousElementSibling; } } if (product_name_element != null) { var product_name = product_name_element.textContent; fbq('track', 'AddToCart', { content_name: product_name }); } </script>

  • 触发器 - 上面定义的触发器

于 2017-06-28T09:46:31.687 回答