Universal Analytics:使用动态ID或类定位DOM元素

时间:2014-07-24 18:38:12

标签: javascript jquery google-tag-manager universal-analytics

要求:捕获导航菜单单击

当前设置:

标签1:全局点击监听器,所有网页都有一个触发规则,

{{url}} matches RegEX .*

标签2:菜单点击跟踪 - 自定义HTML标记类型,所有页面和HTML都有一个触发规则:

<script type="text/javascript">

$('#top_nav_menu a').click(function(){
  var target = event.target;
  var parentElem = $(target).parent();
  var targetHref = $(target).attr("href");
  var targetClass= $(parentElem).attr("class");

  dataLayer.push({
      'event': 'navigation',
      'eventAction': targetClass,
      'eventLabel': targetHref
  });
});

</script>

标签3:事件 - 菜单点击 - Universal Analytics标记类型,带有触发规则:

{{event}} equals navigation 

追踪类型:活动

Category: {{event}}
Action: {{event action}}
Label: {{event label}}

宏:

  1. 事件操作 - 数据层变量宏类型
  2. 数据层变量名称:eventAction

    1. 事件标签 - 数据层变量宏类型
    2. 数据层变量名称:eventLabel

      发生了什么:目前全局点击监听器菜单点击跟踪正确触发但事件 - 菜单点击失败。我假设它,因为我没有正确地定位DOM元素。 DOM结构是这样的:

      <nav id="top_nav_menu">
        <ul class="no-list">
          <li id="about" class="about"><a href="link-value">about</a></li>
          <li id="services" class="services"><a href="link-value">services</a></li>
          <li id="work" class="work"><a href="link-value">work</a></li>
          <li id="contact" class="contact"><a href="link-value">contact</a></li>
        </ul>
      </nav>
      

      我无法更改HTML或添加类,如何确保激活事件 - 菜单单击标记并推送正确的dataLayer值。

      任何帮助将不胜感激。谢谢你提前。

1 个答案:

答案 0 :(得分:0)

在数据层中推送“菜单点击跟踪”标签,您将为操作分配“$(targetClass)”,并为Label分配“$(targetHref)”,这似乎是jQuery引用(即“$” (...)“)而不是字符串。你能将它们改为变量名“targetClass”和“targetHref”吗?

希望这有帮助。