首页 > 解决方案 > 在导出到 BigQuery 的 FirebaseAnalytics 数据中,有些事件的 ga_session_id 为空

问题描述

我正在使用导出到 BigQuery 的 FirebaseAnalytics 数据来分析我们的应用。
为了检查用户转换,我编写了如下的 sql。

with users_with_screen_view_and_session_id as (
  SELECT
    user_id,
    user_pseudo_id,
    event_date,
    event_timestamp,
    event_name,
    platform,
    case
      when event.key = 'firebase_screen'
        and event.value.string_value is not null then event.value.string_value
      when event.key = 'firebase_screen'
        and event.value.int_value is not null then cast(event.value.int_value as string)
      else null
    end as firebase_screen,
    case
      when event.key = 'ga_session_id'
        and event.value.string_value is not null then event.value.string_value
      when event.key = 'ga_session_id'
        and event.value.int_value is not null then cast(event.value.int_value as string)
      else null
    end as session_id
  FROM
    `{my_project}.analytics_{my_id}.events_*`  as main
    ,unnest(event_params) as event
    WHERE _TABLE_SUFFIX BETWEEN '20191001' AND '20191001'
    and event_name = 'screen_view'
),
users_with_screen_view_agg_firebase_screen as (
  select
    user_id,
    user_pseudo_id,
    event_date,
    event_name,
    platform,
    event_timestamp,
    max(firebase_screen) as firebase_screen,
    max(session_id) as session_id
  from
    users_with_screen_view_and_session_id
  group by
    user_id,
    user_pseudo_id,
    event_date,
    event_name,
    platform,
    event_timestamp
)
select
  *
from
  users_with_screen_view_agg_firebase_screen
;

我认为每个事件都有ga_session_id,但在这个查询结果中有一些ga_session_id为空的行。

在什么情况下 ga_session_id 值变为空?

查询结果的图像在这里。 在此处输入图像描述

标签: iossessiongoogle-cloud-platformgoogle-bigqueryfirebase-analytics

解决方案


会话丢失的主要原因是 SDK 的版本。2018 年底,Firebase SDK 发生了变化,旨在删除丢失的 ga_sessions_id,因此请检查您的 SDK 版本是否至少为 16.5.0 或更高版本。

如果这似乎不是您的问题,我建议您在此处直接与 firebase 支持联系,以便他们了解这种情况。


推荐阅读