A High-Level Framework for Thinking About Paid Marketing for Apps

What I've learned spending ~$2m on ads for my apps

Hi, I’m Zach — I’ve built my app business to about $4m in annual recurring revenue. I write a weekly newsletter about the things I’ve learned along the way to help you grow your business and profit. I highly recommend subscribing for early access to my posts.

Paid marketing is like a toolbox. Each ad network and campaign type (your tools) does something different and can be used in different ways. For this reason, it’s important to take a step back and ask yourself what you are trying to achieve with paid marketing.

Imagine, for instance, that you want to hang a TV. Of course, you’d need tools for the job, such as a drill and screwdriver. You’d also need tools if you want to build a desk, including a saw, wood, and screws. 

Every task requires its own array of tools and materials, and each of the tools can be used in different ways. So before you take out any tools from the toolbox, ask yourself this important question: What am I going to build with these tools?

Only you can answer that; it isn’t something I can answer for you. But what I can do is show you a framework for thinking about your toolbox, and that’s what this blog post is all about.

Before I dive into tactical advice for paid marketing, I want to explain my high-level framework for thinking about advertising. Advertising platforms are constantly changing; what works today will not work tomorrow. And it’s more important to understand how to think about ads than knowing how to navigate Facebook ads manager. 

This post will cover the principles of a good paid marketing strategy without elaboration too much on specifics. At the end of the post is a survey where you can vote on what topic I should cover next. I’m planning to do a deep dive on one of the principles covered, so if you’re interested in reading that, make sure you vote.

Setting Expectations

Paid marketing is unique because the only way to really learn how to do it is to spend money. You can build an app for free, or design a website for free, but in order to practice and learn about paid marketing you have to spend—and unfortunately, lose—lots of money on advertising.

I’m including this caveat because it’s important to expect that you will lose money as you learn and test out paid marketing for your app or business. It’s just a given. You should view money spent on paid marketing as an investment; yes, even if you get $0 back for everything you spend. If your goal is to scale up your business and grow it, paid marketing can be an incredible tool to help you accomplish that.

At all times, be aware of the cash position of your business to ensure you aren’t overstretching yourself financially. Once you have an expert understanding of your cash flow, you can tap into some interesting financial vehicles to add more flexibility to your setup, such as lines of credit, financing companies, and other options. 

Learning to run paid marketing successfully is a valuable skill that will continue to help you in your business and entrepreneurial journey. We are living in a time of unprecedented opportunity with performance marketing. It’s never been easier to reach ultra-specific segments of users, and beyond that, users who are likely to take a specific action. Being competent in this field will help you with your future business pursuits. If you’re building apps or other products, take the time to learn about paid marketing. Trust me, it will serve you well.  

Dispelling the Slimy Notion

As I emphasized in a previous post, it’s important to dispel the notion that advertising is “slimy” or “inorganic.” If you’ve built something valuable, there’s nothing wrong with paying money to put your product in front of other people. In fact, if your app provides value and genuinely helps people, why wouldn’t you advertise? Apps can bring excitement, fun, escapism, utility, and more. If you are providing that to some people, it’s practically your obligation to get the word out to other people!

The truth is, if you are already running a profitable business and not running paid marketing, you are likely leaving money on the table. Not everybody in your target audience is searching for apps organically on the App Store, nor are they having regular discussions with friends about what new apps to try. When you initially start advertising, and you’ve never advertised before, it’s quite likely that you’ll find some really high ROI users who are ideal users for your app, but just never stumbled upon it. 

Likewise, there’s nothing immoral about advertising tracking. As long as you aren’t doing anything sketchy with tracking data, you shouldn’t worry. The main purpose of advertising tracking is to help advertisers show meaningful ads to people based on interest. Zooming out … isn’t it good for humanity, the economy, and society that people are being shown products they are interested in? 

Every time I purchase something from an Instagram ad, I’m glad I was shown that ad. Otherwise, I might never have stumbled upon the product. I recently was shown an ad for a new type of pillow that helps people with stiff necks, and that is exactly the kind of thing I needed. If it helps me get fewer stiff necks, that is fantastic. 

To advertise successfully, you’ll need to have various advertising software development kits (SDKs) installed in your app and website, like the Facebook SDK and the AppsFlyer SDK. Be aware of how these work, only send information that you feel comfortable sending, and that should be the end of your worries.

The main goal of including these SDKs is to know where users who downloaded your app came from. If you owned a bodega, would you feel guilty about surveying your customers to understand how they heard about the store? It’s your store; you should be able to gather some basic info. Likewise, the same is true with the people who download your app. 

Principles of a Good Paid Marketing Strategy

Before you consider spending money on advertising, decide what you hope to get out of it. The core question you need to answer is, What conditions are necessary for my product to be valuable to my users? Paid advertising is how you metaphorically add gasoline to the aspects of your app that provide value.

