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

如何通过Google Tag Manager将购买者邮箱传入数据层并正确取值?

解决GTM获取购买者邮箱的配置方法

首先明确:data-gtm-form-interact-id是GTM自动给表单添加的标识,不是数据层变量的路径前缀,你不用在变量里加这个。下面是具体的配置步骤:

第一步:确认邮箱值的存在位置

打开浏览器开发者工具(按F12),切换到「Console」标签,输入dataLayer回车,查看数据层里的条目:

  • 如果是表单提交触发的事件,找到gtm.formSubmit相关的对象,看里面的formElement或fields字段里有没有邮箱值;
  • 如果网站已经把邮箱推送到数据层(比如dataLayer.push({emailAddress: 'xxx@xxx.com'})),直接找对应的变量名。

第二步:GTM变量配置方案

根据不同情况选对应的方法:

方案1:数据层直接存在邮箱变量

如果数据层里有现成的emailAddress变量(值就是邮箱字符串),直接新建数据层变量:

  • 在GTM后台进入「变量」→「用户定义变量」→「新建」;
  • 选择「数据层变量」类型;
  • 「数据层变量名称」填emailAddress即可(不用加.value,除非这个变量本身是带value属性的对象)。

方案2:从表单字段提取邮箱(适合无法改代码的情况)

如果邮箱是在表单输入框里,用以下两种方法:

方法A:用表单变量

  • 新建用户定义变量,选择「表单变量」类型;
  • 「组件类型」选「字段名」,输入邮箱字段的name属性值(比如你的表单里邮箱字段的name是emailAddress,就填这个);
  • 保存后就能直接拿到输入框里的邮箱值。

方法B:自定义JS变量

  • 新建用户定义变量,选择「自定义JavaScript」类型;
  • 输入以下代码(根据你的表单字段调整选择器):
function() {
  // 这里可以用字段的type、name或id来定位,比如name="email"就改成'input[name="email"]'
  var emailInput = document.querySelector('input[type="email"]');
  return emailInput ? emailInput.value : undefined;
}

第三步:验证配置

开启GTM的「预览」模式,在网站上触发对应的动作(比如提交表单),查看「变量」面板里的自定义变量,确认是否成功获取到邮箱值。

内容的提问来源于stack exchange,提问作者Joey Jones

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 16:11:08