无需受访者手动提交邮箱,如何追踪Google Forms的发送与填写?
Google Form 受访者发送与提交追踪方案
一、设置带UID的预填问卷链接(核心关联逻辑)
- 打开目标Google Form,添加短文本类型的问题,标题设为
UID,勾选「必填」 - 点击问题右上角的三个点,选择「转到预填表单」,在UID输入框填入占位符(比如
{{UID}}),点击「获取链接」 - 回到该问题的设置,勾选「隐藏问题」——受访者看不到这个字段,但提交问卷时会自动带上预填的UID值
- 发送邮件时,将预填链接里的
{{UID}}替换为数据库中对应受访者的真实UID,生成专属问卷链接
二、记录问卷邮件的发送时间
针对你找到的Gmail导出脚本,修改为监控「已发送」文件夹,步骤如下:
- 创建Google Sheets表格「邮件发送记录」,表头设为:
UID、收件人邮箱、发送时间、问卷链接 - 修改脚本的搜索规则:将原脚本中的搜索条件改为
in:sent,同时可按邮件主题精准筛选(比如你的问卷邮件主题为「请填写XX调研问卷」),代码示例:var threads = GmailApp.search('in:sent subject:"请填写XX调研问卷"'); - 遍历邮件时,提取关键信息:
- 收件人邮箱:通过
message.getTo()获取 - 发送时间:通过
message.getDate()获取,可转为格式化日期 - UID:从邮件内容的问卷链接中匹配,比如链接格式为
https://docs.google.com/forms/d/e/XXX/viewform?entry.123456={{UID}},用正则提取:var link = message.getBody(); var uidMatch = link.match(/entry\.123456=([^&]+)/); var uid = uidMatch ? uidMatch[1] : "";
- 收件人邮箱:通过
- 将提取到的信息写入「邮件发送记录」表格
三、关联发送记录与问卷提交数据
- 在Google Form的「响应」标签,点击「链接到表格」,生成响应表格(自动包含提交的UID字段)
- 在「邮件发送记录」表格中,用公式关联提交数据:
- 新增「提交时间」列,使用
VLOOKUP匹配UID,示例公式:
(A2为当前行的UID,=VLOOKUP(A2, '响应表格名称'!A:Z, 2, FALSE)响应表格名称替换为你的响应表格实际名称,2为响应表格中「提交时间」所在的列号)
- 新增「提交时间」列,使用
- 进阶:用Apps Script设置表单提交触发器,当有新提交时自动在「邮件发送记录」中更新对应UID的提交状态和时间
四、调试注意事项
- 先发送测试邮件,运行脚本验证是否能正确提取UID、发送时间到表格
- 打开预填链接,查看页面源码确认UID参数存在,提交后检查响应表格是否有UID值
- 首次运行脚本时,按提示完成Gmail和Sheets的权限授权
内容的提问来源于stack exchange,提问作者JAGresults
相关产品推荐
相关产品推荐

