基于 div 个现有的触发代码

Fire tag based on a div existing

所以我有一些东西需要在 Wordpress 博客页面上触发,但是 URL 中没有任何东西可以帮助识别它们。

确实存在内容差异。

有没有办法根据特定 div 的存在来触发标签(或先触发事件然后触发该事件)?例如,仅存在于我要触发标记的网页上。

有什么想法吗?

是的,有一种方法,您需要使用触发到数据层的自定义事件。

我假设您要检测的 div 在 DOM Ready 上可用,名为 'mydiv'。只需检测 'mydiv' 是否存在,如果它确实将事件推送到数据层:

if(document.getElementById('mydiv')){
  dataLayer.push({'event':'mydiv_exists'});
}

您可以将此代码放在许多不同的位置,但最好的办法是将它作为 'custom HTML' 标记放在 GTM 中,该标记会在所有页面上触发。

然后您可以创建类型为 'custom event' 的触发器,它会查找事件名称 'mydiv_exists',并且您可以配置更多代码以在该触发器上触发。

如果需要,您也可以将其他数据与此事件同时推送到数据层。

使用具有 DOM 类型的自定义变量的网页浏览触发器。 IE。转到变量,new,select "DOM Element",将元素设置为 "body",将属性名称设置为 "class"。然后创建一个新触发器,select "pageview",设置为 "fire on some pages",select 作为自定义变量的条件,匹配类型 "contains" 和类名(即 "page-321") - WP 在 body 上使用多个 类,因此您必须使用 "contains" 而不是 "equals" 作为匹配类型。

如果您已将 GTM 代码放在 header 中,则必须将网页浏览触发器切换为在 "DomReady" 上触发(如果您根据文档实施了 GTM,则 GTM 代码位于 body 标签,所以默认值会起作用)。