Skip to main content

IBM Watson

IBM Watson

DirectionSource
Environment
WebiOSAndroid
Capability
Contextual Signal
SDK RequiredYes
Product(s) Required
Core PlatformContextual

IBM Watson delivers contextual targeting capabilities, allowing publishers to serve relevant ads based on on-page content without user identifiers.

Overview

IBM Watson Natural Language Understanding (NLU) analyzes page content and classifies it into standardized categories. Our integration enriches your Pageview events with contextual labels aligned to the IAB taxonomy, with optional advanced NLU signals (e.g. concepts, entities, sentiment) where enabled. This makes it possible to build and activate privacy-safe contextual strategies without user identifiers. This integration is a Source:
  • Source: Permutive enriches Pageview events with contextual classifications from IBM Watson.
Use cases include:
  • Build contextual cohorts using IAB taxonomy labels (e.g. Sports, News/Politics).
  • Apply brand suitability and safety rules by including/excluding categories.
  • Power cookie-less targeting by using contextual cohorts across your inventory.
  • (Advanced) Use entities, concepts and sentiment for niche, high-intent targeting.
  • (Advanced) Standardize contextual labels that can be mapped into downstream activations.

Environment Compatibility

EnvironmentSupportedNotes
WebYes
iOSYes
AndroidYes
CTVNo
API DirectNo

Prerequisites

  • Permutive SDK: Deployed on your web, iOS, or Android properties where you want content classified.
  • Permutive enablement: IBM Watson must be enabled for your workspace by Permutive (quotas and thresholds are configured during enablement).
  • Accessible content: Content should be accessible to classifiers. For paywalled or bot-protected pages, configure an allow mechanism (see Setup) so classifiers can fetch full content.
  • Classification quota: Ensure your monthly classification quota covers expected volume.

Setup

1

Enable IBM Watson

Contact your Customer Success Manager (CSM) to enable IBM Watson for your workspace.
2

Configure classification settings

In the Permutive dashboard, navigate to Contextual > Catalog and locate IBM Watson. Configure your settings including:
  • Requested Types: Specify which classification types to request (Categories, Concepts, Emotion, Entities, Keywords, Sentiment)
  • Domains: Restrict classifications to specific domains to optimize quota usage. The domains shown are based on what you have defined under Settings > Domains & App names
  • Quota: Maximum monthly classification quota, managed by Permutive. Once the quota is reached, no more content will be classified until the next month
  • Selective Classifications Threshold: Set a minimum traffic threshold to classify only high-traffic URLs, optimizing quota usage. The default threshold is 20 pageviews within 24 hours before initial classification is triggered
  • XPath (IBM Watson specific): Improve classifications by specifying a selector for the article body. This ensures other content like featured articles doesn’t influence classifications. If the XPath does not return any results for a URL, a second classification request is issued without the XPath selector
3

(Optional) Configure access for paywalled content

If your site uses a paywall or bot mitigation that blocks classifier requests, configure an allow mechanism. Navigate to Contextual > Catalog > Settings and configure a URL parameter (e.g., bot-access=true) that will be appended to classification requests. Configure your paywall to allow bypass when this parameter is present. Alternatively, your DevOps team can allowlist traffic based on the Autonomous System Number (ASN) and User-Agent header of Watson requests.
4

Verify enrichment

After enablement, browse several article pages and check in your Permutive dashboard that Pageview events contain Watson classifications. You can preview classifications by hovering over the IBM Watson tile in the Catalog and clicking “Preview”. Remember that pages must meet the configured threshold before they are classified.

Data Types

With IBM Watson enabled, Permutive enriches your Pageview events with contextual data. Permutive automatically updates your event schema to include these properties. The exact schema enabled for your workspace may vary.
Standard enrichment aligned to the IAB taxonomy.
contextual.classifications.categories
list[object]
List of category classifications detected for the page. Each object contains:
  • provider (string, required): “watson”
  • value (string, required): The classification category ID (e.g., “201”). The dashboard uses the taxonomy to display human-readable names
  • taxonomy (string, required): “iab_2_0”
  • confidence (float, required): Confidence score for the classification (e.g., 0.72)
  • reason (string, optional): Explanation for why this classification was made
Additional enrichment fields may be enabled for advanced use cases.
contextual.classifications.concepts
list[object]
High-level concepts detected in the content. Each object contains:
  • provider (string, required): “watson”
  • value (string, required): The concept name (e.g., “Social network service”)
  • confidence (float, required): Confidence score from 0 to 1 (e.g., 0.41)
contextual.classifications.entities
list[object]
Named entities detected in the content. Each object contains:
  • provider (string, required): “watson”
  • value (string, required): The entity name (e.g., “Thomas J. Watson”)
  • confidence (float, required): Confidence score from 0 to 1
contextual.classifications.keywords
list[object]
Important keywords detected. Each object contains:
  • provider (string, required): “watson”
  • value (string, required): The keyword phrase (e.g., “curated online courses”)
  • confidence (float, required): Confidence score from 0 to 1
contextual.classifications.sentiments
list[object]
Sentiment analysis for the content. Each object contains:
  • provider (string, required): “watson”
  • value (string, required): The sentiment label (e.g., “positive”, “neutral”, “negative”)
  • confidence (float, required): Confidence score from 0 to 1

Troubleshooting

Confirm the URL has met the minimum traffic threshold for classification. The default threshold is 20 pageviews within 24 hours. Low-traffic or newly published pages may classify later. Contact Permutive Support to check if a specific URL has been classified or to verify your threshold configuration.
If your monthly quota is reached, new URLs will not be classified until the next month. Contact your Customer Success Manager to review quotas.
Classifier requests must be able to fetch the full article HTML. Configure your paywall to allow bypass using a URL parameter (e.g., bot-access=true). Set this in the Permutive dashboard under Contextual > Catalog > Settings, then configure your paywall system to allow access when this parameter is present in the URL. Alternatively, your DevOps team can allowlist Watson traffic based on the Autonomous System Number (ASN) and the User-Agent header.
Check that the page has sufficient on-page text and a correct canonical URL. Where needed, review advanced NLU signals or retest after content updates.

Changelog

For detailed changelog information, visit our Changelog.