如何在BigQuery中获取Google Analytics中独立页面浏览量的定义

4
4个回答

3

这个功能有两种使用方式:

1) 第一种方式是按照原始文档链接所述,将完整的访客用户ID和他们不同的会话ID:visitId组合起来,然后进行计数。

SELECT
  EXACT_COUNT_DISTINCT(combinedVisitorId)
FROM (
  SELECT
    CONCAT(fullVisitorId,string(VisitId)) AS combinedVisitorId
  FROM
    [google.com:analytics-bigquery:LondonCycleHelmet.ga_sessions_20130910]
  WHERE
    hits.type='PAGE' )

2) 另一种方法是仅计算不同的fullVisitorIds数量

SELECT
  EXACT_COUNT_DISTINCT(fullVisitorId)
FROM
  [google.com:analytics-bigquery:LondonCycleHelmet.ga_sessions_20130910]
WHERE
  hits.type='PAGE'

如果有人想在一个公共数据集上尝试这个,可以参考如何添加示例数据集的教程

EXACT_COUNT_DISTINCT(fullVisitorId)和COUNT(DISTINCT fullVisitorId)之间有什么区别? - shecode
@shecode DISTINCT的返回值是一个统计近似值,不能保证精确,其默认仅使用1000个项目,而另一个则是精确的。 - Pentium10

1
其他查询在我的Google Analytics帐户中没有匹配“唯一页面浏览量”指标,但以下查询匹配:
SELECT COUNT(1) as unique_pageviews
FROM (
    SELECT 
        hits.page.pagePath, 
        hits.page.pageTitle,
        fullVisitorId,
        visitNumber,
        COUNT(1) as hits
    FROM [my_table]
    WHERE hits.type='PAGE' 
    GROUP BY 
        hits.page.pagePath, 
        hits.page.pageTitle,
        fullVisitorId,
        visitNumber
)

0

所以,在2022年,EXACT_COUNT_DISTINCT()似乎已经被弃用了..
对于我来说,以下组合
fullvisitorid+visitNumber+visitStartTime+hits.page.pagePath
一直比上述解决方案更精确:

SELECT 
    SUM(Unique_PageViews)
FROM
    (SELECT 
        COUNT(DISTINCT(CONCAT(fullvisitorid,"-",CAST(visitNumber AS string),"-",CAST(visitStartTime AS string),"-",hits.page.pagePath))) as Unique_PageViews
    FROM 
        `mhsd-bigquery-project.8330566.ga_sessions_*`,
        unnest(hits) as hits
    WHERE 
        _table_suffix BETWEEN '20220307'
        AND '20220313' 
        AND hits.type = 'PAGE')

0

对于唯一页面浏览量,你最好使用这样的代码:

SELECT
  date,
  SUM(uniquePageviews) AS uniquePageviews
FROM (
  SELECT
    date,
    CONCAT(fullVisitorId,string(VisitId)) AS combinedVisitorId,
    EXACT_COUNT_DISTINCT(hits.page.pagePath) AS uniquePageviews
  FROM
    [google.com:analytics-bigquery:LondonCycleHelmet.ga_sessions_20130910]
  WHERE
    hits.type='PAGE'
  GROUP BY 1,2)
GROUP EACH BY 1;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接