Formbricks:开源用户反馈调查平台完全指南
背景
产品迭代离不开用户反馈。用户满意度如何?新功能是否受欢迎?有哪些改进建议?这些问题的答案直接影响产品决策。传统的问卷工具要么功能有限,要么数据隐私无法保障。Formbricks 作为开源的用户反馈和体验管理平台,让团队可以完全掌控调研数据,同时提供灵活的表单构建能力和专业的分析功能。本文分享 Formbricks 的部署与使用经验,帮助产品团队建立高效的用户反馈收集体系。
一、项目概述与核心特性
Formbricks 是一个开源的用户反馈和体验管理平台,GitHub Stars 数超过 10K,其设计理念是为每个产品互动时刻捕获用户反馈。产品团队可以用它创建净推荐值(NPS)调查、客户满意度(CSAT)调查、产品更新反馈等各类问卷。
灵活的表单构建器:Formbricks 提供可视化的表单编辑器,支持创建多种题型,包括:
- 单选题、多选题、评分题
- 文本输入、文本区域
- 文件上传、日期选择
- 矩阵题、排序题等高级题型
拖拽式的编辑体验让非技术人员也能快速创建专业问卷。
多种触发机制:Formbricks 支持多种调研触发方式:
- 嵌入式:将问卷直接嵌入到产品页面中
- 链接分享:生成独立链接分享到任何渠道
- 行动触发:用户完成特定操作后自动弹出
- 定期触达:对特定用户群定期发送调研邀请
目标用户管理:可以导入和管理目标用户信息,根据用户属性筛选调研对象,实现精准触达。支持匿名和实名两种模式。
数据分析看板:实时统计调研结果,提供可视化图表展示。支持按维度拆分数据、导出原始数据到 CSV,方便进一步分析。
多语言支持:内置多语言配置,可以为问卷添加多种语言版本,适应全球化产品调研需求。
隐私合规:数据完全存储在自有服务器,满足 GDPR 等数据隐私法规要求。问卷可以配置数据保留期限。
二、Docker Compose 部署教程
环境准备
Formbricks 的 Docker 部署需要准备以下环境:
- Docker Engine 24.0+
- Docker Compose v2.x
- 最低 4GB 内存(推荐 8GB+)
- 20GB+ 可用磁盘空间
- 支持 Linux AMD64 或 ARM64
基础部署
创建 Formbricks 专用目录:
mkdir -p ~/formbricks
cd ~/formbricks
创建环境变量配置文件 .env:
# Formbricks 基础配置
NEXT_PUBLIC_FORMBRICKS_API_HOST=http://localhost:3000
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your-nextauth-secret-generate-with-openssl
# PostgreSQL 数据库配置
DATABASE_URL=postgresql://postgres:postgrespassword@postgres:5432/formbricks
# Redis 缓存配置
REDIS_URL=redis://redis:6379
# 文件上传配置(可选,使用 S3 时配置)
# S3_ACCESS_KEY=
# S3_SECRET_KEY=
# S3_ENDPOINT=
# S3_BUCKET_NAME=
# 邮件配置(可选,用于发送邀请邮件)
# SMTP_HOST=
# SMTP_PORT=587
# SMTP_USER=
# SMTP_PASSWORD=
# SMTP_SECURE_ENABLED=
创建 docker-compose.yaml:
version: "3.8"
services:
formbricks:
image: formbricks/formbricks:latest
container_name: formbricks
hostname: formbricks
ports:
- "3000:3000"
volumes:
- ./formbricks-data:/home/librecat/formbricks
environment:
- DATABASE_URL=${DATABASE_URL}
- REDIS_URL=${REDIS_URL}
- NEXTAUTH_URL=${NEXTAUTH_URL}
- NEXTAUTH_SECRET=${NEXTAUTH_SECRET}
- NEXT_PUBLIC_FORMBRICKS_API_HOST=${NEXT_PUBLIC_FORMBRICKS_API_HOST}
depends_on:
- postgres
- redis
restart: unless-stopped
networks:
- formbricks-network
postgres:
image: postgres:16-alpine
container_name: postgres
hostname: postgres
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgrespassword
- POSTGRES_DB=formbricks
volumes:
- ./postgres-data:/var/lib/postgresql/data
restart: unless-stopped
networks:
- formbricks-network
redis:
image: redis:7-alpine
container_name: redis
hostname: redis
volumes:
- ./redis-data:/data
restart: unless-stopped
networks:
- formbricks-network
networks:
formbricks-network:
driver: bridge
启动 Formbricks 服务:
docker compose up -d
等待约 1 分钟让服务启动完成。使用浏览器访问 http://服务器IP:3000 即可进入 Formbricks 管理界面。
首次访问需要创建管理员账号。
配置 S3 兼容存储
如果需要存储文件上传(如用户提交的图片),建议配置 S3 兼容存储(如 MinIO、阿里云 OSS、AWS S3):
services:
formbricks:
# ... 其他配置
environment:
# S3 配置示例(MinIO)
- S3_ACCESS_KEY=minioadmin
- S3_SECRET_KEY=minioadmin
- S3_ENDPOINT=http://minio:9000
- S3_BUCKET_NAME=formbricks
- S3_REGION=us-east-1
三、快速入门与基础使用
创建第一个表单
- 登录 Formbricks 管理后台
- 点击「Create Survey」创建新问卷
- 选择问卷模板或从空白开始
- 输入问卷名称和描述
- 开始添加问题
添加问题
在表单编辑器中,点击「Add Question」添加新问题:
基础题型示例:
# NPS 评分题
问题文本:「您有多大可能向朋友推荐我们的产品?」
题型:评分题
范围:0-10
# 满意度选择题
问题文本:「您对本次体验满意吗?」
题型:单选
选项:
- 非常满意
- 满意
- 一般
- 不满意
- 非常不满意
# 多选题
问题文本:「您希望我们增加哪些功能?」(可多选)
题型:多选
选项:
- 移动端 App
- API 接口
- 数据导出
- 团队协作
- 其他(请说明)
# 开放式反馈
问题文本:「您还有其他建议吗?」
题型:文本区域
预览和测试
点击「Preview」进入预览模式,可以模拟用户填写问卷的体验。点击「Test」可以发送测试问卷到指定邮箱。
发布问卷
配置完成后点击「Publish」发布问卷。发布后会生成问卷链接,可以:
- 直接分享链接
- 嵌入到网站页面
- 发送邮件邀请
嵌入网站
Formbricks 支持将问卷以弹窗或嵌入式组件形式嵌入网站。获取嵌入代码:
- 在问卷设置中找到「Embed」选项
- 选择嵌入方式(Popup / Inline / Side Tab)
- 复制生成的代码
将代码添加到网站 HTML 中:
<script type="text/javascript">
window.formbricksConfig = {
formbricksSrc: "http://your-formbricks-server/js/formbricks.js",
formId: "your-form-id",
position: "bottom-right", // 弹窗位置
darkMode: "system", // 跟随系统
};
</script>
<script src="http://your-formbricks-server/js/formbricks.js"></script>
四、高级功能与最佳实践
用户属性与细分
Formbricks 支持为用户设置属性,实现精准调研:
内置用户属性:
- User ID
- Name
- Created At
自定义用户属性:
- 进入「Settings」→「Attributes」
- 点击「Add Attribute」
- 设置属性名称和类型
在问卷中引用用户属性:
# 个性化问题
问题文本:「Hi {{name}},您对最近使用的产品体验满意吗?」
行动触发规则
Formbricks 的核心优势之一是可以在用户完成特定操作后自动触发调研:
创建触发规则:
-
在问卷设置中选择「Trigger」标签
-
选择触发类型:
- Page Visit:用户访问指定页面时触发
- Exit Intent:用户准备离开页面时触发
- Scroll:用户滚动到页面特定位置触发
- Time on Page:用户停留指定时间后触发
- Custom Event:自定义事件触发
-
配置触发条件
-
设置显示频率(如每个用户只显示一次)
发送邀请触发:
- 新用户注册后发送欢迎调查
- 用户完成购买后发送满意度调查
- 用户长时间未登录后发送召回调研
匿名 vs 实名调研
Formbricks 支持两种调研模式:
匿名调研:不收集用户身份信息,适合一般性反馈收集
实名调研:关联用户身份,便于:
- 追踪同一用户的多次反馈
- 根据用户属性分析反馈差异
- 对特定用户进行跟进
在问卷设置中切换调研模式。
数据分析
Formbricks 提供直观的分析看板:
总体统计:
- 回收数量
- 完成率
- 平均完成时间
- 实时响应曲线
问题维度分析:
- 各选项占比饼图/柱状图
- 评分分布直方图
- 随时间变化趋势图
数据导出:
点击「Export」可将原始数据导出为 CSV,包含:
- 每个用户的回答详情
- 响应时间戳
- 用户属性信息(实名模式下)
多语言配置
为全球化产品配置多语言问卷:
- 在问卷设置中选择「Languages」
- 添加目标语言
- 为每种语言翻译问题和选项
- 设置默认语言
用户会根据浏览器语言自动看到对应版本。
Webhook 集成
Formbricks 支持 Webhook,可以在收到新响应时通知外部系统:
- 在问卷设置中选择「Integrations」
- 添加 Webhook
- 配置目标 URL 和触发条件
Webhook payload 示例:
{
"event": "response_created",
"survey_id": "survey_xxx",
"response": {
"id": "resp_xxx",
"created_at": "2026-04-04T10:00:00Z",
"answers": [
{"question": "q1", "value": 9 }
]
}
}
五、常见问题与解决方案
Q1:问卷嵌入后不显示?
排查步骤:
- 确认 Formbricks 服务可从网站访客浏览器访问
- 检查
formbricksSrcURL 是否正确 - 确认浏览器控制台无跨域错误
- 验证
formId是否正确
Q2:邮件邀请发送失败?
检查邮件配置:
- 确认 SMTP 配置完整
- 检查邮件是否进入垃圾箱
- 大规模发送建议使用 SendGrid、Mailgun 等专业邮件服务
Q3:如何自定义问卷样式?
Formbricks 支持通过 CSS 变量自定义问卷外观:
window.formbricksConfig = {
// ...
customStyling: true,
brandColor: "#3B82F6",
// ...
};
Q4:支持白标部署吗?
是的,Formbricks 支持完全自定义品牌信息:
- Logo 上传
- 品牌颜色
- 自定义域名(通过反向代理配置)
Q5:数据保留策略如何设置?
在问卷设置中可以配置数据保留期限,过期数据自动清理:
- 进入「Settings」→「Data Retention」
- 设置响应数据保留天数
- 配置用户数据保留策略
六、总结
Formbricks 为产品团队提供了一个灵活、隐私友好的用户反馈收集解决方案。通过 Docker Compose 部署,数据完全存储在自有服务器,满足数据合规要求。丰富的题型支持和多种触发机制使其可以适应 NPS 调查、客户满意度、产品迭代反馈等多种场景。直观的数据分析看板和 Webhook 集成能力让调研结果可以便捷地流入产品迭代流程。对于注重用户声音又希望掌控数据的团队,Formbricks 是值得尝试的开源选择。
© 版权归无边界科技所有,发表评论请注明出处。

4559

被折叠的 条评论
为什么被折叠?



