Managing Campaigns

A MPO-Campaign is a course of action to advertise the products of your sellers.


 

Adding Campaigns

Campaigns are not added with the API. Instead, they are created, started and stopped by your Technical Solution engineer.


 

Managing Seller-Campaigns

A Seller-Campaign contains all the information relative to the advertisement of the products of a Seller in a Campaign. In particular it contains information about bid and status:

bid
Bid specified for this Seller in this Campaign

suspendedSince
Date and time since we stopped delivering adds for this Seller in this Campaign

suspensionReasons
List of reasons why the campaign is suspended (possible values are: NoMoreBudget, ManuallyStopped, NoBudgetDefined, NoCpcDefined, RemovedFromCatalog)


 
Every Seller-Campaign is identified by:

sellerId
SellerId of the seller associated to this Seller-Campaign

campaignId
CampaignId of the MPO-campaign associated to this Seller-Campaign


 

Adding Seller-Campaigns

Seller-Campaigns get automatically created for every Campaign and every Seller in your feed.

  • New Seller-Campaigns are created inactive by default (suspendedSince flag is set to the moment of creation)

     

Getting Seller-Campaigns

To see what Seller-Campaigns are available you can make following query:


/marketplace-performance-outcomes/seller-campaigns
[{
    "id": "1.10001",
    "suspendedSince": "2018-07-30T18:00:13.333",
    "suspensionReasons": ["NoMoreBudget"],
    "sellerId": "1",
    "campaignId": 10001,
    "bid": null
},{
    "id": "2.10001",
    "suspendedSince": "2018-09-03T09:00:23.8",
    "suspensionReasons": ["ManuallyStopped"],
    "sellerId": "2",
    "campaignId": 10001,
    "bid": null
},{
    "id": "3.10001",
    "suspendedSince": "2018-09-03T09:00:23.8",
    "suspensionReasons": ["NoCpcDefined"], 
    "sellerId": "3",
    "campaignId": 10001,
    "bid": null
}]

  

Get specific Seller-campaign

You can also fetch the details of a single Seller-campaign using the following request:

/marketplace-performance-outcomes/seller-campaigns/{sellerCampaignId}

Below is the example of the response:

{
  "id": "543210.123456",
  "sellerId": "543210",
  "campaignId": 123456,
  "bid": 1.55,
  "suspendedSince": "2018-07-30T15:15:24.813",
  "suspensionReasons": [
    "NoMoreBudget"
  ]
}

An active seller campaign meets these conditions:

  • The suspendedSince field is null.
  • The bid value is greater than zero.
  • The bid currency matches the bidCurrency of the related campaign.

Additionally, an active seller campaign must have an active total budget (capped or uncapped). It may also have an active daily budget to further restrict spending.

📘

Suspension reasons:

  • ManuallyStopped: The campaign has been manually paused, independent of other suspension causes.
  • NoBudgetDefined: No valid budget is linked to the campaign.
  • NoCpcDefined: No cost-per-click (CPC) has been set for the campaign.
  • NoMoreBudget: The current budget of the campaign has been fully used.
  • RemovedFromCatalog: All products in the campaign have been removed from the catalog.
  • NotYetStarted: The campaign is newly created and has not yet been processed.

Get a collection of budgets for selected Seller-Campaign

The following endpoint retrieves a list of budgets for the specified seller campaign, applying any optional filters provided.
If no filters are set, return all accessible budgets except those with an endDate in the past.
When multiple filters are applied, only budgets meeting all criteria are included.

/marketplace-performance-outcomes/seller-campaigns/{sellerCampaignId}/budgets

Below is the example of the response:

[
  {
    "id": "6907877",
    "sellerId": "10624700",
    "campaignIds": [
      225662
    ],
    "budgetType": "Daily",
    "amount": 12.0000,
    "startDate": "2021-02-25",
    "endDate": "Never",
    "spend": null,
    "status": "Current",
    "isSuspended": false
  }
]

You can apply the following query parameters to the endpoint to specify filters:

ParameterDefinitionTypeRequired?
endAfterDateReturns budgets ending after the specified date (yyyy-MM-DD). Defaults to only active (not ended) budgets if omitted.stringNo
sellerCampaignIdFilters budgets belonging to the specified seller campaign.stringYes
startBeforeDateReturns budgets starting on or before the specified date (yyyy-MM-DD).stringNo
statusFilters budgets by their status. Possible values: Archived, Current, Scheduled.stringNo
typeFilters budgets by the specified budget type.stringNo
withBalanceReturns only budgets with a positive balance.booleanNo
withSpendReturns budgets with a positive spend amount.booleanNo

Starting Seller-Campaigns

In order to start delivering ads for a Seller in a Campaign, the Seller-Campaign needs to :

When a Seller-Campaign becomes inactive, the suspendedSince flag is null.


 

Stopping Seller-Campaigns

In order to stop delivering ads for a Seller in a Campaign, you can do one of the following actions :

  • set the bid of the Seller-Campaign to null (see "Setting the Bid for a given Seller-Campaign" section)
  • suspend the current budget (see "Suspend a Budget" section)
  • remove products of this Seller from the feed (if you have several MPO-Campaigns, this will also stop the Seller in the other MPO-Campaigns)

When a Seller-Campaign becomes inactive, the suspendedSince flag is set to the current date.


 

Setting the Bids of Seller-Campaigns

In order to have a Sellers active in the campaign, you have to specify the bids that will be used for these Sellers in the given Campaign.


/marketplace-performance-outcomes/seller-campaigns
[{
    "id": "1.10001",
    "bid": 0.3
},{
    "id": "2.10001",
    "bid": 0.6
},{
    "id": "3.10001",
    "bid": 0.5
}]

  

🚧

Note that the ID is defined by “seller ID” dot “campaign ID” (e.g 1.10001 for seller ID 1 and campaign 10001).