使用 Google Analytics BigQuery 导出来计算应用屏幕浏览量



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

这是谷歌(https://support.google.com/analytics/answer/3437719?hl=en(对hits.type的描述:

命中类型。"页面"、"交易"、"项目"、"事件"之一, "社交"、"应用视图"、"例外"。

有没有我缺少的另一种方法可以做到这一点?

我尝试使用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

但这返回的数字太高。

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

我建议在标准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

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)

最新更新