Monetization: Disruptive Ads policy
Ads Policy: Disruptive or Unexpected Interstitial Ads
Our Take
Google rejects apps that show full-screen interstitial ads at unexpected moments — such as on app launch, on exit, or interrupting an in-progress task — rather than at natural breaks like the end of a level or chapter.
This falls under the Ads policy's Disruptive Ads and Better Ads Experiences clauses, which prohibit ads that force a user to interact before they can use the app and require a functioning close control. It's commonly triggered by App Open ads misconfigured to fire on every cold start, back-to-back interstitials stacked without a user action between them, or ad creatives that visually mimic system notifications or OS dialogs.
Resolution Guide
Audit every interstitial trigger point
List every place in your code that calls an interstitial's show() method and check whether it fires on cold launch, app exit/back-press, or mid-task rather than at a natural content break.
Move launch-time monetization to App Open ads, not interstitials
Google explicitly recommends the App Open ad format (not a standard interstitial) for monetizing app launch or return-to-foreground moments, since it's designed for that placement.
Only trigger interstitials at natural transitions
Acceptable placements are things like end-of-level, after a score screen, or end-of-chapter — moments where the user has completed a discrete action, not mid-task interruptions.
Cap frequency and prevent stacking
Limit interstitials to no more than one per two user actions, and never trigger a second interstitial immediately after the first closes without an intervening user action in between.
Verify the close button is visible and functional
Standard interstitials can delay the close button up to 5 seconds; high-engagement video interstitials up to 12 seconds; third-party bidding video interstitials up to 30 seconds. Beyond those windows, the close control must be visible and tappable — don't hide or disable it further.
Remove any ad creative that mimics system UI
Check third-party ad networks' creative for anything styled like an Android system notification, permission dialog, or another app's interface — this violates the Deceptive Ads / Unauthorized Use of System Functionality clause even if the ad content itself is otherwise compliant.
Test with ad frequency capping enabled in your mediation setup
If using mediation (AdMob, ironSource, etc.), configure frequency capping and placement rules at the mediation layer, not just in your app code, so all demand sources respect the same timing rules.
Re-test the full user flow before resubmitting
Walk through cold launch, normal usage, and app exit on a physical device to confirm no interstitial fires outside the natural-break points you've defined, then resubmit for review.
Example Rejection Email
Consider Appealing
Appeal only if you've already restricted interstitials to natural break points and believe the rejection was triggered by a third-party ad network's creative or mediation misfire outside your control — include mediation config screenshots and a screen recording showing your actual trigger logic. If your interstitials genuinely fire on launch, exit, or mid-task, don't appeal — Google's notices for this policy are typically terse (just "Disruptive Ads" with no detail), so isolate the trigger yourself by removing ad placements one at a time, fix the timing, and resubmit rather than requesting reconsideration on unchanged behavior.
Before & After
A casual game shows a full-screen interstitial every time the app is opened (including returning from the background) and stacks a second interstitial immediately after the level-complete ad closes.
The launch-time ad is replaced with Google's App Open ad format capped to once per session, and the level-complete interstitial is capped to once every two levels with no back-to-back stacking.
What changed: Using the format Google designates for launch moments and enforcing a minimum gap between interstitials removes both unexpected-timing and back-to-back-stacking triggers for the Disruptive Ads policy.
Community Solutions · 0
Sign in to share your solution.