我一直在尝试使用bigquery计算每个页面的会话,其中数据从GA导出到bigquery。可以找到数据的模式here。
我尝试过以下查询
SELECT
hits.page.pagePath AS page,
COUNT(totals.visits) AS sessions
FROM
[xxxxxxx.ga_sessions_20160801]
WHERE
REGEXP_MATCH(hits.page.pagePath, r'(orderComplete|checkout)')
AND hits.type = 'PAGE'
GROUP BY
page
ORDER BY
sessions DESC
我将查询结果与从GA中获得的数字进行了比较,结果却截然不同。我预计上面的查询会为每个页面提供总会话数,但它会为每个页面提供总计pageviews
。换句话说,上述查询的结果与每页的pageviews
完全匹配,而不是每页的sessions
。
我也尝试了以下查询
SELECT
hits.page.pagePath AS page,
COUNT(hits.isEntrance) AS sessions
FROM
[xxxxxxx.ga_sessions_20160801]
WHERE
REGEXP_MATCH(hits.page.pagePath, r'(orderComplete|checkout)')
AND hits.type = 'PAGE'
GROUP BY
page
ORDER BY
sessions DESC
这次的结果非常接近实际,但与我从GA获得的数字不完全相同。对于某些页面,这次bigquery结果略低于GA的结果。
在我的情况下GA中没有抽样,否则结果是可以接受的,因为错误在0.5%到4%之间
我正在使用原始数据而不对GA配置文件进行任何过滤,并将相同的数据导出到bigquery。
问题:当我们按页面计算会话时,会话是如何计算的?
当我没有按hits.page.pagePath
对结果进行分组时,我从GA获得的结果与来自bigquery的结果没有不匹配
答案 0 :(得分:0)
如果您使用COUNT(totals.visits)
,该怎么办? COUNT(1)
的结果将根据您是否使用重复字段而有所不同。可能是一些深入答案的相关问题:BigQuery flattens when using field with same name as repeated field
除此之外,标准SQL(取消选中"使用旧版SQL""显示选项")在计数方面的语义较少,尽管它需要您更明确地使用{ {3}}在这种情况下。
答案 1 :(得分:0)
要计算会话数,我使用COUNT(totals.visits)
代替org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean
。这似乎给了我与GA中看到的相同 - 或非常非常接近的数字。