Ad Delivery Overview

Learn how Ring DAS Ad Delivery Engine works, including request processing, ad selection, and creative rendering workflows

Ad Delivery Overview

Ring DAS Ad Delivery is a high-performance, ML-powered ad serving system designed for retail media networks, publishers, and digital platforms. The Ad Delivery Engine (also known as the Bidder) handles billions of ad requests daily, making real-time decisions about which ads to serve based on targeting criteria, campaign budgets, and optimization goals.

What is Ad Delivery?

Ad Delivery encompasses the entire lifecycle of serving an advertisement to a user, from receiving an ad request to rendering the creative and tracking user interactions. Ring DAS Ad Delivery provides:

  • Real-time ad decisioning with sub-100ms response times
  • ML-based optimization for campaign performance
  • Flexible integration options (client-side SDK, server-side API, Prebid.js)
  • Advanced targeting using audiences, key-values, and contextual signals
  • Budget management with real-time pacing and frequency capping
  • Multi-format support for display, native, video, and rich media ads

Architecture Overview

Ring DAS Ad Delivery is built on a distributed, event-driven architecture designed for high availability and low latency.

graph TB
    subgraph "Client Layer"
        WEB[Web Browser]
        APP[Mobile App]
        SERVER[Server-Side]
    end

    subgraph "Integration Layer"
        SDK[DL API SDK]
        PREBID[Prebid.js Adapter]
        API[HTTP API]
    end

    subgraph "Ad Delivery Engine"
        ROUTER[Request Router]
        BIDDER[Ad Decision Engine<br/>Bidder]
        CREATIVE[Creative Selector]
        RENDER[Rendering Engine]
    end

    subgraph "Data & Decisioning"
        INVENTORY[Inventory Manager]
        AUDIENCE[Audience DB]
        CAMPAIGN[Campaign Data]
        ML[ML Models<br/>Smart Deals]
    end

    subgraph "Tracking & Analytics"
        PIXEL[DAS Pixel]
        EVENTS[Event Collector]
        REPORTS[Reporting System]
    end

    WEB --> SDK
    APP --> SDK
    SERVER --> API
    WEB --> PREBID

    SDK --> ROUTER
    PREBID --> ROUTER
    API --> ROUTER

    ROUTER --> BIDDER
    BIDDER --> CREATIVE
    CREATIVE --> RENDER

    BIDDER <--> INVENTORY
    BIDDER <--> AUDIENCE
    BIDDER <--> CAMPAIGN
    BIDDER <--> ML

    RENDER --> WEB
    RENDER --> APP
    RENDER --> SERVER

    WEB --> PIXEL
    APP --> PIXEL
    PIXEL --> EVENTS
    EVENTS --> REPORTS

Core Components

1. Ad Decision Engine (Bidder)

The Bidder is the brain of Ring DAS Ad Delivery. It processes ad requests and selects the optimal creative to serve based on:

  • Targeting criteria: Geography, device, audience segments, key-value pairs
  • Campaign eligibility: Budget availability, flight dates, frequency caps
  • Optimization goals: CTR, conversions, viewability, revenue
  • Auction mechanics: Priority-based or real-time bidding (RTB)

The Bidder uses machine learning models to predict campaign performance and optimize ad selection in real-time.

2. Creative Selector & Rendering Engine

Once the Bidder selects a winning Line Item, the Creative Selector chooses the most appropriate Creative based on:

  • Ad unit size and format requirements
  • Device capabilities (mobile, desktop, tablet)
  • Creative performance history
  • A/B testing configurations

The Rendering Engine generates the final ad markup (HTML, JavaScript, VAST) and delivers it to the client.

3. Inventory Manager

The Inventory Manager defines where ads can be served. It manages:

  • Ad Units: Named placements on websites or apps
  • Placements: Logical groupings of ad units
  • Key-Value Targeting: Custom targeting parameters (e.g., category=sports, section=homepage)
  • Floor Prices: Minimum CPM for programmatic demand
  • Scripts & Tags: Custom JavaScript for ad delivery

4. Campaign Data Store

Campaign data includes the hierarchy of DealLine ItemCreative:

  • Deals: Commercial agreements with advertisers
  • Line Items: Individual campaigns with targeting, budgets, and KPIs
  • Creatives: Ad assets (images, videos, HTML5)

