Outils pour développeurs

Open source à offres payantes : les visites du dépôt et de la doc qui deviennent des clients, pas des étoiles.

Un logiciel open source gagne de l’argent avec un cloud hébergé, des licences commerciales ou du support, tandis que beaucoup d’utilisateurs l’auto-hébergent sans jamais payer. Tally lie chaque paiement aux visites qui le précèdent : le chemin du dépôt à la page de tarifs du cloud est mesuré, au lieu d’être déduit des étoiles.

Commencer gratuitement

14 jours gratuits, sans carte bancaire.

01Comment ils vendent

  • AbonnementUne version cloud hébergée facturée au mois ou à l’année, souvent par palier d’usage.
  • Achat uniqueDes licences commerciales pour les entreprises qui ne peuvent pas utiliser la licence open source, ou une édition pro aux fonctionnalités supplémentaires.
  • À l’usageDes offres cloud facturées selon la puissance de calcul, le stockage ou les utilisateurs réellement consommés.

02Les paiements qu’il lit

  • StripeOffres cloud et licences commerciales via Stripe ; renouvellements et factures d’usage sont lus.
  • PolarPensé pour les mainteneurs open source : abonnements, licences ponctuelles et cycles à l’usage sont lus, avec les litiges perdus comptés comme rétrofacturations.
  • Lemon SqueezyÉditions pro et clés de licence vendues via des liens de paiement Lemon Squeezy.

Ce que Tally ne peut pas lire

  • Les paiements GitHub Sponsors et Open Collective ne sont pas lus.
  • Les téléchargements, pulls Docker et installations de paquets ne sont ni des visites ni des ventes.
  • Les installations auto-hébergées ne paient jamais : elles n’apparaissent que comme visiteurs de la doc, jamais comme revenus.
  • Les contrats de support payés par virement sur votre propre facture ne sont pas lus.

03D’où viennent les acheteurs

  • Dépôt GitHubLes liens du README vers la doc et les tarifs du cloud amènent des visiteurs depuis le dépôt ; des UTM sur ces liens séparent le trafic du README des autres liens GitHub.
  • Doc d’auto-hébergementLes développeurs qui lisent le guide d’auto-hébergement décident parfois que la version hébergée demande moins de travail, et cette doc figure sur leur parcours.
  • Lancements sur Hacker NewsLes annonces de version envoient des développeurs qui mettent une étoile au dépôt, et quelques-uns qui essaient le cloud.
  • Discord ou Slack du projetLes membres de la communauté arrivent sur le cloud par les liens des messages épinglés et des annonces.
  • Recherches d’alternatives open sourceLes recherches d’une alternative open source à un produit payant amènent des acheteurs déjà prêts à payer pour l’hébergement.

04Ce à quoi Tally répond

  1. Les visiteurs venus du dépôt achètent-ils la version hébergée ?

    GitHub apparaît comme référent, avec ses visiteurs et les revenus qui leur sont attribués ; avec des UTM sur les liens du README, le lien vers les tarifs du cloud et celui vers la doc ont chacun leur propre ligne.

    Sources et revenus
  2. Les lecteurs de la doc d’auto-hébergement finissent-ils sur le cloud ?

    Le parcours d’achat liste les pages vues par les acheteurs avant de payer ; si les guides d’auto-hébergement figurent dans le parcours de nombreux acheteurs du cloud, c’est la doc qui fait la vente.

    Parcours d’achat
  3. Les acheteurs de licences commerciales viennent-ils de la recherche ou du dépôt ?

    La valeur vie client par première source donne les clients et le revenu à vie de chaque source, licences et renouvellements compris : le dépôt et la recherche se comparent sur l’argent.

    Valeur vie client
  4. Pourquoi certaines inscriptions au cloud n’ont-elles pas de source ?

    La couverture liste les raisons pour lesquelles des revenus ne sont pas liés, comme une inscription au cloud sur un domaine distinct où l’identifiant du visiteur n’a jamais atteint le paiement, avec le snippet qui corrige.

    Couverture
  5. Qui a acheté une licence commerciale ce mois-ci, et comment nous a-t-il trouvés ?

    La liste des visiteurs montre la dernière source, la localisation, les pages et le paiement de chaque acheteur ; son historique déplie chaque visite depuis la première, qui peut être un lien du dépôt vieux de plusieurs mois.

    Visiteurs et parcours

05Les chiffres à suivre

Visites avant l’achat
Les visites avant le premier paiement, qui comptent les passages dans la doc d’un utilisateur auto-hébergé avant qu’il paie le cloud.
Revenus par source
Les revenus derrière GitHub, la communauté, la recherche et chaque lien du README.
Couverture
La part des revenus liée à une visite, qui baisse quand l’app cloud vit sur un autre domaine.
Renouvellements
Les renouvellements par première source : la mesure qui dit si les clients cloud d’un lancement restent.

