Chart · Ads

Ad impressions: count the ads your app displays

Ad impressions counts the ads your app displayed in each period. RevenueDot counts one impression for every ad displayed event the SDK sends, by UTC day, week or month. Impressions are the denominator for eCPM and CTR, so they show how much ad inventory your users saw.

Formula

Impressions = number of ad displayed events (rc_ads_ad_displayed) in the period

Shape

What happened during each period

API name

ad_impressions

Measures

Impressions (Count)

Filter and segment by

App, Country, Platform, App version

The Impressions chart in the RevenueDot dashboard, with demo data, its chart rail, plot and table
Captured from the RevenueDot dashboard with demo data.

Definition

How RevenueDot calculates Impressions

RevenueDot counts rc_ads_ad_displayed events. An impression is an ad that was shown, not an ad that was requested or loaded. Your SDK ad tracking sends the events to RevenueDot's /v1/events endpoint, either from an ad network adapter or by manual capture, and RevenueDot drops a repeated event id so one event counts once.

Sandbox and TestFlight builds are stored as sandbox and left out. The count is a flow: it adds up the events that happened in each period, in UTC. The current period is incomplete until it ends.

Filter or segment by app, country, platform and app version. The default resolution is day, and week, month, quarter and year are available. For impressions by network, format and placement, use the Ads page in the dashboard.

Find the chart in the dashboard under Analytics > Charts, or call GET /v2/projects/{project_id}/charts/ad_impressions. The response has the same shape as RevenueCat's Charts API.

Worked example

Impressions, step by step

Illustrative numbers for three days.

DayAd displayed events
Monday4,200
Tuesday3,900
Wednesday4,400

Impressions for the three days = 4,200 + 3,900 + 4,400 = 12,500.

Why it matters

What Impressions tells you

Impressions are the volume side of ad income. Revenue is impressions times the price per impression, so when ad revenue moves, impressions tell you whether you showed more or fewer ads.

They also show how heavy your ad load is. If impressions grow faster than your active users, each user sees more ads, which can hurt reviews and subscription conversion. Check it after you add a placement, and read it with Clicks and eCPM.

How to read it

  • A jump after a release can be a new placement or an event that fires twice. Compare it with clicks and revenue.
  • Impressions count displayed ads. An ad that loaded but never appeared is not counted. Fill Rate counts loads.
  • Divide impressions by days and by active customers to estimate ads per user.
  • Segment by app version to see which release changed the ad load.
  • Zero impressions with real traffic usually means the SDK is not sending ad events.

API

Get Impressions from the Charts API

Same path and response shape as RevenueCat's Charts API, so existing scripts keep working.

Requestshell
curl "https://api.revenuedot.app/v2/projects/$PROJECT_ID/charts/ad_impressions?resolution=day" \
  -H "Authorization: Bearer $SECRET_KEY"   # sk_... with charts_metrics:charts:read

Reference: Charts guide · REST API v2

FAQ

Impressions: questions people ask

What counts as an ad impression in RevenueDot?

One ad displayed event sent by your SDK. RevenueDot counts an ad that was shown, not one that was only requested or loaded.

What is the difference between ad requests and impressions?

A request is an ad that loaded or failed to load, which Fill Rate uses. An impression is an ad that was displayed. Some loaded ads are never shown.

How do I send ad impressions to RevenueDot?

Turn on the SDK's ad event tracking, through an ad network adapter or manual capture. The SDK posts ad displayed events to RevenueDot's /v1/events endpoint.

Why are my ad impressions zero?

RevenueDot has received no ad displayed events for your filters and dates. Check that the SDK sends them, that the build is not a sandbox build, and the date range.

Are sandbox ad impressions counted?

No. Events from sandbox and TestFlight builds are stored as sandbox and left out of the chart.

Get started

See your Impressions in minutes.

Connect your app to RevenueDot Cloud, free up to $10,000 a month in tracked revenue, and all 43 charts fill from your store history after import.

Already have an account? Sign in · Prefer your own servers? Self-host free