This data is cached and updated in real-time to ensure the Bidder always has the latest campaign state.

5. Audience Database

The Audience database stores user segments created from:

  • DAS Pixel data: eCommerce events (product views, purchases)
  • CRM data: First-party customer information
  • Third-party segments: Integrated audience providers

Segments are evaluated in real-time during ad decisioning to enable precise targeting.

Ad Delivery Workflow

The complete ad delivery workflow consists of five phases:

sequenceDiagram
    participant User
    participant SDK/API
    participant Bidder
    participant Inventory
    participant Audience
    participant Campaign
    participant Creative
    participant Pixel

    User->>SDK/API: 1. Page Load / Ad Request
    SDK/API->>Bidder: 2. Ad Request (ad_unit, user_id, context)

    Note over Bidder: Phase 1: Validation
    Bidder->>Inventory: Validate ad_unit
    Inventory-->>Bidder: Ad Unit config

    Note over Bidder: Phase 2: User Resolution
    Bidder->>Audience: Resolve user segments (LU/AID)
    Audience-->>Bidder: User segments

    Note over Bidder: Phase 3: Ad Selection
    Bidder->>Campaign: Find eligible line items
    Campaign-->>Bidder: Candidate line items
    Bidder->>Bidder: ML-based ranking

    Note over Bidder: Phase 4: Creative Selection
    Bidder->>Creative: Select creative for winner
    Creative-->>Bidder: Creative assets

    Note over Bidder: Phase 5: Rendering
    Bidder-->>SDK/API: Ad markup (HTML/JS)
    SDK/API-->>User: Render ad

    User->>Pixel: 6. Impression tracking
    User->>Pixel: 7. Click tracking (if clicked)
    Pixel-->>Campaign: Update metrics

Phase 1: Request Validation

When an ad request arrives, the Bidder validates:

  • Ad Unit ID: Ensures the placement exists and is active
  • Network ID: Verifies the request is for the correct tenant
  • Request format: Validates required parameters
  • Rate limits: Checks if the request is within quota

Invalid requests are rejected with appropriate error codes.

Phase 2: User Resolution

The Bidder resolves the user identity using:

  • LU (Browser ID): Third-party cookie identifier
  • AID (Account ID): Logged-in user identifier (hashed email)
  • Device ID: Mobile advertising identifier (IDFA, AAID)

User segments are fetched from the Audience database and cached for the duration of the request.

Phase 3: Ad Selection (Auction)

The Bidder performs a multi-stage auction:

  1. Filtering: Eliminates line items that don't match targeting criteria
  2. Eligibility Check: Verifies budget, flight dates, frequency caps
  3. Ranking: Scores remaining line items using ML models
  4. Winner Selection: Selects the highest-scoring line item

The auction mechanism depends on the campaign type:

  • Priority-based: Higher priority campaigns win (typical for guaranteed deals)
  • RTB (Real-Time Bidding): Highest bid wins (typical for programmatic)
  • Hybrid: Combination of priority and bid price

Phase 4: Creative Selection

Once a line item wins, the Creative Selector chooses the best creative:

  • Matches ad unit size requirements
  • Considers device capabilities
  • Applies A/B testing logic if configured
  • Selects highest-performing creative if multiple options exist

Phase 5: Rendering & Delivery

The Rendering Engine generates the final ad markup:

  • Display ads: HTML/JavaScript with image or HTML5 creative
  • Native ads: JSON response with title, description, image URL
  • Video ads: VAST XML for video players
  • Rich media: Custom HTML5 interactive creatives

The ad is delivered to the client for rendering in the browser or app.

Integration Methods

Ring DAS supports three primary integration methods for ad delivery:

1. Client-Side SDK (DL API SDK)

The DL API SDK is a JavaScript library for web browsers that handles:

  • Ad request construction and submission
  • User identification (LU/AID)
  • Creative rendering and display
  • Impression and click tracking
  • Viewability measurement

Best for: Publishers with web properties who need quick integration and built-in tracking.

// Initialize DL API SDK
window.DL_API.init({
  networkId: 7012768,
  userId: 'user_123',
  gdprConsent: true
});

// Request an ad
window.DL_API.requestAd({
  adUnitId: 'homepage_banner',
  sizes: [[728, 90], [970, 250]]
});

Learn more about DL API SDK →

2. Server-Side API