06Un exemple

Exemple

Path to purchase

Last 30 days · 112 of 133 new sales, the ones linked to a visitor

Median time to buy

3days

from their first visit

Median visits

3visits

the one they paid in included

Bought on the first visit

14%

16 of 112

Pages before buying

10.5

median pages viewed

Where buyers came from, and who closed the sale

112 new sales: where each buyer first came from, and the source credited with the sale.

51% of new sales were credited to the source that first brought the buyer in. Hover or focus a flow for its numbers.

  1. Googlecredited toGoogle27
  2. x.comcredited tox.com11
  3. Other (3 sources)credited toOther (3 sources)11
  4. Directcredited toOther (3 sources)10
  5. ChatGPTcredited toChatGPT10
  6. Redditcredited toReddit9
  7. Other (3 sources)credited toNewsletter9
  8. Googlecredited toNewsletter6

6 smaller flows in the table below.

Show the flows as a table
112 new sales: where each buyer first came from, and the source credited with the sale.
Brought them inCredited with the saleNew salesShare
GoogleGoogle2724%
x.comx.com1110%
Other (3 sources)Other (3 sources)1110%
DirectOther (3 sources)109%
ChatGPTChatGPT109%
RedditReddit98%
Other (3 sources)Newsletter98%
GoogleNewsletter65%
DirectGoogle54%
x.comGoogle54%
RedditGoogle44%
DirectReddit22%
ChatGPTGoogle22%
Other (3 sources)ChatGPT1<1%

Time from first visit to purchase

  1. 16Same visit: 16 sales (14%), bought in their first visit
  2. 13Same day: 13 sales (12%), a later visit, under 24 hours after the first
  3. 311–3 days: 31 sales (28%), 1 to 3 days after the first visit
  4. 204–7 days: 20 sales (18%), 4 to 7 days after the first visit
  5. 161–2 weeks: 16 sales (14%), 8 to 14 days after the first visit
  6. 112–4 weeks: 11 sales (10%), 15 to 28 days after the first visit
  7. 51–3 months: 5 sales (4%), 29 to 90 days after the first visit
  8. 03+ months: 0 sales (0%), 91 days or more after the first visit

Pages buyers saw before paying

Share of the 112 buyers who viewed each page before paying

  1. /pricing96%, 108 of 112 buyers
  2. /71%, 80 of 112 buyers
  3. /signup64%, 72 of 112 buyers
  4. /docs38%, 43 of 112 buyers
  5. /blog/stripe-fees26%, 30 of 112 buyers
  6. /compare22%, 25 of 112 buyers
  7. /changelog8%, 10 of 112 buyers
  8. /blog/launch-week6%, 7 of 112 buyers

Only new sales count here. Renewals and upgrades belong to the visit that won the subscription, so counting them would count that journey again.

Fig. 1Le parcours d’achat sur le site d’exemple. Pour un logiciel open source, lisez les pages vues par les acheteurs : la doc et les liens du dépôt peuvent précéder de loin la page de tarifs.

07Mise en place

  1. Next.jsSi la doc et le site partagent une app Next.js, placez la balise une seule fois dans le layout racine.
  2. PolarRenseignez tally_visitor_id dans les métadonnées du paiement Polar, pour les licences comme pour les offres cloud.
  3. Si l’app cloud est sur un autre domaine, appelez tally('identify', { email }) à l’inscription au cloud, pour que les paiements qui s’y font puissent se lier par e-mail.
  4. Ajoutez des UTM à chaque lien du README : chacun apparaît comme sa propre campagne.

08Questions fréquentes

  • Les étoiles ou les sponsors GitHub apparaissent-ils ?

    Non. Les étoiles, GitHub Sponsors et Open Collective ne sont pas lus. Seuls le sont les visites de votre site et les paiements dans Stripe, Paddle, Lemon Squeezy, Polar, WooCommerce ou Squarespace, ainsi que ceux que votre serveur envoie à la Payments API.

  • Le renouvellement d’une licence commerciale est-il attribué à la première source ?

    S’il se renouvelle comme un abonnement, oui : les renouvellements reprennent le lien du premier paiement. Une licence rachetée par un nouveau paiement ponctuel est une nouvelle vente, attribuée à la visite qui la précède.

  • Peut-on être prévenu de chaque nouveau client cloud dans Discord ?

    Oui. Les alertes de vente partent vers Discord, Slack, Telegram, par e-mail ou vers un webhook, chacune avec la source attribuée.