Skip to main content

Scope3 RTD Module

Scope3 implements the AdCP AXE (Agentic eXecution Engine) protocol to augment agentic decisions with real-time access to high-cardinality data. This guide covers technical integration with Scope3’s RTD module for various ad server combinations.

Overview

Scope3’s AXE implementation expects an OpenRTB-compatible request and returns a list of segments for inclusion, exclusion, and macros. These segments should be passed into the ad server for targeting. This integration can happen client-side (via Prebid.js), server-side (via Prebid Server), or through a custom real-time data provider integration (typically for SSPs or ad networks). Custom integrations require development work - contact Scope3 to discuss technical requirements.

Data Flow

How AXE Works

Component Roles

Campaign Setup (Offline): Buyer Agent (DSP-like):
  • Creates campaigns in Scope3
  • Defines targeting criteria
  • Sets budgets and goals
Scope3 Platform:
  • Maps campaigns to segments (axei)
  • Receives signal data via Data Attachment API
  • Syncs campaign + signal data to AXE
  • Pushes campaigns to sales agents
Signal Agents:
  • Attach contextual data to Scope3 via Data Attachment API
  • Weather, audience, inventory attributes
  • Custom publisher capabilities
Sales Agent:
  • Receives campaign from Scope3
  • Creates line item in ad server
  • Configures line item to target axei segment
  • Uploads creative with axem macro
Ad Server (GAM/etc):
  • Stores line items targeting axei segments
  • Holds creatives with axem macros

Real-time Ad Serving: Ad Server:
  • Initiates ad request to Prebid
Prebid:
  • Sends OpenRTB bid request to AXE
  • Receives segments from AXE
  • Passes key-values back to ad server
AXE (Real-time Engine):
  • Receives OpenRTB requests from Prebid
  • Uses pre-synced campaign and signal data
  • Matches campaigns to impressions
  • Returns segments (axei, axex, axem values)
Ad Server:
  • Matches line items targeting axei segment
  • Selects winning creative
  • If Scope3 creative wins: Substitutes axem macro
  • Delivers ad to user

Segment Types

Segment KeyPurposeExample
axeiInclusion targetingAudience match for campaign
axexExclusion/safetyBrand safety blocks
axemCreative macrosPersonalization values

Decide on AXE Key Names

Scope3 will use these default key names:
  • axei - Inclusion segments (1P audience matching)
  • axex - Exclusion segments (brand safety blocks)
  • axem - Creative macros
If you want Scope3 to return different key names, please change them at Settings->AXE once you log into your Scope3.com account.

Prebid.js Implementation

Install Scope3 RTD Module in Prebid

Scope3’s RTD provider module was added to Prebid in version 10.9.0. If building Prebid.js from source, include the Scope3 RTD module:
gulp build --modules=scope3RtdProvider,bidAdapter1,bidAdapter2,...
If you’re using the pre-built package from prebid.org, make sure the Scope3 module is included in your build.

Configuration

Add the Scope3 RTD provider to your Prebid configuration using this config snippet:
pbjs.setConfig({
    realTimeData: {
      auctionDelay: 100,
      dataProviders: [{
        name: 'scope3',
        params: {
          orgId: 'XXXXXX', // put your org ID here
          timeout: 100, // max time to wait for response
          debugMode: false // set to true for testing
        }
      }]
    }
  });

Prebid Server Implementation

Add the Scope3 Prebid Server module to your Prebid Server setup and add the config snippet to your configuration file. (Scope3 todo: add a full example here)

Server-to-server Implementation

See Scope3 RTD Documentation

Testing and Validation

For testing purposes, Scope3 will send a test segment until live segments are available (should be test-dnu or something similar)

Check that AXE Segments are flowing into Prebid

  1. Open your browser’s developer tools
  2. Navigate to a page with ads
  3. Look for Scope3 RTD activity in the console
  4. Verify segments are being passed through Prebid into the ad server
I