The HTTP API allows server-side ad requests for:

  • Server-side rendering (SSR) applications
  • Mobile app backends
  • AMP pages
  • Custom integrations

Best for: Developers who need full control over the ad request/response cycle.

POST /v1/ad-request HTTP/1.1
Host: api.ringdas.com
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY

{
  "network_id": 7012768,
  "ad_unit_id": "homepage_banner",
  "user": {
    "lu": "abc123",
    "aid": "hashed_email"
  },
  "device": {
    "user_agent": "Mozilla/5.0...",
    "ip": "203.0.113.42"
  },
  "sizes": [[728, 90], [970, 250]]
}

Learn more about Ad Request API →

3. Prebid.js Adapter

Ring DAS provides a Prebid.js adapter for header bidding integrations:

  • Competes with other demand sources in real-time
  • Supports standard IAB formats
  • Integrates with Google Ad Manager (GAM)
  • Works with all major SSPs and exchanges

Best for: Publishers using header bidding to maximize yield.

// Prebid.js configuration
pbjs.addAdUnits([{
  code: 'homepage_banner',
  mediaTypes: {
    banner: { sizes: [[728, 90], [970, 250]] }
  },
  bids: [{
    bidder: 'ringdas',
    params: {
      networkId: 7012768,
      adUnitId: 'homepage_banner'
    }
  }]
}]);

Learn more about Prebid.js integration →

Campaign Types & Delivery Goals

Ring DAS supports multiple campaign types with different delivery strategies:

Guaranteed Campaigns

Guaranteed campaigns have reserved inventory and delivery commitments:

  • Priority delivery: Higher priority than non-guaranteed campaigns
  • Pacing: Even delivery across the flight dates
  • Budget management: Daily budgets with rollover
  • Frequency capping: Control how often users see ads

Example use case: A brand books 10 million impressions over 30 days with even pacing.

Programmatic Campaigns

Programmatic campaigns compete in real-time auctions:

  • RTB auctions: Highest bid wins
  • Dynamic pricing: Adjust bids based on performance
  • Budget optimization: Spend budget efficiently
  • No delivery guarantee: Impressions not guaranteed

Example use case: A performance advertiser runs retargeting campaigns with dynamic CPM bids.

House Campaigns

House campaigns fill unsold inventory:

  • Lowest priority: Only serve when no paid campaigns match
  • No cost: Internal or promotional content
  • Remnant inventory: Fill empty ad slots

Example use case: Publisher promotes their own content or products in unsold ad space.

Budget Management & Pacing

Ring DAS includes sophisticated budget management to ensure campaigns deliver as planned.

Pacekeeper

The Pacekeeper component monitors campaign delivery in real-time and adjusts serving rates:

  • Compares actual delivery vs. target delivery
  • Calculates Budget Burn Deviation (BBD)
  • Adjusts campaign throttling to stay on pace
graph LR
    subgraph "Pacekeeper Logic"
        A[Actual Spend] --> C[Calculate BBD]
        B[Target Spend] --> C
        C --> D{BBD > +10%?}
        D -->|Yes| E[Reduce Serving Rate]
        D -->|No| F{BBD < -10%?}
        F -->|Yes| G[Increase Serving Rate]
        F -->|No| H[Maintain Rate]
    end

Learn more about Pacekeeper →

Frequency Capping

Frequency caps limit how often a user sees the same ad:

  • Per user: Maximum impressions per user per time period
  • Per session: Maximum impressions per browsing session
  • Per creative: Control exposure at creative level

Example: Show max 3 impressions per user per day.

Targeting Capabilities

Ring DAS provides comprehensive targeting options:

Audience Targeting

Target users based on segments:

  • Behavioral: Users who viewed products, added to cart, purchased
  • Demographic: Age, gender, location
  • Custom: First-party CRM segments
  • Lookalike: Similar users to existing customers

Contextual Targeting

Target based on page context:

  • Key-value pairs: Custom parameters (e.g., category=electronics)
  • Content categories: IAB content taxonomy
  • Keywords: Page keywords and themes

Geographic Targeting

Target by location:

  • Country: National campaigns
  • Region/State: Regional campaigns
  • City: Local campaigns
  • Postal code: Hyper-local campaigns

Device Targeting

Target by device characteristics:

  • Device type: Mobile, tablet, desktop
  • Operating system: iOS, Android, Windows, macOS
  • Browser: Chrome, Safari, Firefox, Edge
  • Connection type: WiFi, cellular, broadband

