With rising ad costs, poorer targeting capabilities, more confusing and far-reaching user privacy and tracking regulations, and more competition and easily-available distractions than ever, the ROI on ad spend is plummeting. ๐Ÿ“‰

Combine that with a recession and layoffs (which means less budget and resources to make new ad creatives), and you have quite the predicament on your hands.

How are apps possibly supposed to grow their revenue in an environment that's collapsing from both sides?

The answer is easy: Lifecycle marketing.

Let me explain:


Upwards of 90% of users on a typical app are passive

From our data and experience working with a wide variety of apps of all different sizes in all different industries, we've repeatedly seen that the vast majority of users for any given app can be classified as "dormant" or "inactive":

No alt text provided for this image
Between 80 and 84% of users on any given day are not adding value to an app.

These users are either not opening the app, or they're opening the app but not making any purchases (we call these users "lurkers"). Combined, these groups typically make up around 50% or more of an app's total population.

If you're tracking, this means that only about 10% of your current users are "active" and delivering value to your app.

...and this is actually good news.


Why on Earth is it good news that most of my user base isn't active?!

Glad you asked. It's because while they may not be active, they do have one advantage:

They're reachable.

For free.

Yep. You don't need to throw money at Meta to run ads to target this group, and while you could message them via SMS and WhatsApp, you also have access to other channels that don't cost anything, like email or push.

For the sake of this article, we'll focus on push notifications, as they typically have a 50% higher open rate and 7x higher CTR than email and a delivery rate of 90% to boot.

Ok, now that we've settled on the medium (push), we need to focus on the content we're going to send.


"I don't have the time or resources to make new content!"

...and you really shouldn't need to.

If you're like most apps we work with, I bet you're already sitting on a pretty sizeable pile of valuable content (blogs, articles, recipes, videos, products, user guides, etc.) that most of your users have never seen.

Remember: just because you made it five years ago doesn't mean your users have already seen it. In fact, this almost assuredly means they haven't.

Put in another way, in the immortal words of David Ogilvy:

"You aren't advertising to a standing army; you are advertising to a moving parade."

That recipe you wrote two years ago could go perfectly on someone's dinner table tomorrow.

The blog you wrote last month about touring Spain can help someone plan their vacation next year.

The user guide you wrote on "how to adjust your glasses, so they don't hurt your ears" will be valuable as long as people still wear glasses (...and have ears ๐Ÿ˜…).


"So, now we have the content, and we have the medium. How do we put the two together?"

Let me show you:


Step 1: Collect your current app content

Again, you likely don't need to create new content โ€” You probably have a whole pile of high quality content you've already invested in that your users have never seen. There's only so much they *can* see at a time on their little 7" screen.

So, for this example, I picked a lifestyle and health app that has 227 mouthwatering recipes (You can see that each recipe already has a title, picture, description, prep time, and KCals listed):

No alt text provided for this image
No alt text provided for this image
๐Ÿคค am I right?

How many users do you really think have scrolled through all 227 recipes?

5% of their users?


I'd venture to guess that not many have. That's what makes this a content gold mine.

To format these recipes in a more usable way, I just literally highlighted them all and copied and pasted them in ChatGPT with the following prompt:

Turn the following text into a table. Column 1 is the Recipe name, Column 2 is an appropriate emoji, column 3 is the description, column 4 is the prep time, and column 5 is the kilocalories.

...and here was the result (copied into Google Docs):

No alt text provided for this image
I'll have the nutty rice treats, please. ๐Ÿ˜…


Step 2: I then took this spreadsheet and uploaded it into Aampe as a dataset:

No alt text provided for this image
Well, that was easy.

It really was just a couple of clicks. You can (and should) also go add deeplinks to each of the recipes in the spreadsheet so your user will be directed right to the recipe when they click.

No alt text provided for this image
Fancy, right?


Step 3: Then I incorporated my recipes dataset into a series of messages

(I recorded a step-by-step video of how I actually did it. You can find the video here.)

I pulled in the name, emoji, and prep time from the dataset to make messages like this:

