You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Tag Manager集成报错:__fm_validateEventData函数调用内部错误

问题解决:Firebase Analytics事件在GTM中报错参数未定义

问题详情

使用Firebase Analytics发送SELECT_CONTENT事件并携带item_id参数,代码如下:

firebaseAnalytics = FirebaseAnalytics.getInstance(this)
val bundle = Bundle()
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, "my_item_id")
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle)

触发后出现报错:

Event does not have parameter "item_id" and no default value was defined. Returning "undefined".
Event does not have parameter "test1" and no default value was defined. Returning "undefined".
Internal error - Function call: __fm_validateEventData
Apply TypeError: object has no charAt property

该事件在演示项目中可正常运行。

排查与解决步骤

1. 检查GTM容器的参数映射配置

  • 登录GTM后台,找到对应SELECT_CONTENT事件的触发器和变量配置
  • 确认是否为item_id创建了正确的Firebase参数变量(选择“Firebase Event Parameter”类型,参数名填写item_id)
  • 检查标签配置中引用的参数变量是否拼写正确,避免出现类似test1这类错误参数名的引用

2. 对比演示项目的GTM配置差异

  • 导出演示项目的GTM容器配置,和当前项目的配置逐项对比,重点查看事件参数的定义、变量关联规则
  • 确认当前项目的GTM容器已发布最新配置,而非停留在草稿状态

3. 验证Firebase与GTM的关联状态

  • 登录Firebase后台,进入“集成”页面,检查当前项目与目标GTM容器的关联是否生效
  • 确保GTM容器的数据源已正确绑定当前Firebase项目,而非演示项目的数据源

4. 清除缓存并启用GTM预览模式测试

  • 清除App缓存或重装App,避免旧的GTM配置残留
  • 开启GTM的预览模式,实时查看事件发送时的参数捕获情况,确认item_id是否被正常识别

5. 排查GTM自定义校验逻辑

  • 报错中的__fm_validateEventData属于自定义验证函数,检查GTM中是否存在自定义模板或JS代码对事件参数做了额外校验
  • 若有自定义校验逻辑,确认是否错误强制要求item_id或test1参数存在,且未设置合理的默认值

内容的提问来源于stack exchange,提问作者Harish Gyanani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 14:16:24