Why this matters
Marketplaces are two-sided, but supply usually beats demand to “hard mode.” Buyers come and go on demand-side ads; sellers require a structural commitment (write a profile, photograph inventory, set pricing). If your seller activation funnel leaks, no amount of demand-side spend fixes it — buyers arrive to a thin catalog.
Yet most marketplaces don’t build the funnel. The buyer side gets tons of love (Mixpanel funnels, dashboards, retention cohorts). The seller side gets a seller_signup_completed counter on a CS dashboard somewhere. The result: nobody knows whether the friction is at profile-setup, first-listing, or first-paid-listing.
This recipe puts the per-step funnel in your hand in 5 minutes. Once you know which step bleeds, the supply growth conversation becomes specific instead of “we need more sellers.”
What you get
- A 4-step funnel: seller_signup → profile_completed → first_listing → first_paid_listing
- Per-step drop-off and conversion %
- A published dashboard the supply-growth team can watch weekly
Walk through it
Build the supply-side activation funnel: seller_signup → profile_completed → first_listing → first_paid_listing. Show drop-off per step over the last 60 days.
Let me check the actual event names you’ve captured for the seller flow before assuming.
agentry_list_event_names {
project_id: "default"
}
{
"analytics_events": [
{ "name": "seller_signup_completed", "count": 8400, "last_seen": "2026-05-15T18:22:00Z" },
{ "name": "seller_profile_saved", "count": 5240, "last_seen": "2026-05-15T18:21:00Z" },
{ "name": "listing_drafted", "count": 3120, "last_seen": "2026-05-15T18:20:00Z" },
{ "name": "listing_published", "count": 1840, "last_seen": "2026-05-15T18:18:00Z" },
{ "name": "listing_first_sale", "count": 420, "last_seen": "2026-05-15T16:00:00Z" }
]
}
Good — your event names match the funnel intent, just slightly different naming. Mapping:
| Prompt step | Actual event |
|---|---|
| seller_signup | seller_signup_completed |
| profile_completed | seller_profile_saved |
| first_listing | listing_published (NOT listing_drafted — that’s clicks “Save draft”) |
| first_paid_listing | listing_first_sale |
agentry_run_recipe {
recipe_id: "funnel",
params: {
project_id: "default",
steps: ["seller_signup_completed", "seller_profile_saved", "listing_published", "listing_first_sale"],
window_days: 60,
conversion_window_hours: 1440
}
}
{
"steps": [
{ "name": "seller_signup_completed", "count": 8400, "conversion": 1.000, "avg_time_to_next_s": 3600 },
{ "name": "seller_profile_saved", "count": 5240, "conversion": 0.624, "avg_time_to_next_s": 86400 },
{ "name": "listing_published", "count": 1840, "conversion": 0.351, "avg_time_to_next_s": 432000 },
{ "name": "listing_first_sale", "count": 420, "conversion": 0.228 }
],
"overall_conversion": 0.050
}
Here’s the picture:
| Step | Count | Step conversion | Time to next |
|---|---|---|---|
| seller_signup_completed | 8,400 | 100% | 1h avg |
| seller_profile_saved | 5,240 | 62.4% | 1d avg |
| listing_published | 1,840 | 35.1% ★ | 5d avg |
| listing_first_sale | 420 | 22.8% | — |
Overall: 5.0% of sign-ups become paid sellers in 60 days.
The leak is profile→listing (35.1%). Sellers complete their profile, then sit on it for 5 days before publishing. That’s the friction point. Two likely causes:
- Listing creation is hard — photos, dimensions, shipping settings. Sellers underestimate it.
- No nudges — once they leave, nothing reminds them to publish. Most marketplaces send “complete your first listing” emails on day 1, 3, 7.
A secondary leak is listing→first-sale at 22.8%. That’s actually a demand-side problem (no buyers for new listings) or pricing (new sellers price too high). Two different problems.
agentry_publish_query {
recipe_id: "funnel",
description: "Seller activation funnel (60d)",
params: { steps: ["seller_signup_completed", "seller_profile_saved", "listing_published", "listing_first_sale"], window_days: 60 }
}
{ "publication_id": "pub_seller_act", "public_url": "https://agentry.sh/q/pub_seller_act?key=agp_…" }
Dashboard live. Recommended next experiments:
- Onboarding-email sequence for the “profile_saved but no listing_published” cohort
- Listing-creation UX audit (especially photo upload)
- A separate funnel just for the “listing → first sale” leg, segmented by category — some categories may convert fine, others not at all
The output
Seller activation funnel (60d)
seller_signup_completed 8,400 ────────────── 100.0%
↓ 1h avg 3,160 (drop) 62.4%
seller_profile_saved 5,240 ▍ 62.4%
↓ 1d avg 3,400 (drop) 35.1% ★ THE LEAK
listing_published 1,840 ▏ 21.9%
↓ 5d avg 1,420 (drop) 22.8%
listing_first_sale 420 ▏ 5.0%
Overall: 5.0% of sign-ups become paid sellers.
Leak diagnosis (profile→listing, 35.1%):
- Listing creation friction (photos / dimensions / shipping)
- No nudges after profile save
- Time-to-publish median 5 days = sellers abandon
Recommendations:
- Drip emails for "profile_saved but no listing" cohort (D1, D3, D7)
- Audit listing creation flow (especially photo upload)
- Per-category listing→sale funnel — diagnose demand-side gap
Public dashboard:
https://agentry.sh/q/pub_seller_act?key=agp_xxx
Setting it up
You need 4 events fired from the seller-side flow, each with the seller’s distinct_id:
// On the seller-signup completion route
await fetch(`https://api.agentry.sh/v1/analytics/${PROJECT_ID}/`, {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.AGENTRY_DSN}`,
"Content-Type": "application/json",
"User-Agent": "marketplace/1.0", // REQUIRED — Cloudflare 403s default UAs
},
body: JSON.stringify({
event: "seller_signup_completed",
distinct_id: seller.email,
properties: { source: "organic|paid|referral", country: seller.country },
}),
});
// On the profile-save handler
postAnalytics("seller_profile_saved", { /* ... */ });
// On the listing publish handler (NOT the draft save)
postAnalytics("listing_published", {
listing_id: listing.id,
category: listing.category,
price: listing.price,
});
// On the first-sale webhook from your payments system
postAnalytics("listing_first_sale", {
listing_id: listing.id,
order_id: order.id,
gmv: order.amount,
});
The conversion_window_hours: 1440 (60 days) in the funnel params is important — supply-side activation often takes weeks, unlike a buyer-side checkout funnel that completes in minutes.
Variations
- “Same funnel split by acquisition source — do organic sellers activate at different rates than paid sellers?”
- “Per-country funnel — sometimes activation rate in a launch country tells you whether the playbook is portable.”
- “For sellers who completed profile but never published — pull a sample of 20 emails for a customer call.”
- “Time-to-first-listing histogram. Most sellers either publish in <24h or never — confirm the bimodal.”