Skip to main content

Overview

PMPs (Private Marketplaces) are direct inventory relationships and deals with premium publishers. They provide access to high-quality inventory at preferred pricing, often with exclusive access to premium placements and first-party audience data.
Premium Inventory: PMPs typically offer higher-quality inventory with better viewability, brand safety, and performance compared to open marketplace inventory.

PMP Benefits

Quality Advantages

  • Premium Inventory: Access to high-quality, brand-safe placements
  • Better Performance: Higher viewability rates and engagement metrics
  • Brand Safety: Enhanced content controls and publisher vetting
  • Exclusive Access: Priority access to limited premium inventory

Commercial Benefits

  • Preferred Pricing: Negotiated rates often below open market prices
  • Volume Discounts: Better rates for committed spend levels
  • Payment Terms: Extended payment terms and flexible arrangements
  • Performance Guarantees: SLAs for delivery, viewability, and brand safety

Managing PMPs

Creating PMP Relationships

const pmp = await createPMP({
  brandAgentId: "ba_123",
  publisherName: "Premium Publisher Network",
  dealId: "pmp_premium_2024_q1", 
  dealDetails: {
    inventoryType: "premium_video",
    floorPrice: 8.50,
    currency: "USD",
    minimumSpend: 10000,
    dealType: "preferred",
    startDate: "2024-01-01",
    endDate: "2024-03-31"
  },
  targeting: {
    geoTargeting: ["US", "CA", "GB"],
    deviceTypes: ["desktop", "mobile"],
    contentCategories: ["business", "technology", "lifestyle"]
  },
  terms: {
    paymentTerms: "net_45",
    viewabilityGuarantee: 0.85,
    brandSafetyLevel: "strict",
    frequencyCapSupport: true
  }
});

Listing Available PMPs

const pmps = await listPMPs({
  brandAgentId: "ba_123",
  status: "active" // or "pending", "expired", "all"
});

console.log(`Found ${pmps.length} active PMPs:`);
pmps.forEach(pmp => {
  console.log(`• ${pmp.publisherName}: $${pmp.dealDetails.floorPrice} CPM`);
  console.log(`  Deal: ${pmp.dealId} (expires: ${pmp.dealDetails.endDate})`);
});

Updating PMP Terms

// Update PMP deal terms
const updatedPMP = await updatePMP({
  pmpId: "pmp_123",
  prompt: "Add Netflix CTV inventory and increase budget allocation by 20%",
  dealDetails: {
    floorPrice: 9.00, // Increased floor
    minimumSpend: 15000, // Higher commitment
    endDate: "2024-06-30" // Extended term
  },
  targeting: {
    // Expanded targeting
    geoTargeting: ["US", "CA", "GB", "AU"],
    ageGroups: ["25-34", "35-44", "45-54"]
  }
});

🎯 Natural Language PMP Optimization

Incremental optimization requests make it easy to adjust PMP parameters without recreating deal structures:
// Quality improvements
await updatePMP({
  pmpId: "pmp_789",
  changeRequest: "improve completion rates to 80% minimum"
});

// Inventory expansion  
await updatePMP({
  pmpId: "pmp_abc", 
  changeRequest: "add DOOH inventory and reduce open marketplace exposure"
});

// Budget adjustments
await updatePMP({
  pmpId: "pmp_def",
  changeRequest: "increase daily spend capacity by 25%"
});
Common PMP optimization patterns:
  • Inventory adjustments: “add more CTV inventory”, “focus on premium publishers”
  • Quality standards: “improve viewability to 90%”, “stricter brand safety filtering”
  • Budget changes: “increase spend by 30%”, “reduce floor prices by $2”
  • Performance targets: “improve completion rates”, “target lower CPMs”

DSP Integration

DSP Seat Management

PMPs often require DSP seat IDs for proper integration:
// Get available DSP seats for PMP setup
const dspSeats = await getDSPSeats({
  brandAgentId: "ba_123",
  dspName: "trade_desk" // or "dv360", "amazon_dsp", etc.
});

console.log("Available DSP seats:");
dspSeats.forEach(seat => {
  console.log(`• ${seat.name}: ${seat.seatId}`);
});

PMP Activation

