Campaigns- Concept Guide
Introduction
Multi-Seller campaigns are the original Marketplace Performance Outcomes (MPO) model. They allow many marketplace sellers to share a single campaign configuration and participate in a pooled optimisation strategy.
Key characteristics
- A single campaign serves many sellers.
- Targeting, optimisation goal, and bidding strategy are shared.
- Budget is primarily managed at the campaign level for each active seller.
You control:
- Which sellers participate.
- How aggressively they bid.
- How much budget each seller can consume.
What you can do with the MPO API
- Discover and manage marketplace sellers.
- Link sellers to Multi-Seller campaigns.
- Control participation via CPC bids and budgets.
- Monitor performance at campaign and seller level.
Audience
- Marketplace integrators.
- Technical leads / architects.
- Developers needing a conceptual understanding before API implementation.
Core Entities and Identifiers
Overview
| Entity | Description |
|---|---|
| Advertiser | Marketplace business entity |
Campaign ({{campaignId}}) | Shared campaign configuration |
Seller ({{sellerId}}) | Marketplace merchant |
Seller-Campaign ({{sellerCampaignId}}) | Seller participation in a campaign |
| Budgets | Campaign-level and seller-level spend controls |
Advertiser
- Represents your marketplace in Criteo.
- Hosts one or more MPO campaigns.
- Retrieved via Marketing Solutions APIs.
Multi-Seller Campaign ({{campaignId}})
{{campaignId}})Shared campaign across multiple sellers, configured by Criteo (not via MPO API).
Defines:
- Optimisation goal (traffic, conversions, revenue).
- Bidding strategy (typically CPC).
- Targeting and audiences.
- Creative formats and placements.
Does:
- Spend campaign-level budgets.
- Serve ads with products from multiple sellers.
Does not:
- Represent a single seller.
- Store seller-specific bids or budgets.
Seller ({{sellerId}} / {{sellerName}})
{{sellerId}} / {{sellerName}})- Represents a merchant in your marketplace.
sellerName:
- Comes from your catalog (e.g.
seller_id). - Case-sensitive.
sellerId:
- Internal MPO identifier.
- Retrieve via:
GET /marketplace-performance-outcomes/sellers?sellerName={{yourSellerIdentifier}}Use consistent
sellerNamevalues to avoid duplicate sellers.
Seller-Campaign ({{sellerCampaignId}})
{{sellerCampaignId}})Represents the relationship between a seller and a campaign.
- Links: (
{{sellerId}},{{campaignId}}) - Automatically created by MPO (one per seller per MPO campaign); you then configure its CPC bid via the MPO API.
Defines:
- CPC bid
- Participation state
Initially, a seller-campaign may be suspended (for example, NoBudgetDefined) until you set bids and budgets.
Example ID:
SELLER_123.CAMPAIGN_456
Budgets
| Type | Description |
|---|---|
| Campaign-level | Shared across all sellers |
| Seller-level | Optional per seller-campaign |
Campaign-Level Budgets
- Managed via Criteo or general APIs.
- Global cap for campaign spend.
- Should be set high enough to cover (or be higher than) the sum of active seller-level budgets; otherwise you may see under-delivery even when per-seller budgets remain.
Seller-Level Budgets
- Managed via MPO API:
POST /marketplace-performance-outcomes/budgets
GET /marketplace-performance-outcomes/budgetsUse cases:
- Cap seller spend.
- Schedule campaigns.
- Apply different strategies per seller.
Access and Enablement
Requirements
- MPO enabled for your advertiser.
- At least one Multi-Seller campaign exists.
- API permissions configured with Manage Campaign permissions.
Potential issues
- Authorization errors.
- Validation errors.
Campaign Setup Flow
-
Request setup
Provide:- Advertiser details.
- Business goals.
- Seller distribution.
-
Criteo configuration
- Campaign structure.
- Targeting and creatives.
- MPO features.
-
Receive configuration
campaignId.- Constraints (budgets, CPC ranges, geos).
Prerequisites
Ensure you have:
- Product catalog with a seller field.
- OAuth2 authentication.
- Required API scopes.
Endpoints:
/marketplace-performance-outcomes/sellers
/marketplace-performance-outcomes/seller-campaigns
/marketplace-performance-outcomes/budgets
/marketplace-performance-outcomes/stats/...
Budget Management
Overview
| Component | Role |
|---|---|
| Campaign Budget | Total available spend |
| CPC Bids | Seller competitiveness |
| Seller Budgets | Optional caps per seller |
Campaign Budgets
- Global spend limit.
- Must be large enough to support sellers.
Seller-Campaign Bids (CPC)
- Higher CPC > more exposure.
- Lower CPC > reduced spend.
IsSuspended = true/falsecontrols participation alongside CPC.
Seller-Level Budgets
- Cap or schedule seller spend.
- Associated with a seller-campaign.
Behaviour:
- May reset daily.
- May have start/end dates.
- Can stop delivery when exhausted.
Product & Creative Behavior
- Shared dynamic ads across sellers.
- Products from multiple sellers can appear together.
Key points:
- No per-seller
productSet(Single-Seller only). - Products are only eligible when the seller is active (positive CPC and available budget). Campaign targeting (geo, device, audiences) still applies on top, but is not the main factor determining basic product eligibility.
Typical Workflows
1. Onboard Sellers
Steps:
- Confirm ingestion:
GET /marketplace-performance-outcomes/sellers?sellerName={{seller}}- Confirm campaign:
- Valid
campaignId. - Budget configured.
- Valid
- Create seller-campaign.
- Set CPC.
- Add seller budgets (optional).
2. Adjust Spend per Seller
- Retrieve current setup.
- Choose control method:
- CPC → performance tuning.
- Budget → hard cap.
Actions:
- Increase CPC → scale.
- Decrease CPC → reduce.
3. Suspend / Resume Seller
Suspend:
IsSuspended = trueon the relevant budget and/or- Budget inactive.
Resume:
IsSuspended = falseon the associated budget.- Ensure budgets are active.
4. Monitor & Troubleshoot
Common checks
| Issue | Check |
|---|---|
| No delivery | Seller exists, CPC > 0, budgets active |
| Low delivery | CPC too low, budget limited |
| Under-spend | Campaign budget too small |
| Over-spend | Budget configuration / reset behaviour |
Application permissions
For multi-seller MPO integrations, your application needs at least the Campaign – Manage permission on the relevant advertiser accounts.
Updated 2 days ago