You might have a business in which you are great at converting leads into paying users. Paid marketing can help you get more leads. Or, you might have a business that needs a community of people in order to be valuable. Paid marketing can get you those people. Perhaps you have a subscription app that has really good tech and that functions incredibly without community. Paid marketing can get you more subscribers. 

See where I’m going with this? You want to outline the aspects of your product that make it most appealing and valuable to users. 

For example, if your app has a network effect in which every additional user makes the app more valuable, it doesn’t matter how many dollars you get back from your paid marketing. TikTok took the unique step of using performance marketing to acquire users for its social networking app. Few social networks had ever tried this approach and most had relied on word of mouth. TikTok understood that more users creating videos makes the app more entertaining and the ad network more valuable.

I have a similar dynamic with my app, Caption Expert. It’s the best database of social media captions out there—the more people I have submitting captions, the better the community becomes, which leads to more people wanting to download the app, which means the better the captions get … and so forth.

This is a statement I wrote explaining how my app, Hashtag Expert provides value to users:

My product is a hashtag generator app called Hashtag Expert. Hashtag Expert becomes more valuable when there are more users on it generating hashtags and when our algorithm for generating hashtags helps users get more engagement on their social media.

With this in mind, we already know a few things: I don’t only care about users who purchase subscriptions. I want as many people on the app as possible because that in itself makes the product more valuable. So my metrics for success are both revenue-generated and retention of new users. Definitely meditate on this topic for a bit.

The Elements of a Marketing Machine

I like to think of the marketing arm of my company as a machine with various moving parts that all work together. The main parts are:

Creative: the images, videos, and advertising copy used to market the product. The purpose of creative is to convince a user to try my product.

Platform Management: the act of navigating advertising platforms, selecting audiences, and building campaigns. This is a highly technical aspect of the machine that requires an understanding of how the system works. 

Measurement: This one has two aspects. Pre-conversion tracking, which includes metrics about how your ads are running, how many people are being shown your ads, how many are clicking on them, and how your ads are being perceived by the ad network’s automated systems and the users seeing them. Then there’s post-conversion tracking, which helps you understand what actions users are taking after they download your app as a result of paid acquisition efforts. 

Macro Objective Tracking: the act of understanding how your ad spending is affecting your product on a zoomed-out, macro scale. Is paid acquisition ruining your App Store ratings? Is it polluting your user base with low-quality users? How is your top-line revenue being affected? Is your company still profitable?

These are the elements of the marketing machine. In the beginning, it will be your job to manage all of these aspects. Then, as you continue to learn and scale things up, you can hire people to take over or help with keeping the machine running smoothly. 

Here’s the most important takeaway: Everything is interconnected and dependent on each other. Your macro objectives should inform your creative and your platform management. Measurement should inform your creative. Creative impacts your results seen through measurement

Pause. You’re about halfway through the post. I really hope you’re getting something of value from it. I spent hours and hours writing and revising this piece. If you are enjoying it so far, I recommend subscribing so you can be one of the first people to read my new articles. I also like to ask subscribers what they want me to write about next. So if you’re curious about any of the topics in this article, make sure you subscribe and vote at the very bottom of the post.

The Principles of a Cohesive Paid Marketing Strategy

Next, I want to discuss some principles that should inform your operating style with paid marketing. In future posts, I’ll delve more deeply into some of these topics, but understanding each as one piece of a broader marketing strategy is key. I could write 10 pages about creative for your advertising campaigns (and probably will at some point), but your highest-leverage takeaway from this post is this: Creative is just one piece of the marketing machine that can be used to achieve your objective


Paid marketing is an incredibly iterative process. In the same way you update your app, you should regularly iterate everything in your marketing machine, including constantly rotating in new ads. This means not just building variations of your existing ads, but trying totally different ads. You should be testing new audiences every week and trying new ad networks constantly. Change up your messaging all the time. Add emojis to your marketing copy, and change your tone from time to time. Change how your app paywalls and see how that impacts conversion rates.

See where I’m going with this? A good advertising strategy is constantly evolving and very fast. Operating at a high speed here benefits you in a number of ways. 

First, what works for you will be unintuitive. In my experience, some of my best ads were made in five minutes on a whim, and some of my worst ads were the ones I spent thousands of dollars on. Everything in this space has the potential to be unintuitive. What works and why will rarely be clear. Embrace that fact and try new things constantly from the top to the bottom of your funnel. Go high and low, wide and near. 

Second, advertising is based on auctions and arbitrage. You are bidding against other companies for the same users. How much ROI you get for your ad budget is very much a product of how competitive the market is. What makes your ads very profitable is not necessarily having the best ad with the best audience, but reaching the best audience with the best ad via a platform that is new and underutilized.