Temporal Targeting

Target by time:

  • Day of week: Weekday vs. weekend campaigns
  • Time of day: Daypart targeting (morning, evening, night)
  • Seasonality: Holiday or event-based campaigns

Performance & Scale

Ring DAS Ad Delivery is designed for massive scale:

Performance Metrics

  • Request latency: p95 < 100ms, p99 < 200ms
  • Throughput: 100,000+ requests per second
  • Availability: 99.95% uptime SLA
  • Cache hit rate: >95% for campaign data

Rate Limits

Default rate limits for ad delivery:

  • Ad requests: 10,000 requests per second per network
  • Concurrent requests: 1,000 per client IP
  • Daily impressions: No hard limit (throttled based on budget)

Learn more about rate limits →

Geographic Distribution

Ring DAS operates in multiple regions for low-latency delivery:

  • Europe: Frankfurt, London
  • Asia: Singapore, Tokyo
  • Americas: Virginia, São Paulo

Requests are automatically routed to the nearest region.

Optimization & Machine Learning

Ring DAS uses machine learning to optimize ad delivery:

Smart Deals

Smart Deals automatically adjust campaign parameters:

  • Dynamic CPM: Adjust bids based on predicted conversion probability
  • Budget allocation: Distribute budget across line items optimally
  • Audience expansion: Discover new high-performing segments
  • Creative rotation: Favor best-performing creatives

Predictive Models

The Bidder uses ML models to predict:

  • Click-through rate (CTR): Probability user will click
  • Conversion rate (CVR): Probability user will convert
  • Viewability: Probability ad will be viewable
  • Revenue: Expected revenue per impression

These predictions inform the auction ranking algorithm.

Security & Privacy

Ring DAS prioritizes user privacy and data security:

GDPR Compliance

  • Consent management: Integration with TCF 2.0 consent strings
  • User rights: Support for data access, deletion, portability
  • Data minimization: Only collect necessary data

Privacy Features

  • Contextual targeting: Target without personal data
  • Cohort-based targeting: Group-level targeting (no individual profiling)
  • First-party data: Use advertiser's own customer data

Anti-Fraud

  • Traffic validation: Detect invalid traffic (IVT)
  • Device fingerprinting: Identify suspicious patterns
  • Rate limiting: Prevent abuse and scraping

Monitoring & Troubleshooting

Ring DAS provides tools for monitoring ad delivery:

Real-Time Dashboards

  • Delivery metrics: Impressions, clicks, revenue by campaign
  • Performance trends: Hour-over-hour, day-over-day comparisons
  • Budget pacing: Actual vs. target delivery
  • Error rates: Failed requests, timeouts, invalid ads

Debugging Tools

  • Ad Inspector: Browser extension to see ad decisioning details
  • Request logs: Detailed logs of ad requests and responses
  • Test mode: Preview ads without counting impressions

Learn more about Ad Inspector →

Alerts & Notifications

Configure alerts for:

  • Under-delivery: Campaign not pacing correctly
  • Budget exhaustion: Campaign running out of budget
  • Error spikes: Increased request failures
  • Performance degradation: Latency or availability issues

Best Practices

Follow these best practices for optimal ad delivery:

For Publishers

  1. Implement lazy loading: Only request ads when needed
  2. Use refresh strategies: Refresh ads on viewable slots only
  3. Optimize ad unit placement: Place ads where they're most viewable
  4. Monitor performance: Track fill rate, viewability, revenue
  5. Test integrations: Use test mode before going live

For Advertisers

  1. Use audience targeting: Leverage first-party data for better performance
  2. Set realistic budgets: Ensure budgets support delivery goals
  3. Optimize creatives: Test multiple creative variations
  4. Monitor pacing: Check daily delivery vs. targets
  5. Analyze performance: Review reports regularly and adjust campaigns

For Developers

  1. Cache ad responses: Reduce duplicate requests
  2. Handle errors gracefully: Implement fallback ad logic
  3. Respect rate limits: Implement exponential backoff
  4. Send required parameters: Include all targeting signals
  5. Track impressions accurately: Follow IAB standards

What's Next?

Now that you understand how Ring DAS Ad Delivery works, explore these topics:

Support

Need help with Ring DAS Ad Delivery?