Skip to main content
Contextual data enables real-time content-based segmentation without relying on historical user behavior. The SDK analyzes content users are viewing and generates contextual cohorts instantly.

How It Works

Implementation

Ad Targeting

Overview

In the iOS SDK, contextual cohorts are generated in real-time when you track pages or videos with URLs. The SDK automatically includes these cohorts in ad requests alongside behavioral cohorts.

Requirements

  • SDK Version: 2.0.0 or higher
  • Platform: iOS 12.0+ / tvOS 12.0+
  • Feature Enablement: Contact your Customer Success Manager
Feature Activation Required: Contextual content classification must be enabled by Permutive for your workspace. Please contact your Customer Success Manager if you’d like to use this feature.

How It Works

1

Track page with URL

Use PageTracker with a content URL
2

Content analyzed

Permutive analyzes the content at the URL (page title, main text, keywords, IAB categories, sentiment)
3

Contextual cohorts generated

Content-based segments are created in real-time
4

Automatic activation

Contextual cohorts automatically included in ad requests

Implementation

Page Tracking with Contextual Data

Simply include URLs when tracking pages - contextual analysis happens automatically:

Accessing Contextual Cohorts

Contextual cohorts are automatically included in activations with special keys:

In Current Activations

In Ad Requests

Contextual cohorts are automatically included when using googleCustomTargeting:

Performance Considerations

Content Analysis Timing

  • First analysis: May take 1-2 seconds for initial content fetch and analysis
  • Cached results: Subsequent views of the same URL use cached analysis
  • Background processing: Analysis happens asynchronously, doesn’t block UI
  • Network required: Content classification requires network connectivity

Best Practices for Performance


Privacy and Compliance

Privacy-Friendly Targeting

Data Sent for Analysis

When tracking a page with a URL:
  • URL - The page URL for content fetching
  • Title - Page title (if provided)
  • No PII - No personal information sent for classification
The URL should be publicly accessible for content analysis to work.

Error Handling

Classification Failures

Contextual classification may fail if:
  • URL is not publicly accessible
  • Content is behind a paywall or login
  • Network connectivity issues
  • Server-side analysis errors
The SDK handles failures gracefully:

Debugging Classification

Enable debug logging to see classification status:

Use Cases

Content-Aligned Advertising

Contextual + Behavioral Targeting

Combine contextual and behavioral cohorts for powerful targeting:

Contextual vs. Behavioral Cohorts

In the SDK, contextual cohorts use activation keys dfp_contextual and appnexus_adserver_contextual, while behavioral cohorts use dfp and appnexus_adserver.

When to Use Each

Use Behavioral Cohorts When:
  • Building long-term audience segments
  • Retargeting campaigns
  • Personalization based on user history
  • Lookalike modeling
Use Contextual Cohorts When:
  • Real-time content alignment needed
  • Privacy regulations are strict
  • New users without history
  • Brand safety is critical
  • Cookie-less environment
Use Both When:
  • Maximum targeting precision needed
  • Combining user intent (contextual) with user interests (behavioral)
  • Premium inventory requires both signals

tvOS Considerations

tvOS Note: Contextual data works identically on tvOS. Provide URLs in the Context when creating PageTrackers for content analysis.

Troubleshooting

Problem: dfp_contextual is empty or not present.Possible Causes & Solutions:
  1. Feature not enabled
    • Contact Customer Success Manager to enable
  2. SDK version too old
    • Update to SDK 2.0.0+
  3. No URL tracked
    • Ensure you’re using PageTracker with a Context that has a valid URL
  4. Classification in progress
    • First analysis may take 1-2 seconds
    • Check again after a moment
  5. URL not accessible
    • Ensure URL is publicly accessible
    • Remove authentication requirements for analysis
  6. Network issues
    • Check device connectivity
    • Look for network errors in logs
Problem: Contextual cohorts not appearing before ads load.Solutions:
  • Start page tracking earlier in view lifecycle
  • Consider delaying ad request slightly if contextual is critical
  • Use behavioral cohorts as fallback
Problem: Cohorts don’t match content.Possible Causes:
  • URL points to different content than displayed
  • Content changed since classification
  • Cache from previous analysis
Solutions:
  • Ensure URL matches actual content
  • Use unique URLs for different content
  • Wait for cache expiry or contact support to invalidate

Best Practices

Do

  • Track pages with URLs as early as possible
  • Use publicly accessible URLs
  • Ensure URLs are stable and won’t change
  • Test with debug logging enabled
  • Use unique URLs for different content
  • Combine with behavioral targeting for best results

Don’t

  • Use authentication-protected URLs
  • Track pages without URLs (contextual won’t work)
  • Expect instant results (allow 1-2 seconds)
  • Rely solely on contextual for returning users
  • Use duplicate URLs for different content

Cohorts and Activations

Understanding user segmentation

Page Tracking

PageTracker guide

Google Ad Manager

GAM integration

Xandr Integration

AppNexus integration