Collect conversion reasons where users hesitate

Identify the user on your side. Track a moment. They pick one reason.

Install

Identify the user on your side. Track a moment. They pick one reason.

Open playground
<script src="/widget.js"></script>
<script>
  MorePaying.init({
    projectKey: "mp_proj_YOUR_KEY",
    locale: "en",
    tabText: "One question",
    brandColors: {
      primary: "#10b981",
      hover: "#059669",
      active: "#047857",
      onPrimary: "#ffffff"
    }
  })
</script>

What it captures

  • Moments — signup, first result, pricing exit, checkout, upgrade, paid, cancel
  • One fixed reason. Optional sentence only if they pick Other
  • Plan, usage, user id, channel/UTM, signed-up-at, generations, first success, remaining credits, pricing dwell, Stripe amount from identify()
  • URL, title, viewport, user agent, console errors
  • Optional element pin (CSS selector) plus a truncated DOM snapshot of that node
  • Short-lived user token from userTokenFn — minted on your server

Ask at a moment

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")

Reporter identity

For signed-in users, mint a short-lived token on your server. Never put the signing secret in browser code.

MorePaying.init({
  projectKey: "mp_proj_YOUR_KEY",
  locale: "en",
  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
  }
})

See the first judgment free

Stop guessing why they didn't pay.

One question when they don't upgrade. Watch the card appear on the board.

Free now. No card on Free. Paid plans check out through pay.yito.ai.