DigiKube

Bid Strategy Guide

Strategy Overview

StrategyDescriptionWhen to Use
fixedBids a flat CPMTesting, guaranteed deals
shadedAdjusts by win rateOptimize spend efficiency
revenue_cpcOptimizes for click revenueCPC campaigns
revenue_cpaOptimizes for conversion revenueCPA campaigns
revenue_reportUses external report for calibrationWhen partner provides revenue reports
Note: Shaded and revenue strategies are mutually exclusive. A campaign uses either shading (win-rate based) or revenue optimization (eCPM based), not both.

Strategy Details

Fixed

fixed

The simplest strategy. Every bid uses the same CPM value regardless of context. Good for initial testing or when you have a fixed-price deal with an SSP.

Formula

bid = base_cpm

Required Signals

  • *None — uses configured base_cpm directly

Shaded

shaded

Shade factor is derived from win rate. Requires at least 100 bids before shading activates. Win rate is mapped linearly: 20% win rate = 1.0x (no shading), 80% win rate = 0.7x (bid 30% less). If you are winning too often, you are overbidding — shading reduces the bid to save money.

Formula

bid = base_cpm × shade_factor

Required Signals

  • *Win notifications via nurl (win URL)
  • *Loss notifications via lurl (loss URL)

Revenue CPC

revenue_cpc

Revenue Per Click (RPC) comes from click postbacks. Click-Through Rate (CTR) starts at the configured prior and updates as real data accumulates. The margin parameter controls how aggressively you bid relative to estimated value.

Formula

eCPM = RPC × CTR × 1000
bid = min(max(eCPM × margin, min_bid), max_bid)

Required Signals

  • */pb/click with CPC value (v= parameter)

Optional Signals

  • ~/pb/imp — impression confirmation

Without optional: CTR uses prior estimate (expected_ctr, default 0.012). Auto-calibrates as click data arrives.

Revenue CPA

revenue_cpa

Similar to CPC but optimizes for conversions instead of clicks. Revenue Per Conversion comes from conversion postbacks. Conversion rates are typically much lower than CTR, so this strategy needs more data volume to calibrate effectively.

Formula

eCPM = RPA × CVR × 1000
bid = min(max(eCPM × margin, min_bid), max_bid)

Required Signals

  • */pb/conv with CPA value (v= parameter)

Optional Signals

  • ~/pb/imp — impression confirmation
  • ~/pb/click — click tracking

Without optional: Conversion rate (CVR) uses prior estimate. Needs significant volume for accuracy.

Revenue Report

revenue_report

Polls an external partner API for revenue data, broken down by SubID. Computes calibration factors that adjust the eCPM model. SubID format: {campaign_id}__{dim1}__{dim2}. Calibration factors are stored in Redis with a 4-hour TTL and refreshed on each poll cycle.

Formula

eCPM = RPC × CTR × 1000 × calibration_factor
bid = min(max(eCPM × margin, min_bid), max_bid)

Required Signals

  • *External reporting endpoint configured
  • *Report endpoint returns SubID-level revenue data

Optional Signals

  • ~/pb/click, /pb/imp, /pb/conv — real-time signals supplement report data

Without optional: Without real-time postbacks, relies entirely on periodic report polling (every 1-24 hours).

eCPM / Bid Calculator

Simulate how the revenue strategies compute a bid price from your inputs.

eCPM=RPC (0.50) x CTR (0.012) x 1000=$6.00
raw bid=eCPM (6.00) x margin (0.70)=$4.20
final bid=clamp($4.20, min=$0.10, max=$5.00)=$4.20