【问题标题】:Do I need to overwrite Google Analytics Data stored in the DB我是否需要覆盖存储在数据库中的谷歌分析数据
【发布时间】:2018-01-11 10:27:07
【问题描述】:

我尝试将每 7 天的综合浏览量存储到数据库。应用程序有一个计划任务,每 30 分钟从 Google Analytics 获取大多数访问页面 存储页面 url(活动源)并计入数据库。

| _id | active_source | page_views |
| 1   | /foo-1        | 20         |
| 2   | /foo-3        | 9          |
| 3   | /foo-2        | 2          |

我应该在覆盖之前删除以前的数据吗? 我担心删除数据库时,用户无法获取任何信息。


我正在使用 MongoDB。

【问题讨论】:

  • 将 Google Analytics 存储到 DB 的最佳方式... 嗯? GA还不够吗?
  • 这个问题太宽泛了,主要没有那么相关。
  • @B001 我不知道如何将它存储到我的数据库中以执行我的应用程序的查询。

标签: database mongodb google-analytics google-api google-analytics-api


【解决方案1】:

从技术上讲,Google Analytics(分析)数据在 72 小时后不会发生变化。假设您使用的是 Google Analytics 报告 API v4,您可以检查结果中的 isgolden 参数。如果数据是黄金,那么您就知道它已经完成处理并且永远不会改变。

因此,由于数据已完成处理,因此没有理由请求您已存储超过 72 小时的数据。

过去,我每晚都会运行一个请求,以选择过去五天的数据。在插入之前,我会删除不到 72 小时的内容。这将确保我总是在几天后得到最终的总数,并每天刷新不完整的数据,直到它被认为是最终的

夜间跑步示例。

  1. 删除数据库中过去三天的所有数据
  2. 从谷歌分析请求过去四天的数据
  3. 将数据插入数据库。

使用日期运行。

今天是 2018 年 1 月 11 日,所以我删除了数据库中 2018 年 1 月 10 日、2018 年 1 月 9 日和 2018 年 1 月 8 日的所有数据。我从 Google Analytics 中选择 2018-01-11、2018-01-10、2018-01-09 和 2018-01-08 的所有行并插入它们。

明天是 2018 年 1 月 12 日,所以明天我将删除数据库中 2018 年 1 月 11 日、2018 年 1 月 10 日和 2018 年 1 月 9 日的所有数据。我从 Google 分析中选择 2018-01-12、2018-01-11、2018-01-10 和 2018-01-09 的所有行并插入它们。请注意明天我将如何离开 2018 年 1 月 8 日,因为这些数据现在正在处理并且永远不会改变。

这样您可以获得过去三天的部分数据,并且只更新可能未完成处理的数据

【讨论】:

  • 对不起,我的误解。我想我必须将最新数据保存到我的数据库中,以向用户显示本周应该流行的主题。正如你所说,我必须检查 isgolden 并在我的数据库中更新它吗?
  • 超过 72 小时的 Google Analytics(分析)数据永远不会改变。如果您的数据库中有它,则没有理由再次更新它。您应该在下载数据时检查它是否为真,然后不再请求此数据。
  • 天啊。我明白你在更新的答案中所说的。我可以根据当前数据库计算页面浏览量。之前,我认为它将设置范围日期为 7DaysAgo 并从 Google Analytics 获取数据。非常感谢。祝你有美好的一天。
猜你喜欢
  • 1970-01-01
  • 2016-08-27
  • 1970-01-01
  • 2016-12-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多