TikTok is really cheap right now because it is one of the newest platforms. If you are an early adopter and one of the first people to figure out how to make TikTok ads work for your business, you have the potential to see incredible ROI. That’s why you should always be testing and trying new things in this space. If an ad network creates a new feature, always be the first in line to beta test it.

Also, understand that what works on one ad network may not work on a different one. For example, consider the difference in intent between Google Search ads and Instagram ads. When I search for something on Google, I’m showing strong intent and interest in a topic that I organically thought of. In contrast, when I’m browsing Instagram, I’m simply enjoying content from people I follow. Therefore, the types of messaging you’ll need to get me to convert on Instagram versus Google will be completely different. This is why it’s important to think of each ad network through its own lens and to always try testing new things.

Learning by Doing—Not Outsourcing in the Beginning

Learning how to run paid ads is comparable to any other skill. You get better at golf by going to the driving range and playing rounds. You get better at painting by picking up a brush and stroking your canvas. Likewise, learning how to run paid ads requires immersing yourself in the platform and spending some money. For all beginners with no experience with paid ads, I recommend doing all aspects of it yourself, at least in the beginning. 

Pay your dues and build on top of your ignorance with hours of experience. The school of hard knocks is always top-ranked in the country for good reason. I recommend running as much of the marketing machine yourself as possible. You should make ads. You should upload them to Facebook or Snapchat. You should analyze their performance and tweak them. This will help you build up a foundation of experience that is transferable. The ad networks are all very similar—once you know one, you’re familiar with most of them. It’s a basic level of literacy that all founders should have.

Further, if you reach the point of deciding to outsource aspects of your marketing machine, whether that means hiring graphic designers or an agency to run your ads, you will be in a stronger position to manage those resources if you have a foundation of experience.

Most developers can relate to that cringing feeling when they see a non-technical person advising engineers on how to build a product. I’ve seen it many times myself. Even if you’ve only built a couple websites or apps and haven’t touched code in years, that experience alone will put you in a better position to manage engineers in the future. With minimal experience, you’ll understand that bugs can be tricky and take hours to solve, and that coding for more than a few hours can be utterly exhausting. That teaches you empathy, which will make you a better leader. The same applies to paid marketing. Having a basic level of literacy will help you manage better. 


Messaging is how you communicate to users in your ads. It might seem simple at first, but it’s actually very complex and deep. For example, here’s advertising copy I might run in one of my ads for Hashtag Expert:

Hashtag Expert is the best way to generate hashtags for your social media accounts. Try it today!

In these sentences, which are brief and to the point, I’m conveying to the user how Hashtag Expert works, followed by a call to action. My goal with this ad is to get the users’ attention and convince them to download the app. Somebody who is already thinking about hashtags might see this, get curious, and decide to download the app. 

Now, take a look at this:

Hashtag Expert is the best way to organically grow your business’s social media accounts. Start growing today!

Notice the difference? In this sentence, rather than explaining how the app works, I’m telling you about the benefits the app delivers. 

The point of this exercise is to show you that there are infinite ways to convince users to download your app, and each way has its own pros and cons. The first example might get more expensive downloads but more conversions to subscriptions, whereas the second might get cheap installs but less conversions. There are probably more people interested in growing their social media accounts than generating the best hashtags. 

So, be aware of what messaging you're using in your ads. Test things completely across the spectrum. Try conveying exactly in technical terms what your product does, and try touting the benefits your users receive. You can even show that people who use your product are cool, like some fashion brands do. 

I would classify messaging as one level above copywriting. It’s the high-level value proposition you are trying to convey to the user. The goal can be to get the user curious about your product, to produce a sense of mystery, or to simply explain exactly how it works. 

Oftentimes, you can build really intelligent hypotheses about messaging by diving into your analytics and interviewing your users. Who is using your product? How are they using it? Why are they using it? 

For Hashtag Expert, I can dive into analytics and see that people open the app a few times a week, generate a group of hashtags, and copy them onto their post. They do that because they want to get more likes and comments on their posts. They want more likes and comments because they either want to become an influencer or attract attention to their business. So, the messaging in my ads might hit any one of these value propositions. 

Messaging is something you can test relatively easily. Take one ad and make multiple variations of it where everything is the same except the messaging. Perform some of these tests, and you’ll develop a good understanding of what value-proposition speaks best to your audience.

Accurate Metrics and Uniform Reporting

Performance marketing is very data-driven. You might notice a recurring theme in my posts about how absolutely crucial it is to have accurate reporting. Be sure to use an event-based analytics provider like Mixpanel or Amplitude to properly track how users are using your product. Further, you need accurate revenue metrics, and a provider like RevenueCat with its integrations/webhooks can do just that. 

