Google Analytics API过滤器返回的值太严格

时间:2018-12-06 16:09:39

标签: python google-analytics-api

我试图按页面路径向下过滤数据,这在大多数情况下非常简单。但是,我得到了意外的结果:

data = service.data().ga().get(
        ids='ga:' + profile_id,
        start_date='2018-06-15',
        end_date='yesterday',
        metrics='ga:sessions,ga:newUsers,ga:sessionDuration,ga:goal12Completions,ga:goal4Completions,ga:goal5Completions,ga:bounces,ga:users',
        dimensions='ga:date,ga:sourceMedium,ga:userType,ga:country,ga:region,ga:city,ga:pagePath',
        sort='ga:date',
        filters='ga:pagePath=~/path1/path2.*',
        start_index=index,
        max_results=10000).execute()

    return data

Google Analytics(分析)中的数据具有如下结构的页面数据:

  • domain.com/path1/path2/
  • domain.com/path1/path2/some
  • domain.com/path1/path2/extra
  • domain.com/path1/path2/parameters

我希望上面的过滤器可以为这些页面结构中的每一个返回数据,但是,它仅返回路径2之后具有参数的页面的数据。

  • domain.com/path1/path2/some
  • domain.com/path1/path2/extra
  • domain.com/path1/path2/parameters

我尝试了多种方法来过滤此数据,包括:

filters='ga:pagePath=@/path1/path2'

filters='ga:pagePath=@/path2'

我还试图将搜索字符串作为变量传递到产生相同结果的过滤器中。

我也已经在查询浏览器中对其进行了测试,其结果与脚本相同。但是,在GA的高级过滤器区域中过滤相同的regex表达式,可以得到上面第一个项目符号列表期望的结果。我还将一些数据放入一个文本文件中,并对其进行了正则表达式搜索,这给了我所有预期的结果。

我的下一步是测试删除特定指标,以查看是否有组合产生了问题,但根据文档应该没有。

对调试或纠正过滤器的后续步骤有何建议?

1 个答案:

答案 0 :(得分:0)

将过滤调整为“包含子字符串”方法将解决您的问题。请参阅Google Analytics(分析)API reference guide,以查看所有可用的过滤选项。另外,我强烈建议您在Google Analytics(分析)用户界面中仔细检查您的原始数据源,以确保您要查找的URL实际上可用。

var mysql      = require('mysql');
var connection = mysql.createConnection(connectionOptions);

connection.query(
  "SELECT * FROM pruebas.Usuarios2 where RFC = '123'", 
  (err, result, fields) => { 
     if (result.length) { 
       // here I need an instruction that can send me the result of 3
       // to my javascript console
     } else { 
       console.log('no login');
     }
   }
 );