如何精准追踪用户在Dynamics 365中的耗时及操作详情?
针对你需要精准统计Dynamics 365用户耗时及记录访问频次的需求,以下是两种最优实现方案,涵盖原生工具组合和第三方集成选项:
方案一:原生Dynamics审计日志+自定义开发(零额外成本)
这个方案依托Dynamics自带的审计功能,结合轻量自定义开发,能满足核心统计需求:
1. 配置基础审计日志
首先确保审计功能覆盖目标实体的关键操作:
- 进入Dynamics 365 设置>审计>全局审计设置,开启全局审计开关
- 选择任务、联系人、预约实体,开启对「打开(Retrieve)」「更新」「关闭」操作的审计记录
- 审计日志会自动记录每个操作的用户ID、实体类型、操作时间戳,这是统计访问频次的基础数据
2. 自定义表单跟踪(提升耗时统计精准度)
默认审计日志只能记录操作节点的时间,无法捕捉用户在表单上的实际停留时长,可通过表单JS补充:
- 在任务、联系人、预约实体上新增两个自定义字段:
new_entertime(日期时间类型,隐藏字段,记录用户进入表单的时间)new_processingduration(十进制类型,单位分钟,记录实际处理时长)
- 在实体表单的
OnLoad事件添加JS代码:function setEnterTime() { Xrm.Page.getAttribute("new_entertime").setValue(new Date()); } - 在表单的
OnUnload事件添加JS代码,计算停留时长并保存:function calculateDuration() { const enterTime = Xrm.Page.getAttribute("new_entertime").getValue(); if (enterTime) { const currentTime = new Date(); const duration = (currentTime - enterTime) / (1000 * 60); // 转换为分钟 Xrm.Page.getAttribute("new_processingduration").setValue(Math.round(duration)); Xrm.Page.data.entity.save("saveandclose"); } } - 开启
new_processingduration字段的审计,确保数据可追溯
3. 用Power BI做数据分析
通过Power BI连接Dataverse数据源,导入Audit实体和目标实体数据,快速生成报表:
- 访问频次统计:按「实体类型」分组,计数审计日志中的操作次数,即可得到用户访问最多的记录类型
- 耗时统计:按「用户ID」「实体类型」分组,求和
new_processingduration字段值,或通过审计日志中同一条记录的首次打开时间与最后操作时间的差值计算总耗时
方案二:第三方时间跟踪工具(开箱即用)
如果不想投入开发成本,可选择支持Dynamics 365集成的专业时间跟踪工具,这类工具能自动捕捉用户操作并生成精细化报表:
推荐工具与核心能力
- TimeCamp:自动跟踪用户在Dynamics表单的停留时长,支持按实体类型、用户分组统计,可与Office 365生态集成
- Toggl Track:通过浏览器插件或Dynamics集成,记录用户打开每条记录的时间,生成可视化的耗时分布报表
- Hubstaff:不仅跟踪Dynamics操作时长,还能结合用户的Teams状态(但比原生Teams状态更精准,可区分是否在处理Dynamics任务)
集成步骤
- 在工具官网注册账号,找到Dynamics 365集成模块
- 授权工具访问你的Dynamics环境(需具备系统管理员权限)
- 配置跟踪规则:设置自动跟踪任务、联系人、预约实体的操作,排除无关页面
- 生成报表:直接在工具后台查看用户耗时统计、实体访问频次排行等数据
方案对比与注意事项
| 方案类型 | 优势 | 局限性 |
|---|---|---|
| 原生组合方案 | 零成本、自定义程度高 | 需要开发能力,离线场景需额外适配 |
| 第三方工具方案 | 开箱即用、功能全面 | 有订阅成本,需考虑数据隐私合规 |
注意事项:
- 审计日志默认有存储期限,需在Dynamics设置中调整保留时长,避免数据丢失
- 自定义JS需测试离线模式下的时间计算逻辑,确保数据准确性
- 第三方工具需确认其数据处理符合企业隐私政策,避免敏感数据泄露
内容的提问来源于stack exchange,提问作者Ben
相关产品推荐
相关产品推荐