You’ll need a Mobile Measurement Partner (MMP) like AppsFlyer or Adjust to run advertisements right now. I’m still following tech news to see how iOS 14 IDFA changes will affect everything, but at this moment I plan to continue using an MMP once IDFA is officially dead. It appears that SKAdNetwork will be a workable solution for app developers.

I’d also recommend storing all the attribution and revenue data in your own internal database. For instance, I have a database that lets me see every user, their AppsFlyer attribution dictionary (which tells me exactly which ad they came from), and how much revenue that user generated by reading RevenueCat webhooks. Having this setup in my own internal database empowers me to play with the data however I choose.

For example, I recently put together an ARPU dashboard that allows me to estimate average revenue per user by a bunch of filterable parameters. I built this one Sunday on a whim because I had the data in my internal database. 

Granted, AppsFlyer metrics are very helpful. I can see cohorted return on ad spending there, and they will actually pull in cost data from all the ad networks. That’s very helpful and saves me a lot of time. Nonetheless, it is worth maintaining your own accounting of revenue and attribution for the sake of flexibility and reliability. 

You can trust your own numbers more than the Facebook ads dashboard.

Also, being able to compare all networks in the same place is really helpful. In practice, the Facebook ads dashboard is not always accurate. The Snapchat dashboard and TikTok dashboard also have their own issues. By having all those data sources connected to AppsFlyer, I can compare them to each other in the same place. 

In another post, I’ll talk about my exact setup, but feel free to ask specific questions in the comments below. 

High-Level Metrics

I want to re-emphasize that advertising is a means to an end. Make sure that you are on track and achieving those macro goals on a day-to-day basis. 

I know it’s easy to get lost in the micro-optimization of Facebook ads and the super granular metrics like cost per click and relevance scores. But your goal is to make sure your business is functioning as you expect.

That desire led me to build my original “profit” dashboard. It doesn’t measure return on ad apend, it answers the following questions: How much revenue did I generate? How much did I spend on ads? And what’s the difference between those two numbers? I care about that number a lot because it’s essentially my operating budget for the rest of my company. If I see those profit numbers dip, it could be a sign that my ads are not doing as well as I’d estimated, which means I might not be able to pay the advertising invoices. 

From the start, you should always be aware of the high-level metrics you care about. Throw them into a dashboard and make that dashboard the first thing you check every morning. I’ve found that I make the most money when I’m super-cognizant of my progress day to day. A string of days comprise a month—if you are profitable every day and adjust course on days when you’re not, that will lead to profitable weeks, months, and years.


One technique I’ve used that has allowed me to reach $100k+ a month in advertising spending is changing my paywalls depending on where the user comes from. As I discussed in a previous post, it’s helpful to be able to remotely control your paywall and dynamically determine what paywall to show a user. 

I’m running ads with the goal of converting users to subscribers. I need people to subscribe because I am a bootstrapped company, which means I don’t have an infinite amount of money in the bank. If I spend $100,000 on ads, I need to get at least $100,000 back pretty quickly so I can pay off my advertising bills at the end of the month.

So, for users who come from paid ads on Facebook, I show them only a yearly subscription option and they must subscribe to use the app—there is no free tier. Whether this is a sustainable long-term strategy is certainly up for debate. I didn’t bring it up, however, to convince you to try this technique. 

The point is you should constantly be examining and tweaking your onboarding and paywalling experience for each advertising channel. 

Let me unpack this a bit. Many developers see that they're not getting ROI on their ads and they don’t optimize anything post-installation. The post-install flow is an essential part of the success of your advertising. So, you should be analyzing this, looking at your event-based analytics for users who come from paid ads to see how they use the app and where they are getting stuck. Maybe people who find your app organically are more technical and understand your product better, and you need to make your onboarding more informative for users who come from paid ads. Either way, definitely pay attention to post-install optimization as that can have a major impact on the success of your advertising.

Now, about that survey ...

If you made it this far, I hope you learned something you can use. Paid advertising is an incredibly complex and in-depth topic. I couldn’t go as deep as I’d like on each of these topics, so I condensed things to make a nice primer that focuses more on the high-level strategy and mindset necessary to run successful ads. 

What should I write about next week? Click on a link to vote below:

Creative - How to Think About Creative for Paid Marketing

App Ideas - How to Come Up With Profitable App Ideas

Year in Review - Lessons I’ve Learned This Year From My App Business

Month in Review - a Breakdown of My Profit/Loss/Expenses the Past Month

College - The Inconvenient Truth About Dropping Out

This blog is very much a product of you, the reader. If you want to get early access to my articles, I highly recommend subscribing. I’m already drafting out my next post so you won’t want to miss it. I also like to ask readers to proofread my articles and offer criticism so make sure you’re following me on Twitter if you want to be the first to see these posts.