一个请求中的多个 eventActions 过滤器

Multiple eventActions filters in one request

我目前正在尝试使用分析 api v4,到目前为止一切正常,我只需要为一个请求设置多个事件操作。 我已经能够使用查询资源管理器完成它,所以我想我们也可以得到它。

我正在设置我的维度和第一维度过滤器,但不太清楚如何指定另一个 ga:eventAction 过滤器。

$eventActionDim2 = new Google_Service_AnalyticsReporting_Dimension();
$eventActionDim2->setName("ga:eventAction");

$viewAction = new Google_Service_AnalyticsReporting_DimensionFilter();
$viewAction->setDimensionName('ga:eventAction');
$viewAction->setExpressions("views");

尝试过

$viewAction->setExpressions(array("views","click"));

尝试设置新的 DimensionFilter,不要忘记将其添加到 setFilters 中。

一定是一些微不足道的事情,但我找不到如何让它工作,所以如果有人能帮助我把它弄好,那就太好了! 谢谢

编辑:更好的是能够获得给定 eventCategory 的每个 eventActions 的 ga:totalEvents。

回答:我所要做的就是正确使用 setOperator 方法(如果您未指定任何内容,则默认运算符是 REGEXP),它允许您在 setExpressions 中使用正则表达式。这是有用文档的 link:https://developers.google.com/analytics/devguides/reporting/core/v4/rest/v4/reports/batchGet#operator

$viewAction = new Google_Service_AnalyticsReporting_DimensionFilter();
$viewAction->setDimensionName('ga:eventAction');
$viewAction->setOperator("REGEXP");
$viewAction->setExpressions('view|click|contact_form');

维度过滤器中的正则表达式应该可以解决问题:

ga:eventAction =~ (views|click)

您可能需要 URL-encode 一些特殊字符,但 Query Explorer 应该是验证查询的良好起点。