Fixed size banner ads
Stay organized with collections
Save and categorize content based on your preferences.
Select platform:
Android
iOS
Flutter
The Google Mobile Ads SDK supports fixed ad sizes for situations where adaptive
banners ads don't meet your needs.
The following table lists the standard banner sizes.
Size in dp (WxH) |
Description |
Availability |
AdSize constant |
320x50 |
Banner |
Phones and tablets |
GADAdSizeBanner |
320x100 |
Large banner |
Phones and tablets |
GADAdSizeLargeBanner |
300x250 |
IAB medium rectangle |
Phones and tablets |
GADAdSizeMediumRectangle |
468x60 |
IAB full-size banner |
Tablets |
GADAdSizeFullBanner |
728x90 |
IAB leaderboard |
Tablets |
GADAdSizeLeaderboard |
To define a custom banner size, set your size using GADAdSizeFromCGSize
:
Swift
let adSize = adSizeFor(cgSize: CGSize(width: 250, height: 250))
Objective-C
GADAdSize size = GADAdSizeFromCGSize(CGSizeMake(250, 250));
Fixed size banner ads example
Swift
Objective-C
Custom ad size
In addition to the standard ad units, Google Ad Manager lets you serve any sized
ad unit into an app. The ad size (width, height) defined for an ad request
should match the dimensions of the ad view (GAMBannerView
) displayed on the
app. To set a custom size, use GADAdSizeFromCGSize
.
Swift
// Define custom GADAdSize of 250x250 for GAMBannerView.
let customAdSize = adSizeFor(cgSize: CGSize(width: 250, height: 250))
bannerView = GAMBannerView(adSize: customAdSize)
Objective-C
// Define custom GADAdSize of 250x250 for GAMBannerView
GADAdSize customAdSize = GADAdSizeFromCGSize(CGSizeMake(250, 250));
self.bannerView = [[GAMBannerView alloc] initWithAdSize:customAdSize];
Multiple ad sizes
Ad Manager lets you specify multiple ad sizes which could be eligible to serve
into a GAMBannerView
. There are three steps needed in order to use this
feature:
In the Ad Manager UI, create a line item targeting the same ad unit that is
associated with different size creatives.
In your app, set the validAdSizes
property on GAMBannerView
:
Swift
// Define an optional array of GADAdSize to specify all valid sizes that are appropriate
// for this slot. Never create your own GADAdSize directly. Use one of the
// predefined standard ad sizes (such as GADAdSizeBanner), or create one using
// the GADAdSizeFromCGSize method.
//
// Note: Ensure that the allocated GAMBannerView is defined with an ad size. Also note
// that all desired sizes should be included in the validAdSizes array.
bannerView.validAdSizes = [NSValueFromGADAdSize(AdSizeBanner),
NSValueFromGADAdSize(AdSizeMediumRectangle),
NSValueFromGADAdSize(adSizeFor(cgSize: CGSize(width: 120, height: 20)))]
Objective-C
// Define an optional array of GADAdSize to specify all valid sizes that are appropriate
// for this slot. Never create your own GADAdSize directly. Use one of the
// predefined standard ad sizes (such as GADAdSizeBanner), or create one using
// the GADAdSizeFromCGSize method.
//
// Note: Ensure that the allocated GAMBannerView is defined with an ad size. Also note
// that all desired sizes should be included in the validAdSizes array.
self.bannerView.validAdSizes = @[
NSValueFromGADAdSize(GADAdSizeBanner),
NSValueFromGADAdSize(GADAdSizeMediumRectangle),
NSValueFromGADAdSize(GADAdSizeFromCGSize(CGSizeMake(120, 20)))
];
Implement the GADAdSizeDelegate
method to detect an ad size change.
Swift
public func bannerView(_ bannerView: BannerView, willChangeAdSizeTo size: AdSize)
Objective-C
- (void)bannerView:(GAMBannerView *)view willChangeAdSizeTo:(GADAdSize)size;
Remember to set the delegate before making the request for an ad.
Swift
bannerView.adSizeDelegate = self
Objective-C
self.bannerView.adSizeDelegate = self;
Multiple ad sizes example
Swift
Objective-C
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-29 UTC.
[null,null,["Last updated 2025-08-29 UTC."],[[["\u003cp\u003eThe Google Mobile Ads SDK offers fixed ad sizes as an alternative to adaptive banners, including standard options like Banner (320x50) and Leaderboard (728x90).\u003c/p\u003e\n"],["\u003cp\u003eYou can define custom banner sizes using \u003ccode\u003eGADAdSizeFromCGSize\u003c/code\u003e by specifying the desired width and height.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Ad Manager supports serving multiple ad sizes to a single ad unit by configuring valid sizes in your app and creating corresponding line items in Ad Manager.\u003c/p\u003e\n"],["\u003cp\u003eTo handle ad size changes dynamically, implement the \u003ccode\u003eGADAdSizeDelegate\u003c/code\u003e and its \u003ccode\u003ebannerView(_:willChangeAdSizeTo:)\u003c/code\u003e method.\u003c/p\u003e\n"]]],[],null,["Select platform: [Android](/ad-manager/mobile-ads-sdk/android/banner/fixed-size \"View this page for the Android platform docs.\") [iOS](/ad-manager/mobile-ads-sdk/ios/banner/fixed-size \"View this page for the iOS platform docs.\") [Flutter](/ad-manager/mobile-ads-sdk/flutter/banner/fixed-size \"View this page for the Flutter platform docs.\")\n\n\u003cbr /\u003e\n\nThe Google Mobile Ads SDK supports fixed ad sizes for situations where adaptive\nbanners ads don't meet your needs.\n\nThe following table lists the standard banner sizes.\n\n| Size in dp (WxH) | Description | Availability | AdSize constant |\n|------------------|----------------------|--------------------|----------------------------|\n| 320x50 | Banner | Phones and tablets | `GADAdSizeBanner` |\n| 320x100 | Large banner | Phones and tablets | `GADAdSizeLargeBanner` |\n| 300x250 | IAB medium rectangle | Phones and tablets | `GADAdSizeMediumRectangle` |\n| 468x60 | IAB full-size banner | Tablets | `GADAdSizeFullBanner` |\n| 728x90 | IAB leaderboard | Tablets | `GADAdSizeLeaderboard` |\n\nTo define a custom banner size, set your size using [`GADAdSizeFromCGSize`](/ad-manager/mobile-ads-sdk/ios/api/reference/Functions): \n\nSwift \n\n let adSize = adSizeFor(cgSize: CGSize(width: 250, height: 250))\n\nObjective-C \n\n GADAdSize size = GADAdSizeFromCGSize(CGSizeMake(250, 250));\n\nFixed size banner ads example\n\n[Swift](//github.com/googleads/googleads-mobile-ios-examples/blob/main/Swift/advanced/APIDemo/APIDemo/AdMobBannerSizesViewController.swift)\n[Objective-C](//github.com/googleads/googleads-mobile-ios-examples/blob/main/Objective-C/advanced/APIDemo/APIDemo/AdMobBannerSizesViewController.m)\n\nCustom ad size\n\nIn addition to the standard ad units, Google Ad Manager lets you serve any sized\nad unit into an app. The ad size (width, height) defined for an ad request\nshould match the dimensions of the ad view (`GAMBannerView`) displayed on the\napp. To set a custom size, use [`GADAdSizeFromCGSize`](/ad-manager/mobile-ads-sdk/ios/api/reference/Functions#/c:@F@CGSizeFromGADAdSize). \n\nSwift \n\n // Define custom GADAdSize of 250x250 for GAMBannerView.\n let customAdSize = adSizeFor(cgSize: CGSize(width: 250, height: 250))\n bannerView = GAMBannerView(adSize: customAdSize)\n\nObjective-C \n\n // Define custom GADAdSize of 250x250 for GAMBannerView\n GADAdSize customAdSize = GADAdSizeFromCGSize(CGSizeMake(250, 250));\n self.bannerView = [[GAMBannerView alloc] initWithAdSize:customAdSize];\n\nMultiple ad sizes\n\nAd Manager lets you specify multiple ad sizes which could be eligible to serve\ninto a `GAMBannerView`. There are three steps needed in order to use this\nfeature:\n\n1. In the Ad Manager UI, create a line item targeting the same ad unit that is\n associated with different size creatives.\n\n2. In your app, set the `validAdSizes` property on `GAMBannerView`:\n\n Swift \n\n // Define an optional array of GADAdSize to specify all valid sizes that are appropriate\n // for this slot. Never create your own GADAdSize directly. Use one of the\n // predefined standard ad sizes (such as GADAdSizeBanner), or create one using\n // the GADAdSizeFromCGSize method.\n //\n // Note: Ensure that the allocated GAMBannerView is defined with an ad size. Also note\n // that all desired sizes should be included in the validAdSizes array.\n bannerView.validAdSizes = [NSValueFromGADAdSize(AdSizeBanner),\n NSValueFromGADAdSize(AdSizeMediumRectangle),\n NSValueFromGADAdSize(adSizeFor(cgSize: CGSize(width: 120, height: 20)))]\n\n Objective-C \n\n // Define an optional array of GADAdSize to specify all valid sizes that are appropriate\n // for this slot. Never create your own GADAdSize directly. Use one of the\n // predefined standard ad sizes (such as GADAdSizeBanner), or create one using\n // the GADAdSizeFromCGSize method.\n //\n // Note: Ensure that the allocated GAMBannerView is defined with an ad size. Also note\n // that all desired sizes should be included in the validAdSizes array.\n self.bannerView.validAdSizes = @[\n NSValueFromGADAdSize(GADAdSizeBanner),\n NSValueFromGADAdSize(GADAdSizeMediumRectangle),\n NSValueFromGADAdSize(GADAdSizeFromCGSize(CGSizeMake(120, 20)))\n ];\n\n3. Implement the `GADAdSizeDelegate` method to detect an ad size change.\n\n Swift \n\n public func bannerView(_ bannerView: BannerView, willChangeAdSizeTo size: AdSize)\n\n Objective-C \n\n - (void)bannerView:(GAMBannerView *)view willChangeAdSizeTo:(GADAdSize)size;\n\n Remember to set the delegate before making the request for an ad. \n\n Swift \n\n bannerView.adSizeDelegate = self\n\n Objective-C \n\n self.bannerView.adSizeDelegate = self;\n\nMultiple ad sizes example\n\n[Swift](//github.com/googleads/googleads-mobile-ios-examples/blob/main/Swift/advanced/APIDemo/APIDemo/AdManagerMultipleAdSizesViewController.swift)\n[Objective-C](//github.com/googleads/googleads-mobile-ios-examples/blob/main/Objective-C/advanced/APIDemo/APIDemo/GAMMultipleAdSizesViewController.m)"]]