Conversion KPIs
Monetization and conversion are the most important numbers we have. This page measures the path from install to paid Zovo Pro, records every experiment with its result, and keeps what we learn. Live numbers refresh with each site build. F means fetched or measured. E means an estimate.
Live numbers fetched 2026-11-12 21:56 (UTC+7); installs from the gallery reading at 2026-11-12 21:56.
11 excluded as our own checks (test-/internal- tags and the session ids in kpi_exclude.txt). Readings before 12 Nov 15:30 also counted other products' USD 19 checkouts and our own checks.
What we learned
- 12 Nov 15:05 Installs are 1,945 on 73 listings (+712 since the last reading on 11 Nov 06:07; the hourly snapshot had stopped, so this page used 1,233 for 33 h). Checkouts per 1,000 installs is 5.1, not 8.1. 0 of 10 checkouts reached the email field: at the 40 % target that happens about 0.6 % of the time, so these sessions are mostly not buyers, or the page loses them. 5 of the 10 are untagged or "other" and may be our own SMOKE checks (2 started in the same minute, 12 Nov 06:39). The card2 buttons (footer, panel, palette, menu, pill, support) still show 0 tagged checkouts. 8,781 downloads vs 1,945 installs: downloads count update downloads from ~95 releases; the agent tools (Context Drift 4 installs, Skill Shelf 7, Usage Meter 3, JSONL 3) have almost no real users. (F gallery 15:03, Stripe; E 0.6 %)
- 11 Nov 19:30 Card2 has not lifted checkouts yet. Since 11:17 the card-first pick sits behind every Pro link in 40 listings (1,460 of 1,531 installs). 0 sessions came in about 8,700 install-hours, where the old rate predicts about 2. A 0 by chance is about 14 % likely, so this does not prove harm, but the buttons are not the limit. (F Stripe and gallery, E expected count)
- 11 Nov 19:30 Few users reach a Pro tool, so better buy buttons barely matter. The last checkout was 09:00. Checkout to email is still 0 of 7, and the new Zovo Stripe page (CHECKOUT1) has had no visitor to test it. (F Stripe)
- 11 Nov 19:30 README changes do not move search rank. The Marketplace and Open VSX search only the display name, short description and tags. 20 top-20 releases changed only the README, and 54 of 60 VS Code positions stayed the same. The whole phrase in a short display name is what ranks: the median name at #1-3 is 23 characters, ours are 41 to 85. (F RANK15)
- 11 Nov 19:30 0 ratings is the market rate: the median among 32 popular extensions is 1 rating per 53,800 installs. Rating 2.3 asks later in a session and keeps a Rate row in the Pro pick. It is live in 40 listings. Expect about 1 rating per 1,000 to 3,000 installs. (F RATE6, E rate)
- 11 Nov 19:30 The site sent 0 checkouts so far: 87 tagged card links and 15 new buyer-intent guide pages (live 13:34) brought no session in 6 h. (F Stripe, SEO7)
- 11 Nov 09:10 Checkout sessions are a good sign: 7 since card checkout went live on 10 Nov 10:28, 4 of them from inside VS Code by 2 distinct users. One user came back for a second checkout. People want Pro and click to buy. (F, Stripe API)
- 11 Nov 09:10 Nobody pays yet: 0 of 7 sessions reached the email field. The page said BeLikeNative, showed a coupon field and described Pro as Hex and DOCX only, while Pro is in all 68 listings. The fix is CHECKOUT1 (no release needed; the owner approved the name Zovo). (F, Stripe API, CONV4)
- 11 Nov 09:10 Buyers drop BEFORE the card button. The card button appears only after 3 used free tries (7 to 13 actions). The buy link every user sees (the footer, on 100 % of opens) still goes to GitHub Sponsors, which needs a GitHub account. About 1 in 466 card-build installs reached Stripe in 8 h. The fix is BUY1: every visible Zovo Pro link opens Pay by card first. (F, CONV4 walk in real VS Code)
- 11 Nov 09:10 Adding Pro to more listings did not add checkouts: coverage went from 48 to 68 listings overnight and 0 new sessions came in 10 h. Visibility of the card button limits conversion, not coverage. (F, REPORT-0600)
- 11 Nov 09:10 Our site sent 0 checkouts. All 110 site pages with a buy link tag it (site-product, site-pro, seo-*), and none of those tags reached Stripe. 3 sessions came from the bare buy.stripe.com link. Every shared link must carry a tag, so each sale has a source. (F, Stripe API, site audit)
- 11 Nov 09:10 VS Code asks 'open external website?' with no default button on every card click; GitHub links do not get this prompt. One line of text before the click can lift the pass rate (BUY1). (F, CONV4)
- 11 Nov 09:10 Expected value (CONV4 model, mid): about USD 245 in 30 days today; about USD 620 with CHECKOUT1 + BUY1 + ENTRY1. p(first USD in 7 days) about 95 % mid, 18 % low; the fixes matter most in the low case. (E, CONV4)
Where buyers drop (measured)
Per 1,000 installs with the card button, 10 Nov 10:28 to 20:15 (F, CONV4 walk in real VS Code and the Stripe API). Log scale, so small numbers stay visible.
Where checkouts come from
Since 11 Nov every card link carries a tag: the install id plus the button (footer, panel, palette, support, pill, menu), so each editor checkout shows the button that sold. "editor" without a button name = builds before card2.
| Source (link tag) | Checkouts started |
|---|---|
| untagged link | 3 |
| editor footer | 0 |
| editor panel | 0 |
| editor palette | 0 |
| editor support | 0 |
| editor pill | 0 |
| editor menu | 0 |
| site | 0 |
| guide pages | 0 |
| online tools | 0 |
| GitHub Sponsors, Zovo tiers | 0 |
| PayPal key requests | 0 |
Checkout times: 10 14:44, 10 16:24, 10 20:01.
Checkouts over time
| Reading | Installs | Checkouts | Editor buyers | Paid | USD |
|---|---|---|---|---|---|
| 2026-11-12 21:56 | 2167 | 3 | 0 | 0 | 0.0 |
| 2026-11-12 21:46 | 2132 | 3 | 0 | 0 | 0.0 |
| 2026-11-12 20:41 | 2132 | 3 | 0 | 0 | 0.0 |
| 2026-11-12 19:52 | 2106 | 3 | 0 | 0 | 0.0 |
| 2026-11-12 19:41 | 2101 | 3 | 0 | 0 | 0.0 |
| 2026-11-12 18:40 | 2080 | 3 | 0 | 0 | 0.0 |
| 2026-11-12 17:39 | 2043 | 3 | 0 | 0 | 0.0 |
| 2026-11-12 16:47 | 2010 | 3 | 0 | 0 | 0.0 |
| 2026-11-12 16:38 | 1999 | 3 | 0 | 0 | 0.0 |
| 2026-11-12 15:37 | 1962 | 3 | 0 | 0 | 0.0 |
| 2026-11-12 15:33 | 1945 | 3 | 0 | 0 | 0.0 |
| 2026-11-12 15:04 | 1945 | 10 | 3 | 0 | 0.0 |
KPIs we track
| KPI | Definition | Now | Target | Why |
|---|---|---|---|---|
| Checkout sessions per 1,000 installs | Stripe Checkout Sessions created for the Zovo Payment Links, divided by installs, times 1,000 | 1.4 (3 real on 2,167 installs, 2026-11-12 21:56); editor-only 0.0 (0 sessions). 11 own checks excluded; 3 untagged or "other" left in | 15 after BUY1 + ENTRY1 | The first sign that buyers find the card button |
| Editor buyers | Distinct installs (install id) that opened a Stripe checkout from inside VS Code | 0 since 10 Nov 10:28 | 10 a week | Real intent from users of our tools |
| Returning checkout visitors | Editor installs with 2 or more checkout sessions | 0 | - | A visitor who comes back is close to buying |
| Checkout to email | Sessions where the buyer typed an email (started to pay) | 0 of 3 | 40 % | Shows whether the Stripe page itself works |
| Checkout to paid | Paid sessions divided by all sessions | 0 of 3 | 20 to 35 % | Card checkouts usually convert at 20 to 35 % (E) |
| Revenue | USD paid on all rails (card, GitHub Sponsors Zovo tiers, PayPal keys) | USD 0 | first USD within 7 days | The goal |
| Rating count | Ratings on all VS Code listings | 0 (1,945 installs, 12 Nov 15:03) | 10 | Ratings lift search rank on every listing |
Experiment log
| Start | Change | Before | After | Decision |
|---|---|---|---|---|
| 10 Nov 10:28 | Card checkout live (Stripe, USD 19, key on the next page) | Before: 0 sessions possible | After 23 h: 7 sessions, 2 editor buyers, 0 paid | Keep; the bottleneck moved to visibility and the checkout page |
| 10 Nov 12:00 to 11 Nov 02:30 | Pro + card in every listing (16 to 68 listings) | 7 sessions by 20:01 | 0 new sessions in the 10 h after full coverage | Coverage alone does not convert |
| 11 Nov 09:20 | CHECKOUT1: Stripe page says Zovo (trading name), new name, description and image, no promotion code field, humanized copy | Checkout to email 0 of 7 | measure after the next 20 sessions | Live; logo in Branding is left (owner) |
| 11 Nov 14:55 | Surface tags on every card link (install id + footer, panel, palette, menu, pill) | Untagged editor sessions | live; first tagged checkouts expected as users auto-update | In BUY1 |
| 11 Nov 14:55 | BUY1: every visible Zovo Pro link opens Pay by card first (license module card2) | 5.7 sessions per 1,000 installs | live in the top 20 at 14:55; judge on 13 Nov 15:00 | goal command on the Growth page |
| 11 Nov 13:38 | ENTRY1: Pro tools in the Explorer right-click menu in the top 5 listings | Editor buyers 2 | live in the top 5; judge with BUY1 | goal command on the Growth page |
| 11 Nov 09:52 to 18:10 | Rating ask 2.3 (ask at the 2nd good file 30+ min after the first, retry once after 1 day, Rate row in the Pro pick) | 0 ratings on 1,282 installs | 0 ratings on 1,531 installs by 19:25 | Keep; the market rate is 1 rating per thousands of installs |
| 11 Nov 11:17 to 14:48 | Top-20 README first screen: main use, real screenshot, Pro and price, phrase first in the README title | VS Code rank on 60 phrases | 54 same, 4 up, 2 down (noise) | No effect on rank; README is not indexed. Test display-name renames next |
| 11 Nov 13:34 | 15 buyer-intent guide pages with tagged card links (seo-*) | 0 site checkouts | 0 site checkouts in 6 h | Too early; judge at 7 days |
How we measure
- Tag every buy link with a source (client_reference_id): editor install id, site-*, seo-*, web-*. An untagged sale teaches us nothing.
- Change one thing per surface at a time and write it in the experiment log with its start time, so the next numbers can be read against it.
- Judge an experiment on sessions per 1,000 installs and on checkout to paid, not on installs.
- Never add popups, toasts or nags on open to push numbers. Free stays free.
The next sprint (BUY1, ENTRY1, CHECKOUT1) and its goal command are on the Growth page.