谷歌标签管理器,谷歌分析使单独的事件基于Javascript变量点击

Google Tag Manager, Google Analytics make seperate event based on Javascript variable click

本文关键字:谷歌 Javascript 变量 事件 单独 管理器 标签      更新时间:2023-09-26

所以我想知道是否有可能在谷歌分析上报告事件,因为哪些ID是在不需要制作多个标签的情况下被点击的。例如,它会显示GA中的id和点击次数。E.g我有多篇文章在点击同一页面时打开。我想知道人们通过谷歌分析打开了哪些文章。

如果不是这样,我只需要一个普通的,告诉有多少人在点击文章或为每个文章设置单独的标签。我只是希望能够灵活地跟踪它们,而无需在每次创建新文章时设置新的自定义javascript变量。

感谢

选择一个id时的自定义Javascript变量代码:

function() {
  var el = document.getElementById("mara");
  if (el.addEventListener) {
      el.addEventListener("click", function() {
          return ("False");
      });
  } else { //IE8 support
      el.attachEvent("onclick", function() { 
          return ("False");
      });
  } return ("True");
}

当用户选择时打开的一篇文章的HTML显示了完整的故事:

<div id="mara">
            <div class="summary slideUp">
                 <div class="content">
                    <h1>Header</h1>
                 </div>
            </div>
            <div class="fullStory">
                <div class="content">
                    <div class="padder">
                        <h1>Content Header</h1>            
                        <p>Content</p>
                    </div>
                </div>
            </div>
</div>

因此,在GTM中,您需要一个分析标记。在该分析标签中,您需要以下内容:

标签类型-通用分析

轨道类型-事件

这些是必须添加的数据层变量。

类别-{{事件类别选择名称}}

操作-{{事件操作选择名称}}

标签-{{事件标签后缀选择名称}}

然后在js的某个地方包含以下内容。您甚至可以在GTM 中添加自定义脚本

function onAnaEvent(target) {
    if (dataLayer && dataLayer instanceof Array) {
        var setGtmElement = function (el) {
            return el.trim().slice(0, 40).concat('...');
        }
        dataLayer.push({
            'event' : 'choose-a-name',
            'eventAction' : setGtmElement(target.id) || setGtmElement(target.textContent) || setGtmElement(target.title) || 'Sorry, no value',
            'eventValue' : undefined, /* or a value */
            'eventCategory' : location.pathname,
            'eventLabel' : 'Choose a label'
        });
    }
}
document.addEventListener('click', function(event){
    /** You probably want to filter this, so every click is not sent to GTM */
    onAnaEvent(event.target);
}, false);

转到标签管理器界面,从菜单中选择变量,然后在"Clicks"列中选择"Click ID"。

根据您的示例代码,用户必须单击具有您要查找的id的元素来展开部分;这意味着你可以附加一个GTM点击处理程序,它会自动(如果在GTM界面中启用)收集id、class等信息。你可以像任何其他带花括号的变量一样访问它们(即{{click id}})

然而,你需要稍微调整一下你的点击函数——如果你真的"return false"(我认为这就是你所说的"return"false"的意思——布尔值不需要引号),GTM点击处理程序将不起作用。您必须使用标准的event.prventDefault().

您可以在事件跟踪分析标记中使用ID,并查看行为报告,以查看每个ID(设置为事件操作)发生点击事件(作为事件类别)的频率。