(GTM) 在 fb 像素标准事件中获取 previousElementSibling 的 textContent
(GTM) Get textContent of previousElementSibling within fb pixel standard event
我正在尝试将最近的 html 标签(带有 id)的文本内容添加到我的 facebook 像素标准事件参数中。它应该与任何 html 标签一起使用,我希望它能够灵活处理文本是否在 div、span、p 或其他范围内。
下面是我添加到我的 GTM 标签的 jQuery。请注意,{{Click Element}} 是原生 GTM 变量。另请注意,我用来触发 GTM 标记的 GTM 触发器(因此下面的 jQuery 代码)已设置,因此在单击 "buy" class 时启动脚本(请参阅 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 像素事件中,我应该具有以下内容:
- content_name:产品 1
- 点击第一个订单时link
- 和
- content_name: 产品 2
- 点击第二个订单时link。
如有任何帮助,我们将不胜感激!
非常感谢。
在您的情况下,您需要创建触发器:
- 事件类型:点击 - 仅链接
- 点击元素;匹配 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>
触发器 - 上面定义的触发器
我正在尝试将最近的 html 标签(带有 id)的文本内容添加到我的 facebook 像素标准事件参数中。它应该与任何 html 标签一起使用,我希望它能够灵活处理文本是否在 div、span、p 或其他范围内。
下面是我添加到我的 GTM 标签的 jQuery。请注意,{{Click Element}} 是原生 GTM 变量。另请注意,我用来触发 GTM 标记的 GTM 触发器(因此下面的 jQuery 代码)已设置,因此在单击 "buy" class 时启动脚本(请参阅 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 像素事件中,我应该具有以下内容:
- content_name:产品 1
- 点击第一个订单时link
- 和
- content_name: 产品 2
- 点击第二个订单时link。
如有任何帮助,我们将不胜感激!
非常感谢。
在您的情况下,您需要创建触发器:
- 事件类型:点击 - 仅链接
- 点击元素;匹配 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>
触发器 - 上面定义的触发器