Google Big Query页面查看次数与GA页面查看次数不匹配

时间:2016-12-13 19:48:43

标签: google-analytics google-bigquery

我试图通过网站上的预订页面获取人们的总页数。这是我的询问。

SELECT  sum( totals.pageviews ) AS Searches,Date
FROM `table*`
WHERE exists (
select 1 from unnest(hits) as hits
where hits.page.pagePath ='booking'
) 
and date='20161109'
GROUP BY DATE

但是我得到的结果比我从Google Analytics获得的结果更多。 大查询结果:大约1M GA:大约300,000 这是我尝试与

匹配的GA页面

GA result GA screenshot

3 个答案:

答案 0 :(得分:0)

在详细了解Google Analytics数据之后,我认为您实际上想要计算hits中与条件匹配的条目,而不是依赖totals.pageViews。问题是totals.pageViews表示在特定会话中访问的不同页面的数量(如果我使用的是正确的术语),其中包括与您的过滤器不匹配的页面。我想你想要这样的东西:

SELECT
  COUNT(*) AS Searches,
  Date
FROM `table*`, UNNEST(hits) AS hit
WHERE hit.page.pagePath = 'booking';

直接对匹配的页面进行计数,并希望能够给出预期的数字。

答案 1 :(得分:0)

尝试以下

SELECT
  date,
  COUNT(*) AS Searches,
  SUM(totals.pageviews) as PageViews
FROM `table*`, UNNEST(hits) AS hit
WHERE hit.page.pagePath = 'booking'
AND hit.hitNumber = 1
GROUP BY date

搜索 - 以预订页面开始的会话数量作为网站的入口点; PageViews - 这些(上述)会话中的综合浏览量

  

我想在预订页面上有总计(totals.pageview)   网站。查看预订页面的次数

首先 - total(totals.pageview) - 在你假设使用total.pageviews字段是正确的时候没有帮助确定你真正需要什么,这似乎不是 - 至少基于你的其他措辞

其次,如果假设您需要的是 - 网站上预订页面的浏览量计数 - 唯一合理的答案在下面

SELECT
  date,
  COUNT(1) AS BookingPageViews
FROM `table*`, UNNEST(hits) AS hit
WHERE hit.page.pagePath = 'booking'
GROUP BY date

最后,如果你仍然得到与你期望的数字不同的数字 - 你需要重温你实际想要的东西。可能是您在GA中看到的数字表示与您认为代表的不同的指标。这是我看到的唯一解释

答案 2 :(得分:0)

我发现解决方案解决了这个问题:

SELECT count(totals.pageviews)AS搜索,日期 来自table,UNNEST(点击)作为点击 在哪里hits.page.pagePath =' / booking'和hits.type =' PAGE' 按日期分组

希望这个答案可以帮助其他人。