我正在尝试根据Google Analytics(分析)中的目标达成次数取得与搜寻效能相关的数据。这个目标是根据网址建立的,因此第一步,我要做的是让总达成次数加上目标网址的OR数,这就是精细。到目前为止,一切都很好。

问题是,当我们必须按“访问搜索”将其细分时。同样基于URL:页面路径,例如“%search_parameter%”,但这一次在单独的语句中作为先前的目标URL:

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(分析)界面中,我的目标是完成搜索的人员,因此我无法理解构造此查询时可能缺少的内容。

有什么帮助吗?

非常感谢!

最佳答案

如果我正确理解“访问搜索”意味着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

10-01 01:42