GA4 Data API自定义维度返回(not set)值的问题咨询
GA4 Data API自定义维度返回"(not set)"的可能原因
请求示例:
{"dateRanges": [{"startDate": "2021-09-01","endDate": "2021-09-05"}],"offset": 0,"limit": 100,"dimensionFilter": {"filter": {"fieldName": "eventName","stringFilter": {"matchType": 1,"value": "screen_view","caseSensitive": true}}},"dimensions": [{"name": "customUser:applicationID"},{"name": "customEvent:ga_session_number"},{"name": "dateHour"},{"name": "platform"},{"name": "sessionSource"},{"name": "sessionMedium"},{"name": "sessionCampaignName"},{"name": "deviceCategory"}],"metrics": [{"name": "userEngagementDuration"}]}
- 自定义维度作用域不匹配:GA4自定义维度分为事件级、会话级、用户级三类,API请求时的前缀需要和后台设置的作用域严格对应。比如请求中的
customEvent:ga_session_number如果是后台设置的会话级维度,需要改为customSession:ga_session_number才能正确读取,作用域不匹配会直接返回(not set)。 - 历史数据无回溯:GA4自定义维度仅对设置完成后上报的数据生效,不支持回溯历史数据。如果查询的时间范围早于该维度在GA4后台完成配置的时间,对应时间段的维度值都会返回(not set)。
- 事件触发时维度未完成赋值:本次查询过滤的是
screen_view事件,如果该事件是用户会话的第一个触发事件,而ga_session_number、applicationID这类自定义维度是在后续事件上报时才完成赋值的,那该次screen_view事件就不会携带对应维度值,返回(not set)。 - API调用的维度名称与后台配置不匹配:需要核对GA4后台自定义维度的「API名称」是否和请求中的字段完全一致,包括大小写、拼写、前后缀,任意字符不匹配都无法读取到正确值。
- 触发GA4隐私阈值处理:当查询的维度组合较多、对应分组的数据量过小的时候,GA4会基于隐私保护规则将小流量分组的维度值替换为(not set),避免用户被识别。
- 会话/用户识别失败:如果用户端禁用了Cookie、或者出现跨域/跨设备会话断链的情况,与会话、用户关联的维度无法被正确识别,就会返回(not set)。
内容的提问来源于stack exchange,提问作者Elsilent
相关产品推荐
相关产品推荐

