我正试图在核心报告API V4查询中使用多维过滤器clauses。如果我只在ga:adwordsCustomerID
维度上使用一个过滤器,一切都会好起来,但是当我在ga:adTargetingType
维度上添加第二个过滤器时,它会抛出一个“Status 400:Bad request”错误。
这是我写的问题:
return analytics.reports().batchGet(
body={"reportRequests": [{
"pageSize": 10000,
"viewId": VIEW_ID,
"dateRanges": [
{"startDate": "31daysAgo", "endDate": "yesterday"}
],
"dimensions": [
{"name": "ga:adwordsCampaignID"},
{"name": "ga:adwordsAdGroupID"},
{"name": "ga:adwordsCriteriaID"}
],
"metrics": [
{"expression": "ga:adClicks"},
{"expression": "ga:adCost"},
{"expression": "ga:uniquePurchases"},
{"expression": "ga:itemRevenue"},
{"expression": "ga:CPC"},
{"expression": "ga:ROAS"}
],
"dimensionFilterClauses": [
{"filters": [
{"dimensionName": "ga:adwordsCustomerID",
"operator": "EXACT",
"expressions": ["2096809090"]},
{"dimensionName": "ga:adTargetingType",
"operator": "EXACT",
"expressions": ["Keyword"]}
]}
],
"metricFilterClauses": [
{"filters": [
{"metricName": "ga:adCost",
"operator": "GREATER_THAN",
"comparisonValue": "0"}
]}
],
"orderBys": [
{"fieldName": "ga:adClicks",
"sortOrder": "DESCENDING"}
]}
]}
).execute()
你知道上面的查询体有什么问题吗?
本页缺少的关键信息是FilterLogicalOperator的使用。这是用于组合多维过滤器的运算符。如果未指定,则将其视为或。所以,上面的答案是,违约是正确的,而不是错误的。
为了应用这两个过滤器,我们需要在代码中添加filterlogical运算符:
分析报告API V4 Filtering
ReportRequest接受一个由
DimensionFilterClauses
组成的数组。这些子句与逻辑AND
运算符组合在一起。也就是说,如果有两个DimensionFilterClause
对象:A和B;API将只返回满足AAND
B中这两个条件的值每个^{} 接受一个
DimensionFilters
(称为filters
)数组。这些过滤器与逻辑OR
运算符组合在一起。即,如果在一个DimensionFilterClause
中有两个DimensionFilter
对象C和D,则API将返回满足C或D的结果示例
下面是一个带有两个
DimensionFilterClauses
;ga:adWordsCampaignID==8675309
AND
ga:adwordsAdGroupID==12345
的示例请求 API Explorer example:结论
从一开始,似乎你的API请求体没有任何问题,如果有,你会得到一个错误消息。但更可能的是你并不打算要求:
但你想要求:
当没有数据显示时,我的建议是首先删除过滤器,然后验证您是否有正在搜索的确切字符串。如果没有完整的字符串,也可以使用不同的^{} ,例如
PARTIAL
或BEGINS_WITH
。错误处理
使用正确的错误处理也是明智的,特别是在调试时:
更新:
ga:adTargetingType==Keyword
示例在下面的注释中,它被请求给出一个带有
ga:adTargetingType==Keyword
的维度过滤器示例。使用API Example here向您证明它是有效的(只需将VIEW_ID
更改为您的视图视图id并点击“授权并执行”)。JSON正文如下:我总是喜欢从小处做起。通过删除其他参数和字段,我可以向自己证明哪些是有效的,哪些不是。此示例是筛选
ga:keyword==Keyword
的最小必需请求。第二次更新:
实际收到的错误消息如下:
无法使用以下度量值查询维度
ga:adTargetingType
:ga:impressions
ga:adClicks
ga:adCost
ga:CPM
ga:CPC
ga:CTR
ga:costPerTransaction
ga:costPerGoalConversion
ga:costPerConversion
ga:RPC
ga:ROAS
代码将能够调用多个维度而无需筛选。如果要知道哪些维度和度量,请使用链接: GA Dimensions and Metrics
相关问题 更多 >
编程相关推荐