如何通过Data Layer将HubSpot表单字段传至GTM并解决数据未显示问题
排查HubSpot表单数据无法同步到Google Ads转化的问题
以下是按优先级排序的排查和修复步骤:
1. 修正Data Layer推送的结构
你当前的dataLayer.push只传递了变量值,但缺少事件触发标识,GTM无法感知何时触发Google Ads转化标签。同时变量名var过于通用,容易冲突。修改推送代码:
hbspt.forms.create({ region: "eu1", portalId: "xxxxxxxx", formId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", onFormSubmitted: function ($form) { // 清洗邮箱格式(小写、去除首尾空格) const rawEmail = $form.find('input[name="email"]').val().toLowerCase().trim(); dataLayer.push({ 'event': 'hubspot_form_submitted', // 自定义事件名,用于GTM触发 'submitted_email': rawEmail // 明确的变量名 }); } });
2. 验证Data Layer推送是否生效
打开GTM预览模式,在网页上提交表单,查看预览面板的Data Layer标签:
- 确认是否出现
hubspot_form_submitted事件 - 检查
submitted_email字段是否包含正确的邮箱值
如果未触发,排查: - HubSpot表单的邮箱字段
name属性是否确实为email(可在浏览器开发者工具中查看表单元素) onFormSubmitted函数是否被正确绑定(确保代码在shell.js加载完成后执行)
3. 在GTM中配置正确的触发器
在GTM后台创建自定义事件触发器:
- 触发器类型:自定义事件
- 事件名称:
hubspot_form_submitted(与dataLayer中的事件名完全一致) - 触发条件:所有页面(或仅包含HubSpot表单的目标页面)
4. 处理邮箱的哈希要求(关键)
Google Ads接收用户邮箱时,要求使用SHA-256哈希后的小写邮箱(符合隐私合规要求)。你可以在推送dataLayer前处理哈希:
// 新增SHA-256哈希函数 function hashEmail(email) { const cleanedEmail = email.toLowerCase().trim(); return crypto.subtle.digest('SHA-256', new TextEncoder().encode(cleanedEmail)) .then(buffer => { return Array.from(new Uint8Array(buffer)) .map(byte => byte.toString(16).padStart(2, '0')) .join(''); }); } hbspt.forms.create({ region: "eu1", portalId: "xxxxxxxx", formId: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", onFormSubmitted: async function ($form) { const rawEmail = $form.find('input[name="email"]').val(); const hashedEmail = await hashEmail(rawEmail); dataLayer.push({ 'event': 'hubspot_form_submitted', 'hashed_submitted_email': hashedEmail }); } });
随后在GTM中创建一个Data Layer变量,指向hashed_submitted_email。
5. 配置Google Ads转化标签
在GTM中创建Google Ads转化标签:
- 转化ID和转化标签ID:从Google Ads后台的转化动作中复制
- 勾选“包括用户提供的数据”,在“用户标识符”中添加:
- 类型:电子邮件
- 值:选择刚才创建的
hashed_submitted_email变量
- 触发器:选择步骤3中创建的自定义事件触发器
6. 验证转化跟踪
- 使用GTM预览模式触发表单提交,查看标签是否成功触发
- 在Google Ads后台的「转化」>「实时」报告中,查看是否有测试转化数据(通常几分钟内会显示)
- 如果仍无数据,检查Google Ads后台的转化动作设置:确保跟踪方式为「使用Google Tag Manager」,且转化状态为「已启用」
7. 检查隐私合规限制
如果用户未同意Cookie或数据收集,浏览器可能会阻止GTM标签或dataLayer推送。确保网站已配置合规的Cookie提示,且在用户同意后才加载GTM和HubSpot表单代码。
内容的提问来源于stack exchange,提问作者Naser.Sadeghi
相关产品推荐
相关产品推荐

