November 25, 2023
To grow your open-source, you must measure your channels, set goals, and crush them.
The biggest issue with open source is that you lose attribution.
If your CTA is to go to your GitHub and give you a star once that person lands on your GitHub:
You lose their referer.
You lose their campaign (if they came from one.)
Ultimately, they appear as “direct” on your software tracking (Plausible, Google Analytics, etc.).
So what can you do?
If you only self-host your solution now, you lose most of the attribution.
It might be intrusive, but sometimes, there is no other option - Ask your users for their Attribution from the CLI (give them the option to skip.)
How did you find us?
- Empty result (Just click enter)
- A Friend
If, at the moment, the user can only clone the repository, I would recommend adding something like an “npx” command to use your tool.
If you have a cloud service, ask your users how they find you during the onboarding. It’s the same as the CLI; you can add more fields, such as Company size, Use case, etc.
Don’t add too much. The more you add, the higher the chances the user will churn.
Add Discord and Slack to your GitHub. Once somebody joins, send them private messages about how they found you. Try to DM them as soon as they enter, as that’s when they will be the most active/motivated to talk.
If their answer is “a friend,” try to dig deeper.
How did their friend find you?
Use GitHub GraphQL to scrape all the emails of the people who starred your library and shoot them an email:
Subject: thank you
Message: Hi [name], I just wanted to say thank you for starring our library [library name].
…Wait for a reply, then ask
Message: I am happy to know where did you learn about [library name]
Tools like Commonroom and CrowdDev are great for seeing the contributor’s funnels (Land on GitHub, star the repository, join the discord, fork the repository, etc.). Then, if you add GitHub authentication to your cloud app, you can keep tracking events (Create a new workflow, send 1000 events, etc.).
This is a technic I have been thinking about for a while.
Let’s say you have a DEV article that leads to your GitHub.
Then the visitor registers to the cloud - You can’t attach the DEV article URL because you lose the attribution in GitHub.
There is a trick you can do. I haven’t tried it yet.
Short link your GitHub URL, for example, link.gitroom.com/get-stars
Register a cookie when clicking the link
value: dev.to/article name
Redirect the visitor to your GitHub.
Every time the user makes an action, fire an event using Plausible or Google Analytics and pass the cookie value. (you might want to play here with an iframe with PostMessage)
You can also register it to the local storage to not break GDPR.
It’s probably a bit harder.
In Novu, we had endless conversations about what to measure, I will usually break it into two: Acquisition and Retention.
Acquisition is everything that your marketing brings, for example:
Book a call
Registered to the cloud
I would usually use something like Plausible or Vercel analytics for acquisition channels. They are a lot simpler than Google Analytics and don’t break GDPR. Make sure that every time you fire a book-a-call event or a registration event, you pass other attributions to complete transparency.
Retention is usually connected to product to understand product usage. However, it has a significant connection to marketing since you want to address active users in your system to an article (for example) so you can understand what brings better users.
Inside the product, there is an unlimited amount of events you can track for marketing. I would usually track:
Active users - that’s a very conflicting topic. For each platform, active users are different but think about what is good for you.
Activated users - Also a conflicting topic, for us in Novu, I set that if users create a new Workflow, they are being “activated”.
I usually pick something like Mixpanel or Posthog for retention because the events are becoming harder to calculate.
It’s not a simple “fire event”.
It’s an aggregation of multiple events together.
On the other hand, you lose the automatic plausible attribution of UTMs.
You have to play between those two world.
I am happy to help any founder/maintainer to find their growth.
Get more stars
Get more contributors
Get more visibility
Get more customers
I might give you some “aha!” moments. Who knows 🙇🏻♂️
See you next week!