KaiOS App Monetization

Posted by Tom Barrasso on (updated on )

Monetizing apps with on KaiOS with KaiAds and JioAds.

KaiAds

KaiAd Examples
KaiAd Examples

By far, KaiAds are the easiest way to monetize KaiOS apps. KaiOS provides a publisher SDK that works for both apps and websites. There are two types of KaiAds: responsive banners and full-page interstitials.

KaiAds can be preloaded in the background with a refresh rate of ~30 seconds, then displayed when the opportunity is right like during page transitions or when the user finishes a level in a game. To get started, you can register for an account at https://publishers.kaiads.com. Once complete, you’ll get a Publisher ID to use with the SDK.

Video KaiAd
Video KaiAd

As of February 2023, KaiOS recently launched video KiaAds as well. Users are presented with a play button to watch the video and a “Go” button to open a URL in their browser. Videos are served via KaiOS’ partnership with Outbrain.

Note: according to the KaiStore Submission Guidelines, KaiAd integration is required for apps published on the KaiStore.

Currently, we are only accepting apps that are monetized using KaiAds SDK.

KaiAds Implementation

KaiOS suggests adding the following dependency to your manifest.webapp or manifest.webmanifest file for privileged or certified apps. However, it’s worth noting that declaring dependencies in manifest.webapp prevents installation on devices lacking the declared dependency with a version number equal to or greater than the declared version. In this example, any device with an ads-sdk version less than 1.5.8 would not be able to install this app.

1{
2	"dependencies": {
3		"ads-sdk": "1.5.8"
4	}
5}

ads-sdk.v5.min.js provides a single, globally-scoped function: getKaiAd.

 1getKaiAd({
 2	publisher: 'yourPublisherID',
 3	app: 'yourAppName',
 4	slot: 'yourSlotName',
 5    test: 0, // test = 1 during testing
 6    h: 264,
 7	w: 240,
 8    container: document.getElementById('ad-container'),
 9	onerror: (err) => console.error('Error:', err),
10	onready: (ad) => {
11        // Ad Events
12        ad.on('display', () => console.log('Ad displayed'));
13        ad.on('close', () => console.log('Ad closed'));
14        ad.on('click', () => console.log('Ad clicked'));
15
16        // Ad is ready to be displayed
17		// calling 'display' will display the ad
18		ad.call('display');
19	}
20});

  • publisher is the Publisher ID provided during KaiAds account registration
  • app is a unique identifier for your app. Shows in the KiaAds Publisher Portal
  • slot is an optional unique identifier for your ad placement. Shows in the KiaAds Publisher Portal
  • test is an integer set to 1 during testing and 0 for production
  • h and w and the maximum height and width, respectively, for response ads
  • container is the element to insert the KaiAd in to
  • onerror and onready are function callbacks

Once onready is called, the ad object can be stored and ad.call('display') can be called when the ad should be shown on screen. KaiAds have three Ad Events: display, close, and click. There are also a number of errors that can occur, which KaiAds provides a list of error codes.

KaiAds requires that you serve and keep up-to-date an app-ads.txt file at the root domain of your app’s website (e.g. yourawesomewebsite.com/app-ads.txt). app-ads.txt files can be generated at https://adstxt.kaiads.com/.

KaiAds Publisher Portal

The KaiAds Publisher Portal is where developers can see impressions, clicks, app analytics, and accumulated revenue. Under “Ad Reports,” for each app and each day you can see Impressions, Clicks, Click Through Rate (CTR), Estimated Revenue, and estimated Cost per Mile (eCPM).

KaiAds Publisher Portal - Ad Reports
KaiAds Publisher Portal - Ad Reports

Depending on where your app is most successful, eCPMs can vary widely. In the past month, I’ve seen eCPMs between $0.08 - $4.50 with an average of $0.96, rougghly 1¢ per click. With a reasonable CTR of 10%, every thousand impressions yield about $1.

KaiAds is also how KaiOS provides developers with total app installations and app installations by country under “App Reports.” Here’s an example from of my app, Bing Wallpaper, show 6,122 organic installs in the past month.

KaiAds Publisher Portal - App Reports
KaiAds Publisher Portal - App Reports

The Publisher Portal also provides Analytics enumerating Users, New Users, Day 1 Retention, Day 7 Retention, and Day 30 Retention, although there’s reason to suspect these metrics are inaccurate. Finally, there’s a tab for Payment as well showing Accumulated Revenue Share, Outstanding Payment, and Payment History. This lets publishers track their accumulated revenue across all of their applications in a single place.

Revenue & Payments

It’s worth highlighting the following terms from the KaiOS Application Submission and Distribution Agreement.

As regards the Net Revenue generated from Advertising: 30% of Net Revenue to Developer. 70% of Net Revenue to KAI.

KAI may hold any payment of Revenue Share until the cumulative amount owed to the Developer totals at least US $500.

This means developers receive payment after accumulating at least $500 USD, and that they receive 30% of Net Revenue from advertising.

JioAds

JioAds Placeholder
JioAds Placeholder

For apps published on the JioStore, KaiAds are not available. Instead, Jio Platforms Limited offers JioAds. JioAds uses a different SDK based on VMAX. Unlike KaiAds, JioAds supports rich media formats including video ads.

Note: as of the time of writing, the JioAds Dashboard at https://dashboard-jioadvt.jio.com appears to be unavailable.

Outside Monetization

Unfortunately, KaiOS provides a lower net revenue share and lower CPMs than more popular mobile platforms like Android and iOS. Additionally, KaiAds user demographics skew towards first-time internet users in emerging markets. In order to build a sustainable business, developers are better off managing outside monetization through donations or sponsorships.

For instance, PodLP generates sustainable revenue by connecting podcasters with podcast listeners through sponsored listings. Doing so providers podcasters with new listeners and subscribers, and offers PodLP users engaging, regularly-updated content. Learn more about PodLP and the author on the About page.