【发布时间】:2020-07-21 16:47:02
【问题描述】:
目标
我想查看已登录用户在页面上的时间。在用户未登录时从报告中消除时间。
能够区分用户未登录时的页面停留时间和用户登录时的页面停留时间。
设置
假设我们有:
- 流量变量用户登录为 prop1,其中 true 或 false。
- 流量变量上一个事件的时间作为prop2,单位为秒
- eVar1 复制 prop1 |在 event5 后过期
- eVar2 复制 prop2 |在 event5 后过期
- event4 - 用户登录
- event5 - 用户退出
事件之间的时间
来自一篇关于测量事件之间时间的文章 (https://experienceleaguecommunities.adobe.com/t5/adobe-analytics-questions/calculate-time-between-success-events/qaq-p/302787)
if (s.events && (s.events + ",").indexOf("event4,") > -1) {
s.prop2 = "start"
}
if (s.events && (s.events + ",").indexOf("event5,") > -1) {
s.prop2 = "stop"
}
s.prop2 = s.getTimeToComplete(s.prop2, "TTC", 0);
s.getTimeToComplete = new Function("v", "cn", "e", "var s=this,d=new Date,x=d,k;if(!s.ttcr){e=e?e:0;if(v=='start'||v=='stop')s.ttcr=1;x.setTime(x.getTime()+e* 86400000);if(v=='start'){s.c_w(cn,d.getTime(),e?x:0);return '';}if(v=='stop'){k=s.c_r(cn);if(!s.c_w(cn,'',d)||!k)return '';v=(d.getTime()-k)/1000;var td=86400,th=3600,tm=60,r=5,u,un;if(v>td){u=td;un='days';}else if(v>th){u=th;un='hours';}else if(v>tm){r=2;u=tm;un='minutes';}else{r=.2;u=1;un='seconds';}v=v*r/u;return (Math.round(v)/r)+' '+un;}}return '';");
花费时间概览
来自 adobe 文档 (https://docs.adobe.com/content/help/en/analytics/components/metrics/time-spent.html)
“序列”是一组连续的命中,其中给定变量 包含相同的值(无论是通过设置、向前传播还是 坚持)。例如,prop1 “A” 有两个序列:命中 1 和 2 和 hit 6. 最后一次访问的值不会开始新的序列 因为最后一击没有花费时间。在网站上花费的平均时间 在分母中使用序列。
所以我想我会使用 prop1 作为登录用户状态的分母来正确计算 prop2 中事件之间的时间。
问题
我不太确定,如果这种方法足以正确测量仅在用户登录时花费的时间。我会很感激一些提示,如何正确设置 eVars 或者我是否正确理解序列分母。
我还设置了带有终止 event5 的 eVar,但我不确定这是否会导致所需的行为。
如果您之前也解决过这个问题,请您指导我,您如何在报告中定义您的细分或条件。
【问题讨论】:
标签: adobe-analytics