背景
在BigQuery中,我试图找到访问两个页面之一并购买特定产品的访问者数量。
当我运行每个子查询时,这些数字与我在Google Analytics中看到的完全匹配。
然而,当我加入他们时,这个数字与我在GA中看到的数字不同。我有人把两个子查询的结果带到Excel中并做同等的事情,他们的结果与我在BQ中看到的结果相同。
详情
以下是查询:
SELECT
ProductSessions.date AS date,
SUM(ProductTransactions.totalTransactions) transactions,
COUNT(ProductSessions.visitId) visited_product_sessions
FROM (
SELECT
visitId, date
FROM
`103554833.ga_sessions_20170219`
WHERE
EXISTS(
SELECT 1 FROM UNNEST(hits) h
WHERE REGEXP_CONTAINS(h.page.pagePath, r"^www.domain.com/(product|product2).html.*"))
GROUP BY visitID, date)
AS ProductSessions
LEFT JOIN (
SELECT
totals.transactions as totalTransactions,
visitId,
date
FROM
`103554833.ga_sessions_20170219`
WHERE
totals.transactions IS NOT NULL
AND EXISTS(
SELECT 1
FROM
UNNEST(hits) h,
UNNEST(h.product) prod
WHERE REGEXP_CONTAINS(prod.v2ProductName, r"^Product®$"))
GROUP BY
visitId, totals.transactions,
date) AS ProductTransactions
ON
ProductTransactions.visitId = ProductSessions.visitId
WHERE ProductTransactions.visitId is not null
GROUP BY
date
ORDER BY
date ASC
我希望ProductTransactions.totalTransactions在使用两者的高级细分过滤时复制Google Analytics中的交易数量:
然而,BG的结果比GA高约20%。
为什么会有差异?