Google analytics 如何在BigQuery中查询直返访客
我试图计算出有多少用户在使用BigQuery访问网站后作为直接用户返回 这就是我到目前为止所做的。为了获得访问后直接返回的用户数量,我使用 organic_user.visitNumberGoogle analytics 如何在BigQuery中查询直返访客,google-analytics,google-bigquery,Google Analytics,Google Bigquery,我试图计算出有多少用户在使用BigQuery访问网站后作为直接用户返回 这就是我到目前为止所做的。为了获得访问后直接返回的用户数量,我使用 organic_user.visitNumber
SELECT
organic_user.date,
COUNT (DISTINCT direct_user.fullVisitorId) AS return_direct_user
FROM
(
SELECT
date,
fullVisitorId,
visitNumber
FROM
`ga_sessions_*`,
UNNEST(hits) as hits
WHERE
DATE BETWEEN '20190814'
AND '20190911'
AND channelGrouping = 'Organic Search'
) AS organic_user
INNER JOIN (
SELECT
date,
fullVisitorId,
visitNumber
FROM
`ga_sessions_*`,
UNNEST(hits) as hits
WHERE
DATE BETWEEN '20190814'
AND '20190911'
AND channelGrouping = 'Direct'
) AS direct_user ON organic_user.fullVisitorId = direct_user.fullVisitorId
WHERE
organic_user.visitNumber < direct_user.visitNumber
GROUP BY
date
ORDER BY
date ASC
有人能验证这个查询是正确的吗?
如果没有,您能提供解决方案吗?根据您在评论中提供的所有澄清,我能够对您的原始查询进行一些修改:
SELECT
direct_user.date,
COUNT (DISTINCT direct_user.fullVisitorId) AS return_direct_user
FROM (
SELECT
date,
fullVisitorId,
visitNumber
FROM
`bigquery-public-data`.google_analytics_sample.`ga_sessions_*`,
UNNEST(hits) AS hits
WHERE
DATE BETWEEN '20161214'
AND '20180911'
AND channelGrouping = 'Organic Search' ) AS organic_user
INNER JOIN (
SELECT
date,
fullVisitorId,
visitNumber
FROM
`bigquery-public-data`.google_analytics_sample.`ga_sessions_*`,
UNNEST(hits) AS hits
WHERE
DATE BETWEEN '20161214'
AND '20180911'
AND channelGrouping = 'Direct' ) AS direct_user
ON
organic_user.fullVisitorId = direct_user.fullVisitorId
AND organic_user.visitNumber < direct_user.visitNumber
GROUP BY
direct_user.date
ORDER BY
direct_user.date ASC
以下是关于我所做更改的一些考虑:
我注意到指定子查询组日期很重要
正在为组使用。因为我们计算的是“直接”访问
每天,当它们发生时,我们计算是有意义的。
我移动了organic_user.visitNumber