iTranslated by AI

The content below is an AI-generated translation. This is an experimental feature, and may contain errors. View original article
💰

The Complete Guide to Monetizing Indie Projects

に公開
3

This article is a rewrite of a chapter I wrote for a book distributed at Tech Book Fest, originally written for the online community Engineers and Life.

Background on releasing for free

Since the book was sold for a fee, I thought about making this a paid article too. However, I recently saw a friend regret buying a contentless article about personal development, and I was fed up with that, so I decided to release it for free.
If you're going to talk about personal development, earn from your own service, not from content-poor info-products! That being said, I'd appreciate tips, so please give a badge if you like it!

【Update】
I received reactions like "Are you saying paid articles are bad?" to the above. I apologize for the poor wording.
I think selling know-how for a fee is good! And it's great if it covers service operation costs.
In fact, if it's about a service, it's close to the "data sales" mentioned in this article.

What I want to reject are:

  • Price settings without substance, exaggeration, or using hype to sell articles (bad info-product style)
  • Focusing only on article creation and neglecting actual development (putting the cart before the horse)

Introduction

For those who think "I've started personal development, but I have no idea how to monetize it...", this article summarizes monetization methods, implementation, and key points.

I myself have been making various things with the desire to "create services and apps I thought of myself." Over time, I was able to release services that people actually use. However, the income wasn't enough to live on, so I had other jobs as my main source of income.

Ultimately, to survive and run a service, "money" is inseparable. Conversely, "if you can earn properly, you can maximize your time for personal development." I believe that by effectively monetizing a service, "increasing the time to build services = being able to release interesting services to the world" becomes possible.

To that end, "monetizing" is just as important as the technology to build and promote services/apps. My goal is for as many individual developers as possible to read this article and become able to monetize.

Let's all work hard to make interesting things while earning from our services and apps! 💪

I hope this article is helpful to everyone.

Self-introduction

