Content mapping for apps

Make more money from your dynamic app content

Content mapping for apps (a.k.a. Content URL for in-app) provides content-based targeting in Google Ad Manager and AdMob for partners with dynamic app content, such as traditional media publishers or retail product descriptions. Publishers with matching web and app content can now show contextually relevant ads on their apps.

Contextual targeting delivers relevant ads to users based on the type of content they consume. With Content mapping for apps, mobile app developers can now take advantage of contextual targeting based on the content currently being shown in their app. This improves the experience for:

  • Developers: 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: More easily see ads that are relevant to them.

Most app content is embedded directly in the app, making it impossible to crawl and index. Content mapping for apps solves the issue by allowing 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 understand the content in the app, and is therefore able to display contextually relevant ads on 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. (e.g., use www.example.com, not m.example.com).

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 (i.e., URLs in the form of goo.gl/shorturl123). 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.

Example:

  • News Article on www.googleynews.com - "Man Bites Dog"
    • Exact URL match: "http://www.googleynews.com/2015/10/01/man-bites-dog.html"
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 easily map mobile app content to a web URL.

Example:

  • News Article on www.googleynews.com - "Man Bites Dog"
    • Contextual match: "site:www.googleynews.com 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 (e.g., 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. (e.g., "http://www.googleynews.com/2014/06/01/man-bites-dog.html").
    • Good: Send content URLs for each major section of the website. (e.g., "http://www.googleynews.com/sports/").
    • OK: Send the main homepage as the content URL when the app shows the home screen. (e.g., "http://googleynews.com").

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 while being easy to implement.
    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 = @"http://www.googleynews.com/2015/10/01/man-bites-dog.html"
  • Contextual matching: contentUrl = "<domain> <text string>"
    For example: contentUrl = "site:www.googleynews.com Man Bites Dog"

iOS

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

 

As of January 23, 2018, we no longer support Android and iOS Google Mobile Ads SDKs lower than version 7.0.0.

 

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:

http://www.my-mobile-website.com/content.html GADRequest *request = [GADRequest request]; request.contentURL = @"http://www.my-mobile-website.com/content.html"; // Assuming your GADBannerView is named "bannerView_". [bannerView_ loadRequest:request]; GADRequest *contextual_request = [GADRequest contextual_request]; contextual_request.contentUrl = @"site:www.my-mobile-website.com content title"; // Assuming your GADBannerView is named "bannerView_". [bannerView_ loadRequest:contextual_request];
 

Android

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:

http://www.my-mobile-website.com/content.html AdRequest adRequest = new AdRequest.Builder() .setContentUrl("http://www.my-mobile-website.com/content.html") .build(); // Assuming your AdView is named "adView". adView.loadAd(adRequest); AdRequest contextual_adRequest = new AdRequest.Builder() .setContentUrl("site:www.my-mobile-website.com content title") .build(); // Assuming your AdView is named "adView". adView.loadAd(contextual_adRequest);
 

For Ad Manager:

http://www.my-mobile-website.com/content.html PublisherAdRequest adRequest = new PublisherAdRequest.Builder() .setContentUrl("http://www.my-mobile-website.com/content.html") .build(); // Assuming your AdView is named "adView". adView.loadAd(adRequest); PublisherAdRequest contextual_adRequest = new PublisherAdRequest.Builder() .setContentUrl("site:www.my-mobile-website.com content title") .build(); // Assuming your AdView is named "adView". adView.loadAd(contextual_adRequest);
Was this helpful?
How can we improve it?