使用Python创建Google Tag Manager自定义事件触发器报错求助
排查GTM自定义事件触发器400 Bad Request错误
看起来你在创建GTM自定义事件触发器时遇到了400 Bad Request错误,这通常是因为请求体的结构不符合GTM API的严格规范,尤其是枚举值的大小写问题。我帮你找出了几个核心问题:
- 触发器类型大小写错误:GTM API中自定义事件触发器的类型枚举是大写的
CUSTOM_EVENT,而不是你代码里的小写customEvent。API对枚举值的大小写是严格校验的,小写会被识别为无效值。 - 过滤器匹配类型大小写错误:过滤器的
contains匹配类型需要写成大写的CONTAINS,同样属于API枚举值的规范要求。 - 参数类型大小写错误:参数的
type字段值template应该改为大写的TEMPLATE,这也是API要求的枚举格式。
修正后的代码
def CreateformSubmitTrigger(service, workspace): formSubmit_trigger = { "name": 'formSubmit', "type": 'CUSTOM_EVENT', # 修正为API要求的大写枚举值 'customEventFilter': [ { 'parameter': [ { 'type': 'TEMPLATE', # 修正为大写参数类型 'key': 'arg0', 'value': '{{event}}' }, { 'type': 'TEMPLATE', # 修正为大写参数类型 'key': 'arg1', 'value': 'formSubmit' } ], 'type': 'CONTAINS' # 修正为大写过滤器类型 } ] } return service.accounts().containers().workspaces().triggers().create( parent=workspace['path'], body=formSubmit_trigger ).execute()
额外说明
GTM的REST API对所有枚举类型字段(比如触发器类型、过滤器类型、参数类型)都强制要求大写形式,这是很多开发者容易忽略的细节。如果之后遇到类似的400错误,优先检查这类枚举值的格式是否符合官方规范。
内容的提问来源于stack exchange,提问作者PacketMagic
相关产品推荐
相关产品推荐

