Skip to content

Funnels

Funnels visualize the conversion path through a series of events. Use them to find where players drop off during onboarding, purchases, or feature adoption.

ModeBehaviorUse Case
LooseEvents can happen in any order, repeated events count onceFlexible user journeys (default)
StrictEvents must happen in exact sequenceTutorial completion, purchase flow

Click Create Funnel in the dashboard:

  1. Name your funnel (e.g., “Tutorial to First Purchase”)
  2. Select mode: Loose or Strict
  3. Add steps by selecting events:
    • Step 1: tutorial_start
    • Step 2: tutorial_complete
    • Step 3: first_purchase
  4. Click Save

The dashboard immediately shows conversion rates between each step.

Track players from tutorial through purchase:

# Step 1: Tutorial Start
QuestData.track("tutorial_start", {"difficulty": "normal"})
# Step 2: Tutorial Complete
QuestData.track("tutorial_complete", {"time_spent_seconds": 300})
# Step 3: First Purchase
QuestData.track("purchase_completed", {
"product_id": "starter_pack",
"amount": 4.99
})
Drop-Off %InterpretationAction
<10%Normal frictionMonitor
10-20%Notable dropReview UX
>20%Major issueHigh priority
Terminal window
# Get all funnels for a game
curl "https://api.questdata.io/v1/funnels" \
-H "x-game-api-key: YOUR_API_KEY"
# Get a specific funnel's conversion data
curl "https://api.questdata.io/v1/funnels/monetization_funnel?from=2026-01-01&to=2026-04-01" \
-H "x-game-api-key: YOUR_API_KEY"

Response:

{
"funnel_id": "monetization_funnel",
"mode": "loose",
"steps": [
{ "step": 1, "event": "tutorial_start", "count": 1000 },
{ "step": 2, "event": "tutorial_complete", "count": 950, "dropoff": 5.0 },
{ "step": 3, "event": "first_purchase", "count": 285, "dropoff": 70.0 }
],
"overall_conversion": 28.5
}
  • Keep funnels to 3-5 steps for clarity
  • Use Strict mode for tutorials, Loose for organic behavior
  • Review funnels weekly to catch conversion regressions early