在用户犹豫的地方收集转化原因
你这边 identify 用户。track 一个时刻。他们只选一个原因。
<script src="/widget.js"></script>
<script>
MorePaying.init({
projectKey: "mp_proj_YOUR_KEY",
locale: "zh-CN",
tabText: "只问一句",
brandColors: {
primary: "#10b981",
hover: "#059669",
active: "#047857",
onPrimary: "#ffffff"
}
})
</script>会带上什么
- 时刻 — 注册、第一次结果、离开定价、结账、升级、已付、取消
- 一个固定原因。只有选「其他」才可以补一句话
- 套餐、用量、用户 id、渠道/UTM、注册时间、生成次数、第一次成功、剩余额度、价格页停留、Stripe 金额来自 identify()
- URL、标题、视口、UA、控制台报错
- 可选:钉住一个元素(CSS 选择器)并截一段 DOM
- 短时用户 token 来自 userTokenFn — 在你的服务器签发
在某个时刻提问
MorePaying.identify({
userId: "usr_123",
plan: "free",
usage: "12/50",
signedUpAt: "2026-08-01T00:00:00.000Z",
generations: 12,
firstSuccess: true,
creditsRemaining: 38,
creditsLimit: 50,
channel: "twitter",
stripeCustomerId: "cus_123",
stripeAmountCents: 0,
stripeStatus: "none"
})
MorePaying.track("pricing_view")
MorePaying.track("pricing_exit")
MorePaying.track("paid")报告人身份
已登录用户请在你的服务器签发短时 token。不要把签名密钥写进浏览器。
MorePaying.init({
projectKey: "mp_proj_YOUR_KEY",
locale: "zh-CN",
userTokenFn: async () => {
const response = await fetch("/api/identity-token", {
method: "POST",
headers: { "Content-Type": "application/json", "X-Project-Key": "mp_proj_YOUR_KEY" },
body: JSON.stringify({ userId: currentUser.id })
})
return (await response.json()).token
}
})