Hey all — recently I wrote a three-part brain dump on everything I remember from building viral loops in the Web 2.0 days and some of the ways in which all these ideas have evolved in the mobile era and beyond. I posted it as three parts on X and brought it together as one essay with some minor formatting changes here and there but otherwise preserving it in its entirety. Hope you enjoy! -A BRAINDUMP ON VIRAL LOOPS #1 The golden age of Web 2.0 (~2005-2010) was a special time for viral products, which were systematically engineered to reach millions of people. Back then, people were building the first versions of things we take for granted: Social networks, user-generated platforms, collaborative workplace products, messaging apps, etc. During this time, the industry developed a comprehensive and systematic understanding of creating viral loops. There was measurement, A/B testing, and equations that needed to be satisfied. Products optimized and optimized, engineering virality. And some of the most successful of these products eventually grew to billions of users and became recognizable names. Then all of a sudden, it ended. And funny enough, the people who were successful at creating viral products all became billionaires, or if they didn’t create successful companies, many became FAANG executives or VC investors. Eventually, all the knowledge around building virality was basically lost. This happened as Web 2.0 ended and the mobile era began. I thought it might be nice to write down a full brain dump of everything that I learned about viral loops during this period, because it does continue to be relevant, although the mechanics and tactics around it keep shifting and changing. Yet the overall theory is still the same, and I think it can be extended into future technology platforms and marketing channels. It also has a high degree of applicability to this era’s Product-Led Growth, all the sharing flows of gen AI apps, and referral programs that still exist within every marketplace/ecommerce product. With these notes, I plan to cover a bunch of different ideas and topics:
If you have thoughts and questions please ask. Hopefully I’ll eventually turn this into a big PDF or something that people can read if they’re interested. Or maybe a deck if we have some kind of long-form text to PowerPoint deck gen AI tool one day that’s actually good :) Viral growth as an equation These types of viral loops have interesting properties:
The first thing is trying to measure viral factor. The viral factor is a simple ratio -- the usual thought experiment is that if you bring a 100 users into your product, and those users invite and eventually sign up 150 users, then those will sign up 225 users and so on. This is a viral invite flow, and your viral factor in this case would be 1.5 (rarely seen in the real world). On the other hand, if your 100 users end up signing up 50 of their friends, who then sign up 25, then your viral factor is 0.5. When it’s <1 then your viral loop eventually stops working. Very precisely, the viral factor is a RATIO. The denominator is the # of users within a time-bound cohort (like everyone who signed up from X date to Y date), and the numerator is how many users they eventually signed up via the viral loops from that cohort. Let’s use an example to make it concrete. Case study: Content sharing So conceptually, you might understand the smile loop, but the question is, what can you do with it to optimize? To make it systematic, you want to track it. When someone makes a generative video, you want to track things via the URL structure: productdotcom/vid/[video ID]?sharer_id=[sharer] (of course, your userID is encoded as the sharer id whenever you share) Now when you share it out via email, or messaging or whatever, if an invitee gets the link, watches the video, and then signs up, you should then store the sharer’s ID alongside the user’s signup row. So imagine you’d store the usual stuff:
Now when you look at your rows and rows of users in this table, sometimes the share ID will be blank if that user just showed up and signed up on their own. However, if they are part of a viral loop, then their share ID will point to some other user that already exists in the table. To calculate viral factor, you then take some cohort of users, for example, the ones that joined 3 months ago. Let’s say that there are 100 of these guys. Then, what you do is you grab that list of IDs and you ask the database how many times do those IDs show up as share IDs in new sign-ups that happen afterwards? Let’s say that’s 50. Then your viral factor at that moment in time is 50/100=0.5. What about all those users with blank sharer IDs? I sometimes think of the users who just show up as “Gen 1 users” or “onramp users” and you should just discard these guys as part of your viral factor calculation. Instead, what’s interesting is to compare the ratio of Gen 3 and Gen 2 users. Or really, Gen N+1 and N, as long as N isn’t 1. It turns out this ratio actually tends to stabilize pretty nicely over time. The big questions This is the right question to ask. The minute you realize these dynamics, you’ll realize that you can make product changes to increase that viral factor so that your product becomes more viral. For example, maybe you should ask new users to invite when they first come in, or you should make it easier to invite people because there’s a link that you can copy and paste or some other mechanical change that increases viral factor. This is one of the core insights that you can measure viral factor and that you can actually make product changes to increase it. Because you can track and calculate this ratio, this means you can stick it onto a dashboard as well. As I described, it’s easy to do track, as long as you encode the user id into the URL that’s shared. Of course, as soon as you’re able to calculate it, the next thing is then to be able optimize it because then you can run A/B tests to see if more people share, and do they do more of them? Do they share with more people? And for the people who receive a growth link, what percentage of them convert, and how you make that conversion higher. This is sort of exists in the cookbook of all the different ways that you might be able to optimize your viral factor. The final aspect of the viral loop idea that’s powerful is that it’s actually very generalizable |