代码之家  ›  专栏  ›  技术社区  ›  d_-

带参数的FireBase封闭漏斗

  •  -1
  • d_-  · 技术社区  · 6 年前

    我见过各种火基封闭式漏斗 examples 在互联网上,但其中没有一个是参数级的。

    问题:

    • 我想基于firebase事件参数值创建一个封闭的用户漏斗。
    • 更具体地说,我希望基于以下3个漏斗步骤创建一个封闭的用户漏斗:
      • first_open (用户第一次打开应用程序)
      • Tutorial_LessonStarted 带参数键 LessonNumber 和参数值 1
      • 教程开始 带参数键 莱斯数 和参数值 2

    (更新)我将原始测试查询移到了应答部分。

    1 回复  |  直到 6 年前
        1
  •  0
  •   d_-    6 年前
    SELECT
        e0.event_date,
        COUNT(DISTINCT e0.user_pseudo_id) AS step1_firstOpeners,
        COUNT(DISTINCT e1_user) AS step2_lesson1Started,
        COUNT(DISTINCT e2_user) AS step3_lesson2Started
    FROM `projectID.analytics_XXXX.events_*` AS e0
    LEFT JOIN (SELECT
                    event_name AS e1_eventname,
                    e.user_pseudo_id AS e1_user,
                    event_timestamp AS e1_ts
               FROM `projectID.analytics_XXXX.events_*` AS e, UNNEST(e.event_params) as eventparams
               WHERE platform = "ANDROID"
                    AND event_name = "Tutorial_LessonStarted"
                    AND eventparams.key = "LessonNumber"
                    AND eventparams.value.string_value  = "1")
        ON e0.user_pseudo_id = e1_user AND e0.event_timestamp < e1_ts AND e1_eventname = "Tutorial_LessonStarted"
    LEFT JOIN (SELECT 
                    event_name AS e2_eventname,
                    e.user_pseudo_id AS e2_user, 
                    event_timestamp AS e2_ts
               FROM `projectID.analytics_XXXX.events_*` AS e, UNNEST(e.event_params) as eventparams
               WHERE platform = "ANDROID"
                    AND event_name = "Tutorial_LessonStarted" 
                    AND eventparams.key = "LessonNumber"
                    AND eventparams.value.string_value  = "2")
        ON e1_user = e2_user AND e2_ts > e1_ts AND e2_eventname = "Tutorial_LessonStarted" 
    
    WHERE 
        e0.event_name = 'first_open' 
        AND user_first_touch_timestamp >= 1541808000000000 AND user_first_touch_timestamp < 1541894400000000 -- 10 November 2018
        AND _TABLE_SUFFIX = '20181110'
    AND platform = "ANDROID"
    GROUP BY 1
    ORDER BY 1 DESC