[英]How is user_first_touch_timestamp different from first_open_time?
Does "first" mean first in this run of the app (until the app terminates and restarts), or first across runs? “第一次”是指在本次应用程序运行中首先(直到应用程序终止并重新启动),还是第一次跨运行?
I thought that these fields will have only one value, but they often have two.我以为这些字段只有一个值,但它们通常有两个。 When I run this query:
当我运行此查询时:
SELECT
user_pseudo_id,
COUNT(*) AS the_count
FROM (
SELECT
DISTINCT user_pseudo_id,
user_first_touch_timestamp AS user_first_touch_timestamp
FROM
`noctacam.<my project>.events*`
WHERE
app_info.id = "<my bundle ID>"
ORDER BY
user_pseudo_id)
GROUP BY
user_pseudo_id
ORDER BY
the_count DESC
I find that 0.6% of my users have two different values for user_first_touch_timestamp.我发现 0.6% 的用户对 user_first_touch_timestamp 有两个不同的值。 Is this a bug in Firebase?
这是 Firebase 中的错误吗?
Likewise for first_open_time:同样对于 first_open_time:
SELECT
user_pseudo_id,
COUNT(*) AS the_count
FROM (
SELECT
DISTINCT user_pseudo_id,
user_properties.value.int_value AS first_open_time
FROM
`noctacam.<my project>.events*`,
UNNEST(user_properties) AS user_properties
WHERE
app_info.id = "<my bundle ID>"
AND user_properties.key = "first_open_time"
ORDER BY
user_pseudo_id)
GROUP BY
user_pseudo_id
ORDER BY
the_count DESC
Exactly the same 0.6% of users have two different values for this field, too.完全相同的 0.6% 的用户对此字段也有两个不同的值。
References: https://support.google.com/firebase/answer/7029846?hl=en https://support.google.com/firebase/answer/6317486?hl=en参考资料: https ://support.google.com/firebase/answer/7029846?hl=en https://support.google.com/firebase/answer/6317486?hl=en
I started wondering about the difference in these 2 params too and found this difference.我也开始想知道这两个参数的区别,并发现了这个区别。
From User Properties :从用户属性:
First Open Time
- The time (in milliseconds, UTC) at which the user first opened the app, rounded up to the next hour . First Open Time
- 用户首次打开应用程序的时间(以毫秒为单位,UTC),四舍五入到下一个小时。
From BigQuery Export Schema :从BigQuery 导出架构:
user_first_touch_timestamp
- The time (in microseconds) at which the user first opened the app. user_first_touch_timestamp
- 用户首次打开应用程序的时间(以微秒为单位)。
In my case, the rounding was the difference.就我而言,四舍五入是不同之处。 I envision that Firebase needed to have
first_open_time
as a User Property for some reason so they just rounded and copied user_first_touch_timestamp
.我设想 Firebase 出于某种原因需要将
first_open_time
作为用户属性,因此他们只是四舍五入并复制user_first_touch_timestamp
。
I know it still doesn't answer your whole question and doesn't explain why 0.6% of your users have 2 different values.我知道它仍然没有回答您的整个问题,也没有解释为什么 0.6% 的用户有 2 个不同的值。 I still thought that this may help someone here.
我仍然认为这可能会对这里的人有所帮助。
There is also a difference in the description of the two parameters:两个参数的描述也有区别:
first_open = "the first time a user launches an app after installing or re-installing it " first_open = "用户在安装或重新安装应用程序后首次启动该应用程序时"
whereas first_touch_timestamp has no mention of the value updating for re-installs.而 first_touch_timestamp 没有提到重新安装的值更新。 It is likely your 0.6% difference is users who have re-installed the app.
您的 0.6% 差异很可能是重新安装该应用程序的用户。
The difference is in the accuracy of the data: while User_first_touch_timestamp gives the exact time, First_open_time gives the rounded-up time.区别在于数据的准确性: User_first_touch_timestamp给出了准确的时间,而First_open_time给出了四舍五入的时间。
Take a look at the following examples:看看下面的例子:
User 1: User_first_touch_timestamp : 1670263710266000 Mon Dec 05 2022 20:08:30 GMT+0200 First_open_time : 1670266800000 Mon Dec 05 2022 21:00:00 GMT+0200用户 1: User_first_touch_timestamp :1670263710266000 Mon Dec 05 2022 20:08:30 GMT+0200 First_open_time :1670266800000 Mon Dec 05 2022 21:00:00 GMT+0200
User 2: User_first_touch_timestamp : 1670248060903000 Mon Dec 05 2022 15:47:40 GMT+0200 First_open_time : 1670248800000 Mon Dec 05 2022 16:00:00 GMT+0200用户 2: User_first_touch_timestamp :1670248060903000 Mon Dec 05 2022 15:47:40 GMT+0200 First_open_time :1670248800000 Mon Dec 05 2022 16:00:00 GMT+0200
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.