使用Google Core Reporting API和BigQuery在使用变量/尺寸过滤时使用不正确和不一致的用户计



背景:我有应用程序和Web数据,我的某些应用程序(新iOS版本)使用GA尺寸,其余的(Android and Web)使用GA自定义变量。

因此,首先,我当前正在尝试在查询资源管理器中的BigQuery中复制此查询,以使我的Web用户仅在定义的日期上获得简单的用户计数:

select count(distinct fullvisitorid, 10000000) as users
 from table_date_range([12345678.ga_sessions_],    
 timestamp('2015-02-01'), timestamp('2015-03-01')) 
  where hits.customvariables.customvarvalue like '%web%'

我获得了约534万用户。这与我在Google Analytics(分析)中看到的相对应。我相信这个数字是正确的。

如果我进入查询资源管理器并不应用任何过滤器(因此我包括我的应用程序和Web用户),我将获得570万用户。同样,这对应于Google Analytics(分析),我们相信这个数字是正确的,网络构成了我们的大部分流量。

如果我在查询资源管理器中运行另一个查询,但是这次应用过滤器:

ga:customVarValue1=@web

我有873万用户。因此,在应用过滤器后,我有更多的用户与没有...显然这是不正确的,并且与查询资源管理器如何应用过滤器Post Contregation有关。

注意:当我在BigQuery中运行此查询时:

select sum(users)
from (
   select count(distinct fullvisitorid, 1000000) as users,
    hits.customvariables.customvarvalue as platform
   from table_date_range([12345678.ga_sessions_],    
    timestamp('2015-02-01'), timestamp('2015-03-01')) 
   group each by 2)
    where platform like '%web%'

我有873万用户。在查询资源管理器中应用过滤器时,几乎完全相同的数字,我得到的差异约为1%,可以通过采样来解释。我已经在多个日期进行了测试,所以我敢肯定这就是正在发生的事情。应用过滤器帖子汇总而不是PRE(如我的第一个BigQuery查询中)会导致更高数量的用户,因为我们在此时间范围内有两个Web版本。因此,对于他们使用的每个版本的Web,所有用户都被计数一次。

添加:我团队中的一位开发人员在2月份编写了一些Python脚本,该脚本复制了上面编写的第一个BigQuery代码(一个简单的用户计数,其中变量= Web),而是击中了核心报告API并请求未采样的报告。直到2015年3月5日,我们使用BigQuery的用户数量与Python脚本几乎相同(由于采样而差异为1%)。然后在3月5日,即使是历史用户计数,他们也开始分歧,而我们的Python脚本开始产生类似于查询资源管理器的计数(在聚集后使用过滤器而不是PRE)。

我的问题是:1. 3月5日发生了什么变化?2.我们如何在查询资源管理器中复制上面的第一个BigQuery代码?我们是否正确应用变量过滤器?3.我们如何在Python脚本中复制BigQuery代码,该脚本打入核心报告API?

最后:在查询资源管理器中,我要求在给定的日期上进行用户计数,而是使用尺寸过滤器:

ga:dimension2=@ios

我在运行时比我在BigQuery中少50%:

select count(distinct fullvisitorid, 10000000) as users
 from table_date_range([12345678.ga_sessions_],    
 timestamp('2015-02-01'), timestamp('2015-03-01')) 
  where hits.customdimensions.value like '%ios%'

如果使用变量过滤时,请像使用过滤器那样,将其获得更高的用户计数,而不是更少。我真的无法解释查询资源管理器在过滤时要给我大幅降低计数的问题。

请halp

我没有答案,但是由于您使用的是BigQuery,我认为您是高级客户?如果是这样,您可以与他们的支持团队一起开票 - 他们应该迅速与您联系。

相关内容

  • 没有找到相关文章

最新更新