Get personalized optimization tips, understand your account health and set up completion on the improved "My AdMob page".

Content mapping for apps

Make more money from your dynamic app content

Content mapping for apps helps ensure better ad placement and improved brand safety for you and your advertisers. Content mapping enables contextual targeting, which delivers relevant ads to users based on the type of content they consume. This improves the experience for:

  • Developers: Improves brand safety by delivering ads that align with your app’s content and may help to increase revenue potential by allowing buyers to serve contextually relevant ads to users.
  • Advertisers: Connect with interested consumers on mobile devices at the exact moment they’re actively engaged in highly relevant content.
  • Users: See ads that are relevant to them.

Publishers with matching web and app content can show contextually relevant ads on their apps. Content mapping for apps allows publishers to pass a reference page URL that corresponds the web content to what’s being shown in-app. In other words, the system crawls a webpage and uses that data to better understand the content in the app, and is therefore able to display contextually relevant ads in the app.

This article describes how to implement content mapping for apps so you can start displaying contextually relevant ads on apps. It includes the following:

Implementation guidelines

Content mapping for apps is intended for publishers who have matching or similar web and mobile-app experiences. You need to pass a reference to a webpage that corresponds to the content being displayed to the user in-app.

It’s important that the domains passed via Content mapping for apps match the content that’s displayed to the user at the time.

For best performance, choose standard desktop webpages for content mapping rather than webpages optimized for mobile. (for example, use, not

Also, do not manually create URLs for the sake of using Content mapping for apps — there will be no uplift. This feature is intended to map to organic/live content only.

Choose a Content mapping for apps implementation method

There are two different ways to implement Content mapping for apps:

  • Exact URL matching
  • Contextual matching

Publishers can freely use both implementation methods in different parts of the app to suit their needs.

Content mapping for apps does not support URL shorteners (that is, URLs in the form of Please pass in the full URL when setting up Content mapping for apps.

Exact URL matching

With Exact URL matching, you can link the exact URL to all parts of the app.

URLs should always be generated dynamically and sent with/derived from the content that the server sends to the app. They should be generated so the content at the destination URL closely matches what the app is displaying, even if the presentation/design of the app or website changes.


  • News Article on - "Man Bites Dog"
    • Exact URL match: ""
For optimal performance, publishers should map the exact page/section that's equivalent to the content being viewed in the app. Please don’t send just the homepage URL from your mobile website and map it to all parts of the app.

Google will use crawled content from this corresponding webpage and target ads relevant to this content, in addition to the traditional targeting mechanisms used by AdMob/Ad Manager advertisers.

Contextual matching

With Contextual matching, Google can find the URL to use with Content mapping for apps for you.

Instead of passing in a full URL to match, you can pass in the domain and associate a string with the content, such as the title of a news article. Google performs a URL lookup based on the text string to determine the best URL to associate for use with Content mapping for apps.

Contextual matching is a good alternative to Exact URL matching if you can’t map mobile app content to a web URL.


  • News Article on - "Man Bites Dog"
    • Contextual match: " Man Bites Dog"

Content mapping for apps performance tips

For optimal performance, publishers should do the following:

  • Choose the best URL/contextual match to map to each part of the app — the more granular the better.
  • All parts of the app that can be mapped to a webpage should be linked.
    Low-content/context pages (for example, homepages) still benefit from placement targeting in most cases.
  • Use Ad Manager or AFC display ads on the mobile website referenced by the passed URL.
  • Consider using both implementation methods (Exact URL and Contextual matching) to completely map all parts of the app.

Exact URL matching tips

  • Ensure that all URLs are valid.
  • Choose the URLs that will maximize performance. Here are examples of how you can choose content URLs for a news app:
    • Best: Send content URLs for each article page dynamically when the app loads the content. (for example, "").
    • Good: Send content URLs for each major section of the website. (for example, "").
    • OK: Send the main homepage as the content URL when the app shows the home screen. (for example, "").

Contextual matching tips

  • Think about text strings that can be consistently pulled from different parts of the app and will help identify the content for matching.
    Examples include:
    • Page header name
    • Article titles
    • The first sentence of an article
    • Zip code + city (for localized content)

Implement the code

Publishers simply need to include an extra contentUrl parameter on their ad requests to Ad Manager or AdMob.

The value of the contentUrl will differ depending on the implementation type:

  • Exact URL matching: contentUrl = "<full url of the webpage>"
    For example: contentUrl = @""
  • Contextual matching: contentUrl = "<domain> <text string>"
    For example: contentUrl = " Man Bites Dog"


First, download the latest Google Mobile Ads SDK for iOS .


Google Mobile Ads SDKs for Android and iOS that are lower than version 7.0.0 are not supported.


Next, with the GADRequest object that is used to make an ad requests, set the contentURL property before loading the ad request. The property should be set to the mobile web URL corresponding to the content being shown in the app.

For example:

// GADRequest
*request = [GADRequest request];
request.contentURL = @"";

// Assuming your GADBannerView is named "bannerView_". [bannerView_ loadRequest:request];
GADRequest *contextual_request = [GADRequest contextual_request]; contextual_request.contentUrl = @" content title";

// Assuming your GADBannerView is named "bannerView_".
[bannerView_ loadRequest:contextual_request];


First, download and set up the latest Google Play Services SDK .

Next, using the AdRequest (for AdMob or Ad Manager) or PublisherAdRequest (for Ad Manager) object that is used to make an ad request, use the setContentUrl() method before loading the ad request. The property should be set to the mobile web URL corresponding to the content being shown in the app.

For example, for AdMob or Ad Manager:

adRequest = new AdRequest.Builder().setContentUrl("") .build();

// Assuming your AdView is named "adView".
AdRequest contextual_adRequest = new AdRequest.Builder().setContentUrl(" content title").build();

// Assuming your AdView is named "adView".

For Ad Manager:

adRequest = new PublisherAdRequest.Builder().setContentUrl("").build();

// Assuming your AdView is named "adView". adView.loadAd(adRequest); PublisherAdRequest contextual_adRequest = new PublisherAdRequest.Builder().setContentUrl(" content title").build();

// Assuming your AdView is named "adView".
Was this helpful?
How can we improve it?

Need more help?

Sign in for additional support options to quickly solve your issue

‘My AdMob Help Page’ - your personalized Help Page to help you thrive on AdMob.

Introducing our newly revamped My AdMob Page,  a personalized Help page that houses relevant information for your account.

You can better maintain your account health, ensure necessary setup is completed and have the right optimization tips targeted to your apps. Stay tuned for more!

Learn more

Clear search
Close search
Google apps
Main menu
Search Help Center