【问题标题】:Counting app screen-views using Google Analytics BigQuery export使用 Google Analytics BigQuery 导出计算应用程序屏幕浏览量
【发布时间】:2018-01-26 10:13:45
【问题描述】:

我正在尝试使用 Google Analytics BigQuery 数据导出来计算特定屏幕的应用屏幕浏览次数。我的方法是使用屏幕视图hits.type 计算点击次数。例如,要计算我们应用程序网页版的页面浏览量,我会计算hits.type = 'PAGE' 的点击次数。但我看不到如何在应用程序上执行此操作,因为没有“SCREENVIEW”hits.type 值。

这是来自 Google (https://support.google.com/analytics/answer/3437719?hl=en) 对 hits.type 的描述:

命中的类型。以下之一:“页面”、“交易”、“项目”、“事件”、 “社交”、“APPVIEW”、“例外”。

还有其他我想念的方法吗?

我已尝试使用 totals.screenviews 指标:

SELECT
  hits.appInfo.screenName,
  SUM(totals.screenviews) AS screenViews
FROM (TABLE_DATE_RANGE([tableid.ga_sessions_], TIMESTAMP('2018-01-12'), TIMESTAMP('2018-01-12') ))
GROUP BY
  hits.appInfo.screenName

但这返回的数字太高了。

【问题讨论】:

  • 有人能解释一下为什么这会被否决吗?我在这里尽了最大的努力,但在没有任何反馈的情况下投反对票并不能帮助我改进我的提问。
  • 不知道为什么它被否决了,可能是因为到目前为止还没有尝试过的例子。不过,现在这个问题对我来说似乎是合理的

标签: google-analytics google-bigquery


【解决方案1】:

旧版 SQL 自动取消嵌套您的数据,这解释了为什么您的 SUM(totals.screenviews) 最终要高得多(基本上这个字段会重复)。

我建议在Standard SQL 中解决这个问题,它更容易更快。看看这是否适合你:

#standardSQL
SELECT
  name,
  SUM(views) views
FROM(
  SELECT 
    ARRAY(SELECT AS STRUCT appInfo.screenName name, COUNT(1) views FROM UNNEST(hits) WHERE type = 'APPVIEW' GROUP BY 1) data
  FROM `projectId.datasetId.ga_sessions_*`
  WHERE TRUE
    AND EXISTS(SELECT 1 FROM UNNEST(hits) WHERE type = 'APPVIEW')
    AND _TABLE_SUFFIX BETWEEN('20180112') AND ('20180112')
), UNNEST(data)
GROUP BY 1
ORDER BY 2 DESC

【讨论】:

    【解决方案2】:

    hit.type 是“APPVIEW”,因为它不计算事件。

    #standardSQL SELECT hit.appInfo.screenName name, count(hit.appInfo.screenName) view FROM project_id.dataset_id.ga_sessions_*, UNNEST(hits) hit WHERE type = 'APPVIEW' GROUP BY name)

    【讨论】:

    • SO 不鼓励仅使用代码回答。请在您的代码中添加一些解释。 :)
    猜你喜欢
    • 2017-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多