Early-stage growth can be messy, but it doesn't have to be.
I joined CoLearn in 2020, right at the start of the pandemic, and started one of the most incredible roller coaster rides of my life. Prior to that, I only had one year of experience in a social media agency.
I never touched ads. I never worked in a startup. Hell, I didn’t even know what growth was back then.
Fast forward to 2 years later, I led the acquisition effort from 0 to 4 million users where we leveraged different channels and strategies 👇
At the beginning, I built out our growth marketing efforts (Google, TikTok, YouTube, Meta) from 0 to 6-figure spend and ran it for 1.5 years. I was assisted our two social media managers.
Led the shift towards product-led growth where I pitched on building SEO & collaborated with the Product & Engineering team on building it. This initiative increased our MAU by 200% while reducing ad spend by +90%
Built out & led the social media team for 12 months, including but not limited to defining the content strategy, measuring efforts, and leveraging it to support acquisition & engagement efforts
2 years have passed since then, I want to share several things I’ve learned from that journey, hoping that someone else would find this useful. Even though my situation and yours might differ in a lot of ways, I believe these learnings are universally applicable regardless of your industry and your company stage.
The point at which a channel becomes saturated is the point at which it becomes inefficient to spend more money on that channel — when each additional dollar spent generates less than a dollar in profit.
If you spend a large enough money for ads on a particular channel, channel saturation is not a matter of if it will happen to your brand. It’s a matter of when.
One easy way to tell if your app starts to experience channel saturation is when your CAC curve starts to look like this 👇
I learned this the hard way within my first year. At the beginning, we saw a lot of success from paid channels that we were able to grow exponentially while keeping our CAC the same. This positive result led us to keep spending on ads and not thinking beyond that.
However, not long after that, our acquisition chart started to look like the picture above where it was getting increasingly harder to keep our expense in control. As the cost per install got more expensive, our volume started to decline. At that moment, we realized that what brought us here won’t necessarily bring us to our next destination.
#2: Most companies mistreated ads
Most companies try to optimize ads. While it’s not exactly wrong, I found this outdated.
shows that average app will lose 90% of its users after 30 days. While this might sound extreme, it’s not uncommon to see an app getting really viral only for them to retain 5% of those users few months later.
The main reason for this phenomenon is because ads (or virality) is often impulse-driven. Most users that found your app through ads or virality might have installed because they were curious, not necessarily because they needed it.
This doesn’t mean that you should never use ads. It’s more that you need to reframe how you think of ads and use it accordingly. Let me explain 👇
Most companies try to optimize ads. While it’s not exactly wrong, I found this to be outdated. With ZIRP in our rearview, the cost of capital has increased. Spending 1,000 dollar for ads in 2024 is not the same as spending 1,000 dollar for ads in 2018 (not to mention the introduction of
policy in 2021 which hurts performance marketing).
Things have changed, and that means our approach needs to change as well.
If you want to learn more about ZIRP (Zero Interest Rate Phenomenon), Gergely Orosz wrote an easy-to-understand explanation about what ZIRP is, what causes it, and what it does to the tech ecosystem across the globe.
Rather than trying to find ways to give more money to Google and Meta (which is exactly what optimizing ads does btw), we should figure out a way to give less.
You might think that this is obvious, but you’d be surprised at how rare this approach is adopted! The reason it’s so rare is because this mindset goes against the strongly-held belief from the ZIRP era when the cost of capital was cheap and everybody could splurge on ads in the name of growth.
On top of that, this implies a different way to approach ads and a more focused effort towards product-led growth. Both of these require a significant change from how the team is structured to what success looks like, which is why it’s easier said than done.
#3: Loops, not funnel!
When we think of user acquisition models, we usually think of “AARRR funnels” like this one 👇
Linear funnel like the above is important, especially in the early days when you have no traction yet. However, using this framework for driving a sustainable growth might do more harm than good:
Funnels create silos → Funnels makes us think that acquisition, activation, retention, and monetization are separate parts rather than seeing it as one system. What ends up happening is a functional silos where one optimizing at the expense of other functions.
Funnels push us to keep filling the bucket → Since the funnel moves in one direction (down), it makes us think that we need to keep filling in the bucket in order to keep bottom of the funnel growing. In other words, if we grew through Google, then this framework would tell us to keep spending on Google!
As an alternative, you should start looking at it as acquisition loops.
What is an acquisition loop?
Loops are closed systems where the inputs, through some process, generate more of an output that can be reinvested in the input.
Within the context of acquisition, a loop means that every user/input, through some process, can bring in new users/input.
Source: Reforge
Why loops?
Loops creates compounding growth over time. Funnels produces linear growth.
Loops leverages existing user base to acquire new users. Funnels doesn’t.
Some examples on how loops looked like at CoLearn and SurveyMonkey 👇
Four types of loops
There are four types of acquisition loops according to Reforge:
VIRAL LOOPS — There are four types of viral loops:
Word-of-mouth: One person tells another about the product/service. For example: You love a digital bank app and tells it to your friends during a casual setting
Organic: One user invites another user to use the product naturally without any incentive. Let’s say a company uses Slack / Notion for their workspace management, and they invite their employees to use it as well.
Casual contact: When a user uses a product and they unintentionally expose it to non-users. If someone creates a survey on SurveyMonkey and distributes it, the survey participants will be exposed to SurveyMonkey branding and might use it in the future. Another example is a writer writing on Substack and distributes it to their followers.
Incentivized: When inviting a user is directly incentivized. An easy example is an investment app that gives you a referral code to invite your friends, where you will get a small fee for inviting others.
CONTENT LOOPS — When a content is created and distributed in a way that attracts more users. There are 4 types of content-loops:
User-generated, user-distributed: This loop is most often used by a platform for creators. Think of SurveyMonkey, Substack, and Soundcloud where users do create and (mostly) distribute the content on their own social media.
User-generated, company-distributed: Think of content-heavy platforms such as Quora and TikTok where users create the content, and the platform distributes it through email, SEO, etc.
Company-generated, company-distributed: CoLearn did this pretty well where we created more than 500,000 videos on our platforms and then distributed it through app, SEO, YouTube, etc
Company-generated, user-distributed: CoLearn e also saw plenty of tractions from our users distributing it in their
PAID LOOPS — When a company distributes paid ads to attract customers and the revenue generated from those customers is reinvested into more ads to acquire more customers. The advantage of paid loops is its quick time-to-result. However, it’s not really sustainable nor is it defensible!
SALES LOOPS — Similar to paid loops, but for sales. Basically, when a company hires an army of sales team to get customers and the revenue generated from those customers is reinvested into hiring more sales people & refine the process or tools, that’s a sales loop.
How to put it into practice
Identify your existing loop: Every single product, both digital or physical, has at least one loop. Whether it’s already optimized or not is a different topic. What you need to do first is to identify which loops your product has at the moment. Also — it’s not uncommon for a product to have more than one loop. Let’s use some examples:
CoLearn has viral loop, content loop, and paid loop
Spotify has viral loop and content loop
Airbnb has viral loop and paid loop
Optimize your existing loop: Every loop has a constraint(s). What you need to do is identify the constraint and optimize it within what the constraint allows. There are two ways to do this:
Increase the output per cycle
Increase the amount of cycle
Let’s say you’re a product manager at SurveyMonkey where the primary growth loops are content loop (user-generated, company-distributed). In order to optimize this loops, here are several things you can do:
Increase the number of surveys a user create (add more templates or use case?)
Help users to increase the number of recipients (add sharing options to more platforms?)
Accelerate how quickly a user creates a survey (improve the UX?)
Add new loops and combine existing ones: Adding new loops can unlock / increase the ceiling of your acquisition loop. Let’s take a look at an example from CoLearn.
We started our journey with paid loop where we used the money generated from the secured funding to acquire more users. Predictably, this didn’t work for too long once we hit saturation point as we saw our CAC increased while our acquisition volume went down. Then, we decided to add a content loop where the 500,000 videos that we already had will be distributed to SEO, thus increasing virality.
Early on, we didn’t get a lot of visits since getting indexed by Google takes time. The magic started to kick in after several months where we saw the traffic steadily increased and even surpassed our paid loops performance.
We ended up growing our MAU by 200% in a year while reducing ad spend by more than 90%.
Disclaimer: I want to note that creating a new loop is really hard because it often requires you to build a new product. Not to mention that it might not always work out the way you intended it to be.
I would recommend you to fully optimize your existing loops first before going about creating a new loop. If you feel your product is ready to incorporate new loop, let’s dive a bit into the how:
#4: The curse of growth
At one point, we saw around 150-200% month-on-month growth for like 12 straight months. When you see incredible growth like that, you feel invincible. It’s as if everything you touch turns into gold. People starts taking your words as wisdom.
Until one day, we saw our growth declining for the first time. 😞
All of a sudden, the tone around the organization changed. You could feel that people started to have doubts. Your confidence started to leave your body every time you saw a downward line in your dashboard.
Simply put: Growth masks a lot of problems.
When you see experience growth...
You stop questioning why and how you grow
You don’t know which strategy actually works (and whether it’s skill or just pure dumb luck)
You don’t really prioritize as hard
You don’t look at your data as often
The opposite is true.
When you have negative growth...
You start questioning everything
You’re forced to really understand how your product grow
You will ruthlessly prioritize
You will make sure that you’re tracking the right data and your data is accurate
As I gained more experience, I understand that both positive-growth and negative-growth can come from controllable factors (strategy & tactic) and non-controllable factors (timing, competitors, etc). Now I try to remain neutral regardless of the outcome. Don’t get too high when it’s rolling and don’t get too low when it’s not.
Instead, I prefer to ask myself:
Is this a result of our strategy or luck?
If all of a sudden, we have a negative growth, how would that change our priority & how we operate?
Final words
Thank you for taking the time to read this case study! I hope you found the learnings & insights that we implemented both informative and inspiring.
Explore more
If you're keen on reading my other work, I also wrote about how I implemented product-led growth to improve onboarding and engagement at Nafas 👇🏼