Ad revenue in dollars
Revenue, impressions, eCPM, clicks, CTR and ad share of revenue, with change from the previous period.
Feature
RevenueDot shows your app's ad revenue next to its subscription revenue, in US dollars, from the ad events the RevenueCat SDK already sends. It also verifies AdMob rewarded ads on the server. Google signs a callback, a reward rule grants in-app currency or a few days of access, and your app only asks whether the reward went through.
Free up to $10,000 a month in tracked revenue. Works with the RevenueCat SDK you already ship.
Revenue, impressions, eCPM, clicks, CTR and ad share of revenue, with change from the previous period.
By network, format, placement, ad unit and mediator, with AdMob ad unit names once connected.
A modified app cannot grant itself a reward, because only a callback signed by Google does.
The first matching rule grants in-app currency or a promotional entitlement for minutes, hours or days.
Ad revenue reaches RevenueDot through the SDK's ad tracker, which posts ad events to POST /v1/events at your proxy URL. On iOS the stock SDK sends them to the proxy URL. The stock Android SDK sends ad events to RevenueCat's hosts even with a proxy URL, so use the RevenueDot Android fork.
Use RevenueCat's AdMob adapter to track loads, impressions, clicks and revenue for you, or call the tracker yourself from any network's or mediator's callbacks.
// iOS 15+: report the revenue of one impression from the mediator's paid-event callback.
Purchases.shared.adTracker.trackAdRevenue(AdRevenue(
networkName: "AdMob", mediatorName: .adMob, adFormat: .rewarded, placement: "level_end",
adUnitId: "ca-app-pub-3940256099942544/5224354917", impressionId: impressionId,
revenueMicros: 12_500, currency: "USD", precision: .exact
)) Steps
Only AdMob's callback is verified today. AppLovin MAX, ironSource and Unity Ads callbacks are not.
Open Ads, then Rewards, and copy the AdMob callback URL, https://api.revenuedot.app/v1/ads/admob/ssv on Cloud. In AdMob, turn on Server-side verification for each rewarded ad unit and paste it.
When the ad loads, call generateRewardVerificationToken and pass the token's app user id and custom data to AdMob's server-side verification options.
Choose what a verified reward grants: a fixed or network-sized amount of in-app currency, or an entitlement for a duration of up to 365 days. Narrow a rule by app, ad unit or reward item. The first rule that matches decides.
When the ad's reward callback fires, call pollRewardVerification. The answer is verified, with the reward, or failed with a reason.
Send a test reward runs the same rules as a real AdMob callback for an app user id you enter, without an ad. The currency or access is granted for real.
A currency reward is written to the in-app currency ledger once per reward, so a callback Google sends twice never credits twice. A VIRTUAL_CURRENCY_TRANSACTION webhook goes out with source: ad_reward.
// After the rewarded ad loads
let token = Purchases.shared.generateRewardVerificationToken(impressionId: impressionId)
let options = ServerSideVerificationOptions()
options.userIdentifier = token.appUserID
options.customRewardString = token.customData
rewardedAd.serverSideVerificationOptions = options
// When the ad's reward callback fires
let result = await Purchases.shared.pollRewardVerification(clientTransactionID: token.clientTransactionID)
if let gems = result.verifiedReward?.virtualCurrency { showReward(gems.amount) } FAQ
Report ad impressions and revenue through the RevenueCat SDK's ad tracker, directly or with RevenueCat's AdMob adapter, and point the SDK at RevenueDot. The Ads overview shows ad revenue, impressions and eCPM in US dollars next to subscription revenue, and the charts add fill rate and ARPDAU.
Turn on server-side verification in AdMob and paste RevenueDot's callback URL. Your app passes a verification token to AdMob. When the customer watches the ad, AdMob calls RevenueDot with a signed request, RevenueDot checks Google's signature and a reward rule grants the reward.
A reward rule grants in-app currency, as a fixed amount or AdMob's reward amount times a multiplier, or a promotional entitlement for up to 365 days. Rules are checked from the top, and the first match decides. A reward is recorded once per network transaction.
Not yet. You can track their ad revenue through the ad tracker, but only AdMob's signed callback is verified for rewards.
No. Ad revenue works without it, and rewarded ads work when each reward rule names its ad unit. Connecting AdMob loads your ad unit names, so the overview shows names instead of ids, and tells reward verification which ad units are yours.
Get started
Start free on RevenueDot Cloud, free up to $10,000 a month in tracked revenue, or move an existing RevenueCat app with one line of code.
Already have an account? Sign in · Prefer your own servers? Self-host free