What you’ll accomplish
In this guide, you will:- Take a set of existing marketplace sellers and activate them in an MPO Multi-Seller campaign.
- Create seller-campaigns that link each seller to the shared campaign.
- Set per-seller campaign bids (CPC) to control delivery.
- Verify that the campaign is live by checking Multi-Seller statistics.
Who this recipe is for
This recipe is intended for:- Marketplace integrators and technical leads wiring MPO into their own tools.
- Developers who want a concrete, end-to-end example of enabling Multi-Seller via API.
- Teams onboarding many long-tail or small-budget sellers into a shared MPO campaign.
Prerequisites
Before starting, make sure all of the following are true.Feature enablement & account setup
- Your marketplace is onboarded to Marketplace Performance Outcomes (MPO).
- MPO in Multi-Seller mode is enabled for your partner / advertiser by Criteo (at the partner level).
- Marketplace Performance Outcomes (MPO) is active for your partner, and
- At least one Multi-Seller MPO campaign is configured for your advertiser, including:
- Optimization goal and bidding strategy.
- Targeting and creatives.
API access & permissions
- Your application is onboarded to Criteo Marketing Solutions.
- You can obtain an OAuth2 access token.
- For Multi-Seller usage, the application has at least:
- Campaign – Manage permission on the relevant advertiser.
Catalog & sellers
- Your product catalog is integrated and includes seller information (for example a
seller_idor equivalent field on products). - On the Criteo side, this seller field is mapped and activated for MPO so that:
- Sellers can be ingested from the catalog, and
- Exposed via the Sellers endpoints:
HTTP
- Sellers have already been ingested by MPO and exposed via the Sellers endpoint:
HTTP
sellerId values for the merchants you want to activate.
Step 1 – Discover sellers and confirm they’re available
First, retrieve the list of sellers available to your MPO advertiser and confirm the sellers you want to activate in Multi-Seller are present.1.1 List sellers
EndpointHTTP
sellerName, which typically corresponds to the seller identifier from your product data (for example, the seller_id you send in the catalog), or by advertiser if needed.
Example – filter by sellerName
HTTP
Sample response (simplified)
JSON
idis thesellerIdyou will use in the rest of the flow.sellerNametypically corresponds to the seller identifier coming from your product data (for example theseller_idor merchant ID you send in the catalog), so you can match MPOsellerIdback to your own seller records.
sellerId.
Step 2 – Link sellers to your Multi-Seller campaign (create seller-campaigns)
A seller-campaign represents the relationship between:- A seller (
sellerId), and - A Multi-Seller campaign (
campaignId),
- The Multi-Seller campaign already exists (configured by Criteo).
- Your job is to create or confirm the seller-campaigns for the sellers you want active.
2.1 Get the campaign ID
Your Criteo contact will provide the Multi-SellercampaignId to use with MPO.Keep this value as
campaignId in the following examples.
2.2 Create a seller-campaign for a seller
You can create seller-campaigns for a seller via:HTTP
Example request
JSON
campaignId– the ID of your Multi-Seller MPO campaign.bid– initial CPC bid for this seller in the campaign (in the campaign’s currency).
Example response (simplified)
JSON
idis thesellerCampaignId(often a composite of seller and campaign).- A seller-campaign is active when:
bidis positive, andsuspendedSinceisnull(no active suspension reason).
Step 3 – Set or adjust bids for each seller-campaign
Once the seller-campaign exists, you can update the CPC bid to control how aggressively that seller participates in the Multi-Seller campaign.3.1 Retrieve the seller-campaign (optional)
To confirm current configuration:HTTP
JSON
3.2 Update the bid
To change the bid (for example, from1.20 to 1.55):
HTTP
JSON
- Positive bid → seller-campaign can be active (subject to budgets and other constraints).
- Bid = 0 → effectively pauses this seller in the campaign (no delivery for this seller).
- Boost high-value sellers.
- Reduce exposure for low-performing sellers.
- Pause a seller temporarily by setting
bidto0.
Step 4 – Ensure budgets are in place
Multi-Seller campaigns require sufficient budget to deliver for all active sellers. There are two budget surfaces in MPO:-
Campaign-level or advertiser-level budgets
- Usually managed with your Criteo team or via generic Marketing Solutions budget APIs.
- Ensure at least one active budget is configured for the MPO campaign.
-
Seller-campaign budgets (optional, for finer control)
- Accessible via:
HTTP- These can be used to set per-seller caps or schedule specific time windows. For a first Multi-Seller launch, it is often enough that:
- The parent campaign budget is in place.
- Your seller-campaign bids are positive. Work with your Criteo contact to decide whether you also need per-seller budgets at launch.
Step 5 – Verify delivery with statistics
Once:- Sellers are correctly ingested,
- Seller-campaigns exist with positive bids,
- Budgets are active, you can verify delivery via the Standard Reporting API.
5.1 Check campaign-level stats
HTTP
JSON
5.2 Check per-seller performance
Use seller or seller-campaign stats to confirm each seller is delivering:HTTP
HTTP