我正在尝试根据Google Analytics中的目标达成情况获取与搜索效果相关的数据。这些目标基于网址,因此,我所做的第一步是获得总完成量,并添加与目标网址一样多的OR有,这没关系。到现在为止还挺好。
问题在于我们必须通过"访问搜索"来对其进行细分。基于url:pagepath like"%search_parameter%"但这一次在另一个声明中作为上一个目标的网址:
SELECT sum(totals.visits)
FROM [XXXXXX.ga_sessions_20150101]
WHERE
(
REGEXP_MATCH (hits.page.pagePath,r'/goal1/')
or REGEXP_MATCH (hits.page.pagePath,r'/goal2/')
or REGEXP_MATCH (hits.page.pagePath,r'/goal3/')
or REGEXP_MATCH (hits.page.pagePath,r'/goal4/')
)
and REGEXP_MATCH (hits.page.pagePath,r'/search/')
在Google Analytics界面中,我当然已经完成了搜索人员的目标,因此我不了解构建此查询时可能缺少的内容。
任何帮助?
非常感谢!
答案 0 :(得分:0)
如果我正确理解"访问搜索"意味着hits.page.pagePath中至少有一个网址与' / search /'匹配,那么我认为以下内容适合您:
SELECT sum(totals.visits)
FROM
(SELECT
totals.visits,
hits.page.PagePath,
SOME(REGEXP_MATCH(hits.page.pagePath,r'/search/'))
WITHIN RECORD AS has_search
FROM [XXXXXX.ga_sessions_20150101]
WHERE REGEXP_MATCH(hits.page.pagePath,r'[/goal1/|/goal2/|/goal3/|/goal4/]')
)
WHERE has_search