No alt text provided for this image
Drooling yet? I am! ๐Ÿ˜…

*Aampe allows you to add variants to each little segment of text (e.g. "Feelin' like..." vs. "Have you tried the..." in the greeting), so this one message series you're looking at actually contains 3,936 unique messages.


Step 4: I then labeled the different value propositions of each message

Why do people like to cook?

Maybe it's because they want to experience a new taste. Perhaps it's because they want to feel accomplished or impress a friend. Maybe they're just trying to be healthy. Maybe they just hate going out to eat. There are quite a few possibilities.

Either way, Aampe lets us add these different value propositions and label them in our message like so (again, this is all covered in the video):

No alt text provided for this image
My least favorite part of cooking is the dishes. ๐Ÿ˜‘

Labeling these messages also serves another purpose: As users click on and interact with different messages, we're able to understand each individual user's motivation.

Maybe one user clicks on messages about health and taste, but he or she doesn't click on messages about convenience. What does this tell us about this user, and how could we use that information in subsequent messages and campaigns?

(We do this same experimentation to understand each user's preferred message timing, messaging frequency, tone of voice, etc.

We actually wrote a whole ebook book on message timing. You can find it here.)

No alt text provided for this image
I mean...how could you not share a review like that! ๐Ÿ˜„

So, there you go.

In less than 15 minutes, I created a whole series of almost 4,000 unique messages showcasing these 227 existing recipes to your entire user base from a variety of different angles

Aampe takes care of the message sending and routing (so I don't have to), and as these messages go into circulation, they are like homing pigeons, bringing me back information about the users who interact with them...and the ones who don't.


"What about building user journeys?"

If you notice, I didn't use the phrase "user journey" anywhere in this post until now, and I assure you, this was completely intentional.

We've written about user journeys before, and while we want to think they look like this:

No alt text provided for this image
Wouldn't this be nice?

In actuality, they look much more like this:

No alt text provided for this image
This was the "journey" of a single user...most likely my wife.

(We actually did a whole study on this, following almost 42,000 users for a week as they traversed a popular clothing retail app.

After heavy filtering and removing a bunch of data (like all of the users who didn't actually check out), we observed over 50,000 unique paths users took between โ€œApp openedโ€ and โ€œPurchase Complete.โ€

Only 6.8% of users took the same path as someone else, and only 1.2% of users who made multiple purchases in the same week followed the same path as they did on their previous purchase. More on that here if you're interested.)

So, yeah, in addition to being heavily assumption-based, aimed to the largest minority (credit to Schaun Wheeler for that zinger ๐Ÿ˜‚), and super resource intensive to create, we just haven't found much benefit in creating user journeys as compared to the much more simple principle of just showing your users things in your app that they already want.

(Don't believe me? Just look at that those pancakes... ๐Ÿคค)

No alt text provided for this image


So, What next?

Well, this app had much more than recipes. They also had a podcast, a bunch of videos, a slew of products, and almost 900 blogs, all buttoned up and ready to go.

Using this same strategy, I could likely get all of the content in the entire app turned into a full library of messages all instrumented, labeled by what our users value, and in circulation, sending to users minding their timing preferences based on their demonstrated interests within a week. Two weeks tops.

This means, instead of sending users generic messages like this day after day:

No alt text provided for this image
"Have a whatever for whatever, whenever, sometimes maybe!"

You can start sending your users interesting push notifications based on what they've shown interest in.

(To continue our example, this would mean a user interested in health will start getting notifications that link to blogs about nutrition, videos about exercise, helpful guides to healthy eating, and, of course, a bevvy of healthy recipes.)

...and the system keeps on learning, with every single user interaction.


How can I figure out if this will work for my app?

Well, you can always drop me a connection request or DM, or visit www.aampe.com (...but, I mean, I want to be friends either way. ๐Ÿ˜…)

...and, if you just skipped to the end, and you want to just watch me talk through this, here's the video again:

There's no need to fear 2023 if you can figure out how to engage your current users

This is the way.