Skip to main content

Overview

Creatives are the actual ad content that users see - the videos, images, text, and interactive experiences that bring your brand message to life. In the Scope3 platform, creatives are created and stored at the Brand Agent level (the advertiserโ€™s account), then referenced by multiple campaigns as needed.
Important Architecture: Creatives belong to Brand Agents, NOT to campaigns. You first create creatives in the brand agentโ€™s library, then campaigns reference those creatives. This enables reuse across multiple campaigns.

Creative Architecture

How Creatives Work

Creatives implement specific formats using assets: Key Concepts:
  • Assets - The actual media files (images, videos, text) you provide
  • Format - The AdCP specification that defines requirements
  • Creative - Implements a specific format using your assets
  • Delivery - Creative is delivered to campaigns that need that format

Asset Requirements

Important: Creative assets must be accessible via public URLs. You can either host them on your own CDN or use our MCP asset upload tools for automatic hosting.
Two Asset Hosting Options:
Host assets on your infrastructure
{
  "creative": {
    "url": "https://cdn.yourbrand.com/video.mp4",
    "headline": "Your Product", 
    "cta": "Learn More"
  }
}
Requirements: Assets must be publicly accessible with HTTPS URLs

Core Creative Concepts

1. Creative Types

๐ŸŽฌ Video

Connected TV & Online Video
  • 15s, 30s, 60s formats
  • VAST/VPAID compatible
  • Adaptive bitrate streaming
  • Captions and overlays

๐Ÿ–ผ๏ธ Display

Banner & Rich Media
  • Standard IAB sizes
  • Responsive layouts
  • Retina-ready graphics
  • HTML5 animations

๐Ÿ“ Native

In-Feed & Content
  • Headline + description
  • Sponsored content format
  • Platform-native styling
  • Multiple image ratios

๐ŸŽฎ Interactive

HTML5 & Playables
  • Rich interactive experiences
  • Game demos
  • Product configurators
  • AR/VR experiences

2. Creative Formats

Creatives implement specific formats defined by publishers and standards bodies. Each creative targets one format. Publishers define their supported formats through the Ad Context Protocol (ADCP).

3. Creative Assignment Pattern

Creatives follow a create-once, use-many pattern: Benefits:
  • Efficiency: Upload once, use everywhere
  • Consistency: Same creative across campaigns
  • Performance Tracking: See which creatives work best
  • A/B Testing: Easy creative rotation

Creative Lifecycle

Creative Creation Approaches

Choose from three approaches to create creatives:
Use existing ad server tags (e.g., Google CM360, Flashtalking)We take your ad server code and wrap it in a creative - itโ€™s a single step:
const creative = await createCreative({
  brandAgentId: "ba_123",
  name: "Campaign Creative",
  formatId: "adcp_display_300x250",
  adServerTag: "https://ad.doubleclick.net/ddm/trackclk/..."
});
Best for: Teams with existing ad server relationships How it works: Your ad server tag is passed through directly to publishers

Campaign Assignment

Creatives are assigned to campaigns during creation or via updates:
// Option 1: Assign during campaign creation
const campaign = await createCampaign({
  brandAgentId: "ba_nike_123",
  name: "Summer Sale Campaign",
  creativeIds: ["cr_video_456", "cr_display_789"], // Assign creatives
  budget: { total: 50000, currency: "USD" }
});

// Option 2: Update existing campaign
const updated = await updateCampaign({
  campaignId: "camp_abc123",
  creativeIds: ["cr_video_456", "cr_native_012"] // Replace creatives
});

Step 4: Performance Optimization

The platform automatically optimizes creative delivery based on performance:

๐Ÿ“Š Creative Rotation

Automatic A/B Testing
  • Even rotation initially
  • Performance-based weighting
  • Winner emergence over time
  • Statistical significance testing

๐ŸŽฏ Contextual Matching

Right Creative, Right Context
  • Sports content โ†’ Athletic creatives
  • News sites โ†’ Native formats
  • Entertainment โ†’ Video focus
  • Shopping โ†’ Product displays

โšก Dynamic Optimization

Real-Time Adjustments
  • Dayparting optimization
  • Device-specific selection
  • Audience resonance
  • Fatigue management

๐Ÿ”„ Format Adaptation

Cross-Platform Delivery
  • Automatic format conversion
  • Resolution optimization
  • Bandwidth adaptation
  • Platform compliance

Creative Best Practices

Quality Guidelines

Technical Requirements
  • Resolution: 1920x1080 minimum (4K preferred)
  • Frame rate: 24-30 fps standard
  • Bitrate: 10+ Mbps for HD
  • Audio: 128 kbps minimum stereo
