In-app purchases are not the only way to make money from an iOS app — and for many apps they are not even the best way. Utilities, content apps, and casual games with a free user base monetize through ads: banners, interstitials, rewarded videos, native placements, and app-open units. In 2026 the standard stack is well established — AdMob's Google Mobile Ads SDK, Apple's App Tracking Transparency (ATT) prompt, and SKAdNetwork for attribution. This tutorial walks through the whole setup, from account creation to App Store compliance, grounded in Google's and Apple's official documentation.


Why ads, and where they fit

Ads monetize users who will never pay, and they complement IAP rather than compete with it. A well-placed rewarded ad can even increase IAP revenue by offering currency or premium features in exchange for a video view. The common patterns are: ads-only for utility and content apps, hybrid (ads plus IAP) for games, and subscription-plus-ads for media apps. Before writing any code, decide which pattern fits your audience — it determines the ad formats you integrate and the user flows you design around them.


Step 1: Choose your ad formats

The Google Mobile Ads SDK for iOS supports five main formats, each with a different trade-off between revenue and user friction:

Most successful implementations start with rewarded plus a light interstitial, then add app-open after launch data shows users return often.


Step 2: Create an AdMob account and register your app

AdMob runs on your Google account — sign in at admob.google.com and add your iOS app. The console assigns you an AdMob App ID (formatted like ca-app-pub-XXXXXXXXXXXX~YYYYYYYYYY) and lets you create ad units, each with its own ID. You will need the App ID for your Info.plist and the ad unit IDs in code. Registering the app first also makes the next steps concrete — the SDK's initialization and the AdMob dashboard are linked to that App ID.


Step 3: Integrate the Google Mobile Ads SDK

Per Google's official quick-start guide, the current requirements are Xcode 16.0 or higher targeting iOS 12.0 or higher, with the SDK imported via Swift Package Manager, CocoaPods, or manual download. Three integration details are worth getting right the first time:

  1. Import and initialize early — import GoogleMobileAds and call GADMobileAds.sharedInstance().start() in your app's launch path, before the first ad request.
  2. Linker flags — the official guide calls for the -ObjC flag in Other Linker Flags (when not using Swift Package Manager).
  3. Swift runpath — add /usr/lib/swift to Runpath Search Paths for projects that need it.

Once initialized, request ads through the format classes (GADBannerView, GADInterstitialAd, GADRewardedAd, and so on), each fed by its ad unit ID.


Step 4: Configure Info.plist — the two keys that unlock everything

Google's quick-start is explicit about what your Info.plist must contain before ads will serve:

The second key is what makes attribution work in the post-IDFA era. Apple's SKAdNetwork framework lets ad networks attribute installs without seeing the device's advertising identifier, and Google's privacy documentation states that the Mobile Ads SDK supports conversion tracking through SKAdNetwork even when the IDFA is unavailable.


Step 5: Handle App Tracking Transparency (ATT) properly

Since iOS 14.5, apps that access the advertising identifier (IDFA) must first ask permission through the ATT prompt. Getting this wrong is the #1 source of both review rejections and quietly broken ad revenue:

Design tip: the ATT prompt converts best when the user understands the value. If your app is ad-funded and free, say so in the prompt copy — "This app is free because it shows ads" is a more honest and effective message than a generic tracking disclaimer.


Step 6: Test before you ship

AdMob provides test ad unit IDs that return sample ads, and the SDK lets you register your device as a test device so real ads never load during development. Testing matters for two reasons: it validates that each format renders and its callbacks fire correctly, and it protects you from invalid activity — real ad requests made by your own test sessions can get your account flagged. Run a full pass with every format you plan to ship: banner render, interstitial load and dismiss, rewarded completion callback, and app-open timing.


Step 7: Stay compliant on the App Store

Ad monetization triggers App Store requirements you must complete before submission:


Bonus: Apple Search Ads as a growth channel

Advertising your app inside the App Store is the natural companion to in-app ad monetization. Apple Search Ads places your app at the top of relevant search results and charges per tap, with campaigns by keyword and audience. The two systems fit together cleanly: Search Ads grows installs, and in-app ads monetize the users those installs bring — including re-engaging them with rewarded placements.


The one-line version

Ad monetization on iOS in 2026 is: pick your formats, register the app in AdMob, integrate the Mobile Ads SDK (Xcode 16+, iOS 12+), put GADApplicationIdentifier and SKAdNetworkItems in Info.plist, handle the ATT prompt honestly, test with test ad units, and declare advertising in your App Privacy labels. The frameworks are mature and the documentation is exact — the apps that fail are the ones that skip a key, hide the tracking prompt, or treat denied ATT as a disaster instead of a normal outcome.


Sources