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: All creative assets must be uploaded to a public CDN where we can access them. You provide URLs to your assets when creating creatives.
{
  "creative": {
    "url": "https://cdn.yourbrand.com/video.mp4",
    "headline": "Your Product",
    "cta": "Learn More"
  }
}

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.

📖 Learn About Creative Formats

Understand how AdCP formats work and how creatives implement them

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

// 1. Create video creative for CTV
const videoCreative = await createCreative({
  brandAgentId: "ba_brand_123",
  name: "Hero Video - 30s",
  type: "video",
  url: "https://cdn.brand.com/hero-30s.mp4"
});

// 2. Create display creative for retargeting
const displayCreative = await createCreative({
  brandAgentId: "ba_brand_123",
  name: "Product Banner Set",
  type: "image",
  url: "https://cdn.brand.com/banner-300x250.jpg"
});

// 3. Create native creative for content sites
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: "https://cdn.brand.com/native-hero.jpg"
});

// 4. 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.