首页 > 解决方案 > 谷歌分析/标签管理器内部站点搜索 API

问题描述

我需要跟踪我在网站上放置的内部网站搜索的网站搜索查询词。

我的计划是在 Google Analytics 中启用站点搜索设置。

但是,我的站点搜索页面不使用站点搜索用来跟踪查询的标准查询字符串变量。相反,我的站点搜索页面是通过 AJAX 更新的。是否可以通过 API 调用将查询和类别发送到 Google Site Search 跟踪。

我还需要跟踪进行搜索的用户的用户名(这是在登录之后,所以所有用户都将登录)。有没有办法可以发送某种元数据来包含用户名?

如果我应该使用其他类型的工具(例如事件跟踪),请告诉我站点搜索跟踪是否不是解决此问题的正确方法。

我正在使用 ASP.NET MVC:请参阅下面的示例代码:

$.ajax({
    url: '/Search/',
    type: 'POST',
    dataType: 'json',
    data: { search_phrase: 
       search_phrase
},
success: function(data) { 

标签: ajaxasp.net-mvcgoogle-analyticsgoogle-tag-manageruniversal-analytics

解决方案


您可以成功发送“虚拟”综合浏览量回调组合合适的值,而不是实际的文档位置,如

success: function(data) { 
  ga('send', {
    hitType: 'pageview',
    page: location.origin + 'search?q=' + search_phrase
  });
}

如果您使用 GTM,您可以将搜索词组推送到 dataLayer,然后为该自定义事件触发带有改写位置字段的 Google Analytics(分析)标签:

success: function(data) { 
  dataLayer.push({
    event: 'internal search', // allows you to set up custom event
    search_phrase: search_phrase
  });
}

推荐阅读