I use the handle "nabettu" on SNS and other platforms. ( https://twitter.com/nabettu )

As an engineer, I build web services and apps using a tech stack focused on Web Frontend, React Native, and Firebase.

I have been doing personal development for about 10 years. In 2021, I sold a service I developed in 2020 and joined the acquiring company to continue operating it.

Disclaimer

The content in this article is provided for informational purposes only. Therefore, any development, production, or operation based on this article must be done at your own responsibility and judgment. The author assumes no responsibility for the results of development, production, or operation based on this information.

Mindset for Monetization

First, I'd like to write about some important mindsets when it comes to monetizing services and apps.

Monetization is crucial to maximize personal development time

If you want to increase the time you spend on personal development more than now, there is only one thing to do: earn. If you can create a profitable service, you can reduce your workload or outsource chores, allowing you to spend more time on personal development.

Monetization is not just for developers, but for users too

While displaying ads might be a slight negative for users in terms of usability or aesthetics, for the users who utilize the service, it is more important that the service is operated stably. You wouldn't want to go out of your way to use a service that might shut down tomorrow or the day after, right?

Therefore, it is very important to run a cycle where you can spend time and money on operations as a result of monetization and provide better services. Don't look away from it.

Ads ≠ Evil

Ads can be used without compromising user convenience by integrating them appropriately. First, by being creative with ad placement and design, it is possible to minimize the impact on user experience. Also, by matching the ad content to the target, you can display ads that users are interested in and even provide helpful information.

Of course, users do not want the unscrupulous ad displays seen on recent summary sites, so be sure to control and display an appropriate amount.

Precautions for Monetization

However, if you integrate ads or billing to monetize without thinking or researching, you may encounter unexpected trouble. Therefore, I want you to know the precautions when monetizing.

I mentioned that monetization is essential for operating a service, but developing web services or apps involves handling various user data, large and small. There are several areas that you must not neglect by focusing solely on monetization, so I would like to touch on those in this chapter.

Precautions for Providing Basic Services

  • Handling of personal information

When handling personal information such as email addresses, compliance with the Act on the Protection of Personal Information is required. In addition, consent to the privacy policy and terms of service is necessary. If there is a possibility of providing services to EU residents, it will be subject to GDPR, so that also needs to be confirmed.

  • Notifications may be required

For content involving user posts, implementation related to the Provider Liability Limitation Act may be necessary. If there is a closed chat function, a notification as a Telecommunications Carrier may be required. Furthermore, for services that involve connecting users or exchanging goods rather than just providing software, permits for second-hand dealer business, opposite-sex introduction business, or employment placement business may be required, so be sure to check each carefully.

  • Follow platform rules

When providing an app, compliance with the rules of Apple and Google is also required. For example, if you use Stripe to process payments for specific app content, you may be subject to rejection (suspension of account or app publication) from the app store.

  • Points to consider when handling money

In the case of individual content sales rather than paid features of the service itself, you must provide the service carefully to ensure that its use does not lead to fund transfers or money laundering. (Even if the service does not handle transfers directly, it is possible to conduct content sales by having sellers register individually with Stripe.) In addition, price displays must comply with the Act against Unjustifiable Premiums and Misleading Representations.

Precautions for Handling Ads

Basically, banner ads and the like aim to display appropriate ads by tracking users' web browsing information. However, this naturally requires user consent, and service providers must implement the necessary mechanisms for it.

Cookies for user behavior surveys, not just for ads, are one such example. Both web and apps require a dialog to be displayed for consent.

Also, from October 2023, the "Act against Unjustifiable Premiums and Misleading Representations," commonly known as the Stealth Marketing Regulation, came into effect. Even for affiliate ads that do not involve tracking, if your service is displaying ads, be sure to clearly state on the site that it is a PR.

Precautions for Implementing Payments

With online payment and payment processing platforms like Stripe, implementing credit card payments and bank transfers has become much easier than in the past. However, just because implementation is easy doesn't mean you can overlook certain things. Here are a few points to keep in mind when providing paid services.

There may be other things to do depending on the nature of your service. If you have any concerns, consult a legal professional.

Handling Credit Card Numbers

Basically, if you use the payment screens provided by Stripe or similar services, there is no problem. However, if you create your own input fields on the client side, storing credit card numbers is strictly prohibited for any company that is not specifically authorized, so please absolutely avoid doing so. Instead, avoid custom implementations and use official libraries.

Card information should be managed by linking it to a Stripe account, so make sure not to save payment information directly within your own service.

Display Based on the Act on Specified Commercial Transactions

When you provide a web service to users for a fee, you are required to provide a notation based on the Act on Specified Commercial Transactions.

This involves disclosing information about the service provider and details such as refund policies upon cancellation to the users. Please create the text while referring to resources like the ones below and make it accessible at the time the service is provided.

*Note: Recently, the law has changed so that addresses and other details no longer need to be displayed directly under certain conditions! Hooray!

Monetization Suited to the Nature of the Service

In this chapter, I will not basically touch upon how to build or expand services. I will talk about monetization methods and how to implement them.

First of all, there is a "pattern" to monetization. This means that there is an appropriate monetization method depending on the nature of the service.

For example, suppose someone building a "business invoice management system" is thinking about monetizing primarily through "banner ads." In this case, is this monetization suited to the service?

Since many people only issue invoices once a month, the frequency of access to the site itself is very low. Also, because they are "using it for work = using it during work," even if they see an ad for something they are basically interested in, they are unlikely to click and check the content. Therefore, this combination is not very good.

(Of course, there are exceptions. In this case, an ad for an accounting management system that can integrate with this invoice service might be clicked because it is necessary for business.)

Basically, ads are suitable for toC (consumer-facing) services, while toB (business-facing) services, which are used for work, are better suited for collecting usage fees. The standard monetization method differs depending on the characteristics of the service, so I would like you to first try implementing it based on the patterns in this book.

I will explain according to the following four major types of services.

  1. Business services
  2. Consumer tool services
  3. Consumer entertainment services
  4. CtoC and BtoC services

Monetization for Business Services (toB)

Examples: Slack, Notion, etc.

First, for toB services, it's generally safe to use a usage fee model.

As I wrote earlier, when used for business, "solving business goals quickly leads to value," so ads that encourage detours or interfere with work are a poor fit. Also, because it's used as a business, people are more willing to pay for tools that lead to their own company's revenue.

Furthermore, depending on whether the service characteristic is a "long-term use type" or a "short-term use type," it's better to choose either a subscription model or a one-time purchase model. Depending on the characteristics of the service, combining them or using a pay-as-you-go model might also be appropriate. Since pay-as-you-go is essentially a type of one-time purchase model, I will omit it in this book.

The merits of each model will be described later in their respective chapters.

Monetization for Consumer Tool Services

Examples: Google Photos, Kurashiru, etc.

Even for toC services, tool-based services basically follow the same thinking as for business. It can be said that either a subscription model or a one-time purchase model is suitable depending on whether it's a "long-term use type" or a "short-term use type."

However, among tool services, for those where "data accumulates the more you use it, making it hard to switch" or services where the target audience doesn't spend much money, it's also a good approach to have them use it for free up to a certain range as freemium, or to show ads when they are not paying.

Even when incorporating ads, there is a technique to encourage users to pay usage fees by saying, "The main goal is to collect usage fees, and to encourage that, show ads first, so that paying becomes a motivation to remove the ads." Also, if it's an app, it's effective to make some functions available by using rewarded ads.

Monetization for Consumer Entertainment Services

Examples: Twitter (X), pixiv, etc.

Web services are often categorized into three groups: "Is it a vitamin, a painkiller, or a cure?"

This means:

  • Vitamin: Services that are not necessary for survival but are nice to have.
  • Painkiller: Services that alleviate the part currently accompanied by pain (stress).
  • Cure: Services that solve the root cause of the pain (stress).

Entertainment services can be said to be these vitamins. Many media-type services fall into this category.

A characteristic of entertainment services is that the motivation to pay for the service itself is not very high. Of course, it is possible to charge usage fees for excellent services and their functions, but most users will use the service for free.

The center of monetization for such services is not the users themselves, but an ad model where revenue is obtained from advertisers for the ads those users see.

There are different types of ads, such as banner ads and affiliate ads. If the nature of the service leads to user motivation to purchase specific products, affiliate ads are highly compatible. For other services, banner ads and rewarded ads are suitable.

Monetization for CtoC and BtoC Services

Examples: Mercari, Menta, etc.

For services that provide a mechanism where money is exchanged regarding interactions between users rather than the service itself, it can be said that collecting a commission is suitable. By having people use it as a collection or payment service, you take a few percent to tens of percent of that amount as a fee.

Also, especially for BtoC, a combination of having users register for the service itself on a subscription basis and then charging a fee for payments is also fine.

I have written about the characteristics of each, but of course, there are fits and misfits depending on the service, and it's also fine to introduce them in a hybrid manner.

List of Monetization Methods

Below, I will introduce each monetization method, such as advertising.

Additionally, while some might be hard to replicate if they don't fit your product, I've included several other examples just so you can see "oh, there are cases like this too."

Banner ads are one of the ad formats displayed within websites or apps and are provided through ad networks.

An ad network is a platform operated by companies like Google or Meta that connects multiple advertisers with developers (website or app operators) who have ad space. Advertisers deliver ads through the network, and developers earn revenue by hosting them.

Banner ads consist of images or videos, and the displayed content changes automatically through an SDK.

How to Implement Banner Ads

  1. Selection of an Ad Network: Choose an ad network. Well-known ones provided by Google include AdSense for Web and AdMob for native apps.
  2. Account Registration and Setup: Register an account with the chosen ad network and configure the ad campaigns. This also includes a review process to accept ads from advertisers.
  3. Creation of Ad Units: Using the ad network's dashboard, configure settings such as size and design to create ad units for embedding into your website or app.
  4. Embedding the Code: The ad network provides the generated dedicated HTML or JavaScript code, or an SDK in the case of native apps. By embedding this code in the appropriate location on your website, banner ads will start appearing.

Ads Similar to Ad Network Banner Ads

  • Pure-ad-type banner ads: Banner ads where the ad space on a website or app is contracted for a fixed fee or performance-based reward for a specific period. This involves finding companies that want to advertise on your site or app and discussing the specific ads to be placed individually.
  • Interstitial ads: These are full-screen ads displayed before or during the loading of content on a web page or app. (Lately, they've started appearing when you press the back button on websites, which is incredibly annoying! lol)
  • Native ads: These are ad formats that blend in with the content of a web page or app, appearing naturally. Since native ads are more integrated with the content than general banner ads, they are expected to be more effective by appearing without a sense of incongruity, but conversely, there is a possibility of complaints about them being "misleading."

Reward (Incentive) Ads

Reward ads are a mechanism where users can earn rewards such as premium content by performing specific actions or watching an ad. Generally, in native apps, this takes the form of watching a video ad for a few seconds and receiving app content as a reward.

While video ads are the most common type, there are other forms such as installing specific apps depending on the app's context.

Reward ads have a lower hurdle for monetization in that users don't have to pay money directly to access paid content, and they can generate higher unit revenue compared to banner ads.

How to Implement Reward Ads

Basically, the implementation is the same as banner ad networks, so I will describe the steps after the initial setup.

  1. Decide on ad placement and timing: Determine where to display reward ads. Generally, before or after specific points or actions within a game is effective.
  2. Set the rewards: Set the rewards to be provided to users. These can be in-game currency, premium items, access rights, etc.
  3. Execute ad display events: Set up events that trigger the display of reward ads. For example, before using a specific feature.

By introducing reward ads through these steps, you can expect an increase in revenue. This makes it possible to monetize services that use expensive APIs like OpenAI without charging users money.

Affiliate Ads

Affiliate marketing is a system where you introduce products or services through content such as websites or blogs and receive a referral fee for the results generated from those introductions.

Affiliate programs involve partnerships between affiliate advertisers (companies or online stores) and affiliates (website or app operators) to display advertisements. Providers of affiliate contracts like A8.net (referred to as ASPs, short for Affiliate Service Providers) act as intermediaries through which you can enter into partnership agreements. Additionally, programs like Amazon and Rakuten also offer programs where you can introduce books and other items to earn affiliate revenue.

How Affiliate Systems Work and How to Implement Them

  1. Registration and Approval: After registering with an ASP, you apply for the listed affiliate programs, undergo a review, and must be approved. Once approved, you can obtain the ads and links provided by the advertiser.
  2. Obtaining Ads: Retrieve the ads and links from the advertiser through the affiliate program's dashboard. These include text links, banner ads, and more.
  3. Integration into Content: Integrate the affiliate ads or links into your content. You link to the advertiser's site with a call to action like "Purchase the product here."
  4. Referral and Tracking: When a purchase or registration occurs via that link, tracking is performed and the result is recorded.
  5. Earning Performance Rewards: You earn rewards for the results generated from the referral. Rewards are typically based on clicks, sales, or registrations. These often require final approval from the advertiser.

Major Affiliate Programs

  • A8.net: One of the most widely used affiliate programs in Japan. It partners with many advertisers and offers ads across a wide variety of genres. Each product has its own pricing and approval format, so you need to apply for partnerships individually.
  • Amazon Associates: This is the affiliate program provided by Amazon, where you earn rewards when someone purchases an Amazon product you introduced. Basically, by registering for Associates, you can use affiliate links for almost all products. Commission rates vary depending on the product category.

Using Product APIs by Registering for Affiliates

For example, if you create a service to log and share book reviews, you can monetize it by generating Amazon or Rakuten affiliate links for the books and posting them on your site.

If you intend to use them for affiliate purposes, Amazon and Rakuten allow you to retrieve product information via API, which is also convenient when you want to create product list data or similar features.

Usage Fees (Subscription, One-time Purchase)

The business model of collecting service usage fees is exactly as it sounds: a system where users pay a fee to use the service or tool you developed. The services commonly known as SaaS these days typically have users pay for usage through subscriptions on a monthly or annual basis.

Choose between a subscription or a one-time purchase depending on the type of service. It is crucial for the one-time purchase model that the service is of a type that incurs almost no server costs during user utilization. If it's for a small amount, it might be fine, but if server costs increase every time data grows for a one-time purchase user, you will end up in the red.

For services that are used every month or those that incur recurring server costs, set them as subscriptions. Depending on the price, you might also want to provide plans where users can choose between the two.

There is also a pattern called usage-based pricing depending on the data handled, but since it essentially stands in a similar position to one-time purchases, I will omit it here.

How to Implement Usage Fee Payments

For web services, you will use payment processing services like Stripe; for apps, you will use the store payments of Apple or Google. When handling credit cards, please carefully check the precautions in the previous chapter.

  1. Registration and Approval: You need to create subscription plans on payment platforms like Stripe or with Apple/Google and pass their review processes.
  2. Client-side Integration: Integrate the payment into your application. Basically, use SDKs so that credit card information is not held on the service side, and avoid using them in any way other than the official methods.
  3. Server-side Integration: Subscriptions are not completed on the client side alone; you need to implement server-side logic to receive update information from the payment service and update your data. If you are using Firebase, the Stripe extension is recommended, and for apps, RevenueCat is recommended as they allow you to finish with minimal implementation.

Subscriptions Have More Points to Consider Than Expected

Subscriptions have many more points to consider compared to one-time purchases.

  1. Processing when a credit card expires
  2. Plan changes, expiration dates, and switching timing
  3. Processing upon cancellation
  4. Trial settings and the presence of pre-payment registration
  5. Obligation for terms of service agreement and notification upon contract renewal

And so on... It is difficult to change these once you have started operations, so when implementing them seriously, consult with experienced people or, for any suspicious points, with a legal expert if possible.

In fact, I myself made several mistakes in this area and had to process refunds for users.

  • Double billing because two of the same plans started for the same user
  • Double billing because two accounts were linked to the same user on Stripe
  • Billing occurring because the user on the Stripe side was not deleted even though the user on the service side was deleted after canceling the plan

Naturally, implementation and testing to prevent these from occurring are important, and furthermore, it is crucial to design mechanisms that perform periodic checks on the system even if they do happen.

Other Monetization Methods

From here on, these are monetization methods that are difficult to replicate at an individual level, but I will mention them just for your information.

Commission (Collection Agency)

This is not really in the realm of personal development anymore, but I'm writing about it because there are examples like Skeb and Zenn. It's a type of monetization where you mediate the exchange of money between users and take a fee for the transaction.

Basically, the implementation involves processing payments through a payment platform similar to subscriptions, but you receive the sales as the service and then transfer them to the seller user.

This area also requires mechanisms to prevent money laundering, so be sure to have legal experts check it. Specifically, since the invoice system has started, things have changed recently in that regard as well.

Data Sales

This is a method of monetizing by selling site data to other companies. Companies may want data that is difficult to collect unless done manually, even if it's for a fee.

It depends on whether you sell the users' own data or data collected by users, but pre-processing such as masking personal information is absolutely necessary, and you need to state in the terms of use that data will be sold and obtain permission from the users.

Merchandise Sales

If you have a certain number of users for a consumer-facing service, the users have high enthusiasm, and you are a developer/service with confidence in design, this might be an effective method.

Also, if you can provide a service where something used online becomes even more convenient with a real-life item, you might try selling such items. There is a case where a service covered its server costs by selling T-shirts with the service logo.

Business Transfer

This is not about earning revenue from the service, but a way for the developer to get money by selling the service itself.

Basically, if a service is already monetized to some extent, the risk for the buyer is low, so the price is determined based on that amount (it's relatively common to set the acquisition price as two years' worth of revenue). Whether you join the company or get involved as a contractor depends on the negotiation.

Also, if it's a small amount, companies might unexpectedly buy it as a shortcut for a prototype of a new business. It's hard to find a buyer to begin with, but recently there are an increasing number of intermediaries that help with this, just like M&A brokering.

Conclusion

  1. Mindset for monetization
  2. Precautions for monetization
  3. Monetization according to the nature of the service
  4. Monetization methods and their implementation

I've written about the above. Of course, there are many other monetization methods in the world, but on the scale of personal development, they are mostly covered here.

I hope that you can successfully monetize the services and apps you have developed personally and enjoy personal development even more.

Discussion

ひらりーひらりー

まとまっていて有益な情報だと感じました!

個人開発云々いうなら情報商材じゃなくて自分のサービスで稼げよな! ということで。

冒頭のここだけ疑問があります。
自分の経験が情報として価値があると判断して、需要があるところにマネタイズして出す、ということにネガティブな印象は自分は受けないです。アプリ市場が完全に飽和して、作り手サイドにも市場が広がっているだけなのかなと。
むしろユーザーに不利益を与えずに作り手が潤っている点では、広告より賢いやり方なのでは?wとすら思えます。

nabettunabettu

コメントありがとうございます!

有料記事を否定するように取れる書き方をしてしまっており、申し訳ありません。
記事を有料で売ることはいいと思ってます。むしろノウハウとして出してもらうことは非常に有益ですし、そこでマネタイズすることはいいことだと思います。

  • 中身が伴わない値付けをしつつ、売れるために誇張するような事
  • 開発自体でなく、記事作りやそれの宣伝ばかりに時間を使ってしまう事

が悲しいなと思うんです。

ひらりーひらりー

これまでも個人開発のソフトスキルは幅広く共有されてきましたが、最近では高額な価格設定や少し誇張気味な表現の記事が注目を集めています。これは、専業エンジニア向けの記事とは異なる、新たな価値観が生まれていると感じています。

生成AIの普及で開発のハードルが下がり、多様な視点からソフトスキルが発信され、個人開発のノウハウもさらに洗練されていくことを期待しています。
確かに承認欲や金銭欲が前面に出たムーブには鼻につく部分もありますが、そこに新たな付加価値があると捉え、生温かく見守りたいと思っています。