Content Guidelines
  • Hook within first 3 seconds
  • Clear brand identification
  • Captions for sound-off viewing
  • Strong CTA in final frame
  • Multiple duration versions (15s, 30s)
Design Standards
  • High contrast for readability
  • Mobile-first responsive design
  • Retina-ready graphics (2x resolution)
  • File size under 200KB for display
Format Coverage
  • 300x250 (Medium Rectangle)
  • 728x90 (Leaderboard)
  • 160x600 (Wide Skyscraper)
  • 320x50 (Mobile Banner)
  • 300x600 (Half Page)
Content Strategy
  • Value-first messaging
  • Editorial-style writing
  • Authentic imagery
  • Subtle brand integration
Text Optimization
  • Headline: 25-40 characters
  • Description: 75-90 characters
  • Clear value proposition
  • Action-oriented CTAs

API Mapping

Core Creative Operations

Advanced Creative Tools

Common Patterns

Multi-Format Campaign Launch with MCP Asset Upload

// 1. Upload assets via MCP tools first
const assetUpload = await client.callTool({
  name: "assets_upload",
  arguments: {
    assets: [
      {
        assetType: "video",
        base64Data: videoBase64Data, // 30s hero video
        contentType: "video/mp4",
        filename: "hero-30s.mp4",
        metadata: { buyerAgentId: "ba_brand_123", tags: ["hero", "ctv"] }
      },
      {
        assetType: "image", 
        base64Data: bannerBase64Data, // Display banner
        contentType: "image/jpeg",
        filename: "banner-300x250.jpg",
        metadata: { buyerAgentId: "ba_brand_123", tags: ["banner", "display"] }
      },
      {
        assetType: "image",
        base64Data: nativeBase64Data, // Native hero image
        contentType: "image/jpeg", 
        filename: "native-hero.jpg",
        metadata: { buyerAgentId: "ba_brand_123", tags: ["native", "content"] }
      }
    ]
  }
});

// 2. Create creatives using uploaded asset URLs
const videoCreative = await createCreative({
  brandAgentId: "ba_brand_123",
  name: "Hero Video - 30s",
  type: "video",
  url: assetUpload.assets[0].publicUrl // Auto-generated GCS URL
});

const displayCreative = await createCreative({
  brandAgentId: "ba_brand_123", 
  name: "Product Banner Set",
  type: "image",
  url: assetUpload.assets[1].publicUrl
});

const nativeCreative = await createCreative({
  brandAgentId: "ba_brand_123",
  name: "Sponsored Story", 
  type: "native",
  headline: "Discover Our Latest Innovation",
  body: "Learn how our products can transform...",
  url: assetUpload.assets[2].publicUrl
});

// 3. Launch campaign with all creatives
const campaign = await createCampaign({
  brandAgentId: "ba_brand_123",
  name: "Q4 Integrated Campaign",
  creativeIds: [
    videoCreative.id,
    displayCreative.id, 
    nativeCreative.id
  ],
  budget: { total: 100000, currency: "USD" }
});

Creative Performance Analysis

// Get campaign summary with creative breakdown
const summary = await getCampaignSummary({
  campaignId: "camp_abc123",
  includeCreativePerformance: true
});

// Analyze which creatives drive performance
summary.creativePerformance.forEach(creative => {
  console.log(`${creative.name}:
    - Impressions: ${creative.impressions}
    - CTR: ${creative.ctr}%
    - Conversions: ${creative.conversions}
    - Efficiency Score: ${creative.efficiencyScore}/100
  `);
});

// Optimize based on performance
const topPerformers = summary.creativePerformance
  .filter(c => c.efficiencyScore > 80)
  .map(c => c.id);

await updateCampaign({
  campaignId: "camp_abc123",
  creativeIds: topPerformers // Focus on winners
});

Troubleshooting

Common Causes:
  • Creative not approved by publishers
  • Asset URLs not accessible (403/404 errors)
  • Format incompatible with inventory
  • File size exceeds limits
Solution: Check approval status and validate asset URLs
Diagnostic Steps:
  1. Check creative age (fatigue after 4-6 weeks)
  2. Verify audience-creative match
  3. Review competitive landscape
  4. Test new variations
Quick Fix: Refresh creative assets and test new messages
Publisher Sync Problems:
  • Spec mismatches
  • Missing required fields
  • Approval delays
Resolution: Use format discovery API to ensure compliance

Next Steps

Pro Tip: Start with 3-5 creative variations to enable meaningful A/B testing. The platformโ€™s ML optimization works best with multiple options to choose from.