Javascript 谷歌在React JS网站上分析输出错误数据(会话中断?)

Javascript 谷歌在React JS网站上分析输出错误数据(会话中断?),javascript,reactjs,google-analytics,google-tag-manager,Javascript,Reactjs,Google Analytics,Google Tag Manager,我们有一个网站,大部分内容由Wordpress管理,但是当用户导航到搜索页面(用户搜索产品)时,它由React JS处理 它都在同一个域上,因此用户永远不知道他们正在与两个不同的应用程序进行交互 然而,该网站上的谷歌分析似乎无法正确感知会话。它将站点入口(登录页)记录为具有相当长URL的搜索页面: 有数千个这样的登录页面,而且这个网站是新的,所以不可能所有的流量都来自外部链接 所有这些会话的引用者路径均为“(未设置)” 过滤内部IP地址 流量来自不同的来源/媒介,表明会话正在以某种方式中断(

我们有一个网站,大部分内容由Wordpress管理,但是当用户导航到搜索页面(用户搜索产品)时,它由React JS处理

它都在同一个域上,因此用户永远不知道他们正在与两个不同的应用程序进行交互

然而,该网站上的谷歌分析似乎无法正确感知会话。它将站点入口(登录页)记录为具有相当长URL的搜索页面:

  • 有数千个这样的登录页面,而且这个网站是新的,所以不可能所有的流量都来自外部链接
  • 所有这些会话的引用者路径均为“(未设置)”
  • 过滤内部IP地址
  • 流量来自不同的来源/媒介,表明会话正在以某种方式中断(下面的屏幕截图)

目前,GA由GTM建立。我试图在React中启动GTM标签

还尝试在GTM中对浏览器历史更改而不是页面视图(历史更改在“反应时触发”,在Wordpress中的常规页面视图中触发)。但这些修改仍然存在问题

请注意,这些会话并不特定于任何一个浏览器:
您遇到的问题来自搜索时切换入口点并将页面硬刷新到React应用程序的事实。尽管域似乎没有改变,但浏览器仍将其视为新页面加载,因此在分析中也会如此显示,如下请求所示:

你还没有告诉我你是否在你的应用程序中使用了react router(我假设你有不同的路径),解决这个问题的方法是使用react router的
onUpdate
回调,而不是使用默认的GA脚本

首先使用GA id导入并初始化模块:

从“react ga”导入ReactGA
ReactGA.initialize('UA-000000-01')
然后在routes配置中,在
上添加
onUpdate
属性,并创建一个只使用路径名调用google analytics的方法,这样您就不会在仪表板中看到所有令人讨厌的查询参数

constonupdate=()=>{
ReactGA.set({page:window.location.pathname})
ReactGA.pageview(window.location.pathname)
}
...
不过,如果您想跟踪用户搜索,我建议您改用事件,并在搜索时执行以下操作:

ReactGA.event({
类别:“用户”,
行动:'搜索',
值:“您的格式化搜索值”
})

它还将使您能够以任何方式格式化搜索值,这比查询参数更具可读性。

这些中断的会话是否来自各种浏览器?我正在windows上使用chrome进行测试,分析调用看起来是正确的。我刚刚在下面为浏览器添加了另一个屏幕截图(问题似乎根本不是特定于浏览器或设备的),这些是否可能是这些会话的入口页?用户可以将搜索添加到书签中,稍后再返回,或者与朋友共享搜索URL。有多少百分比的入口来自
/search/
路径?15.6%的登录页进入ReactJS url(主要是/search),最后有一长串变量。人们不太可能在网页上添加书签或共享网页(这个网站很新),但我认为这也是可能的。然后我检查了来源/媒介(见第二张截图):这些登陆页面有直接的、有机的和付费的来源。我们没有运行任何针对/搜索URL的广告活动(仅针对看起来像carjojo.com/crv deals carjojo/的未绑定登录页)。因此,会话本身一定有问题。谢谢。如果我们去掉查询参数,我们将无法跟踪站点搜索,对吗?是的,但是如果你想跟踪搜索,我会说使用GA事件将是一个更好的方法,并且不会破坏你的位置视图,会将此添加到答案中。有趣的是,我会尝试这个。React还使用查询参数运行其他页面(不仅是
搜索
,还包括我们的购物车功能
购物车
和产品视图
向下搜索
),因此我想应该为这些设置事件。如果您需要跟踪这些信息,当然可以@或者你还有什么特别担心的?