// Activate PMP with DSP seat configuration
const activatedPMP = await updatePMP({
  pmpId: "pmp_456",
  dspIntegration: {
    dspName: "trade_desk",
    seatId: "seat_789",
    dealActivation: {
      bidStrategy: "fixed_price",
      budgetAllocation: 25000,
      startDate: "2024-01-15"
    }
  },
  status: "active"
});

PMP Types

Deal Categories

Preferred Deals
  • First look at inventory before open auction
  • Fixed pricing at negotiated rates
  • No guaranteed volume, but priority access
Private Auctions
  • Invitation-only auctions with selected buyers
  • Competitive bidding among invited participants
  • Higher quality than open market
Guaranteed Deals
  • Fixed volume and pricing commitments
  • Reserved inventory allocation
  • Performance guarantees and SLAs

Inventory Types

Premium Video
  • High-viewability video placements
  • Brand-safe content environments
  • Connected TV and premium streaming inventory
Premium Display
  • Above-the-fold display placements
  • High-engagement publisher sites
  • Mobile and desktop premium positions
Audio/Podcast
  • Premium podcast advertising inventory
  • Music streaming platform placements
  • High-attention audio environments

Performance Monitoring

Key PMP Metrics

  • Delivery Rate: Actual spend vs. committed minimums
  • CPM Performance: Actual CPM vs. floor pricing
  • Viewability: Measured viewability vs. guaranteed thresholds
  • Brand Safety: Content categorization and safety scores
  • Audience Quality: Engagement and conversion metrics

PMP Optimization

// Monitor PMP performance and adjust strategy
const pmpPerformance = await analyzePMPPerformance({
  pmpId: "pmp_123",
  timeframe: "30d",
  metrics: [
    "delivery_rate",
    "average_cpm", 
    "viewability_rate",
    "brand_safety_score",
    "conversion_rate"
  ]
});

// Optimize based on performance
if (pmpPerformance.viewability_rate > 0.90) {
  // High-performing PMP - increase allocation
  await adjustPMPBudget({
    pmpId: "pmp_123",
    newBudgetAllocation: 35000
  });
}

Integration with Campaign Strategy

PMP in Campaign Planning

// Create campaign with PMP inventory preference
const campaign = await createCampaign({
  brandAgentId: "ba_123",
  name: "Premium Brand Campaign",
  inventoryStrategy: {
    preferredPMPs: ["pmp_123", "pmp_456"],
    fallbackToOpenMarket: true,
    pmpBudgetAllocation: 0.70 // 70% of budget to PMPs
  },
  qualityThresholds: {
    minimumViewability: 0.80,
    brandSafetyLevel: "strict",
    premiumInventoryPreference: true
  }
});

PMP vs Open Market Strategy

  • Use PMPs for: Brand awareness, premium positioning, high-value audiences
  • Use Open Market for: Scale, cost efficiency, broad reach campaigns
  • Hybrid Approach: Combine PMPs for quality with open market for volume

Best Practices

Deal Negotiation

  • Volume Commitments: Negotiate based on realistic spend forecasts
  • Performance Guarantees: Include viewability and brand safety SLAs
  • Flexible Terms: Build in adjustment mechanisms for performance issues
  • Renewal Options: Secure favorable renewal terms for successful deals

Portfolio Management

  • Diversify Publishers: Don’t over-rely on single publisher relationships
  • Monitor Performance: Regular review of PMP vs. open market performance
  • Budget Allocation: Balance PMP commitments with campaign flexibility
  • Seasonal Planning: Account for seasonal inventory pricing and availability

Technical Integration

  • DSP Setup: Ensure proper DSP seat configuration and deal activation
  • Targeting Alignment: Match PMP capabilities with campaign targeting needs
  • Creative Specs: Verify creative specifications match PMP requirements
  • Measurement Integration: Connect PMP performance to overall campaign metrics

API Reference

Create PMP

Establish PMP DealCreate new private marketplace relationship with publisher terms and conditions.

List PMPs

View Active DealsList all PMP deals for a brand agent with status and performance metrics.

Update PMP

Modify Deal TermsUpdate PMP pricing, targeting, budget allocation, and performance requirements.

DSP Seats

DSP IntegrationManage DSP seat IDs and integration requirements for PMP activation.