# Ads Policy: Disruptive or Unexpected Interstitial Ads

**Guideline:** monetization/disruptive-ads · **Store:** Google Play · **Risk:** medium · **Difficulty:** easy · **Typical turnaround:** 1-2 days

Canonical URL: https://appstorereject.com/rejections/google/monetization%2Fdisruptive-ads/ads-policy-disruptive-or-unexpected-interstitial-ads

## Description

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.

## Common variations

- Issue found: Disruptive Ads
- Full-screen ads shown on app launch or exit
- Ads interfere with core app functionality
- Interstitial ad missing a functioning close button
- Ad impersonates a system notification or dialog

## Example rejection email

```
Google Play Console — Policy status

Issue found: Disruptive Ads

Your app doesn't comply with our Ads policy.

We found that your app shows full-screen interstitial ads at unexpected times, such as on app launch, on exit, or interrupting a task the user has chosen to complete. Ads must appear at natural transition points and must not force a user to interact with an ad before they can use the app.

Action required:
- Remove or reposition interstitial ads shown on app launch, app exit, or mid-task
- Ensure interstitials only appear at natural breaks (e.g., end of level, after task completion)
- Confirm a visible, functioning close button is present on every interstitial
- Limit ad frequency so interstitials do not appear back-to-back without an intervening user action

Learn more: https://support.google.com/googleplay/android-developer/answer/9857753
```

## Resolution steps

## How to Fix a Disruptive/Unexpected Ads Rejection

1. **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.
2. **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.
3. **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.
4. **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.
5. **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.
6. **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.
7. **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.
8. **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.

## Appeal guidance

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 examples

**Before:** 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.
**After:** 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.
**Why it works:** 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.

## Common questions

**Can you appeal a monetization/disruptive-ads rejection?**

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.

**How long does this typically take to fix?**

Typical turnaround is 1-2 days (difficulty: easy). After resubmission, most re-reviews complete within 24-48 hours.

---
*Machine-readable source: https://api.appstorereject.com/api/rejections/detail?slug=ads-policy-disruptive-or-unexpected-interstitial-ads*