Overview

The Sell Marketing API allows sellers to manage and optimize their marketing efforts for their eBay listings, giving their products more visibility. Sellers can use the API methods to create Promoted Listings ad campaigns, create discount promotions, and create and send email campaigns.

API Use Cases

Creating and managing Promoted Listings general strategy campaigns
Creating and managing Promoted Listings priority strategy campaigns
Creating and managing Promoted Offsite campaigns
Creating and retrieving Promoted Listings and Promoted Offsite reports
Creating and managing discounts
Creating and retrieving discount reports
Creating and managing a store email campaign
Creating and managing Promoted Listings general strategy campaigns

General strategy campaigns use the Cost Per Sale (CPS) funding model and leverage the eBay Recommendation API to retrieve recommendations on which listings could benefit from a Promoted Listings campaign, as well as the trending bid percentages for the listings that will be promoted.

There are two primary ways to create a general strategy campaign, each of which provide different methods for adding listings to the campaign: key-based campaigns and rules-based campaigns. Key-based campaigns allow sellers to manually add listings to a campaign, while rules-based campaigns select listings to add to the campaign based on a pre-defined set of listing criteria, such as a certain brand of an item. 

The Sell Marketing API approaches used to create and manage a Promoted Listings general strategy campaign are discussed below:

Banner image

  1. Create and set up the structure of a Promoted Listings campaign using createCampaign and configure the following required fields.
  2. Set up the funding strategy for the general strategy campaign by configuring the following fundingStrategy fields: 
  3. Create a rules-based or key-based campaign:
    • To create a key-based campaign, manually add one or more active listings to an existing campaign using one of the following methods. With each of these four methods, the campaign ID is passed in as a path parameter.

Note: The findListingRecommendations method of Recommendation API can be used to retrieve recommendations for which listings will perform the best in your Promoted Listings campaign, as well as the trading bid percentages for these listings.

  • Use bulkCreateAdsByListingId or createAdsByListingId to add one or more listings to a Promoted Listings campaign using the unique identifier of the listing generated by the Trading API or Inventory API.
  • Use bulkCreateAdsByInventoryReference or createAdsByInventoryReference to add one or more listings to a Promoted Listings campaign using the unique identifier of a single-item or multi-variation listing generated with the Inventory API.
  • To create a rules-based campaign, specify one or more of the selectionRules criteria listed below, and listings that meet all specified criteria will be added to the campaign:

Note: There is an autoSelectFutureInventory boolean that can be included and set to true if the seller wants any future listings matching the criteria to be added to the campaign.

  • brands: An array of brand names are specified here, and listing with the products that have one of the brand names will be eligible to be added to the campaign.
  • categoryIds: An array of eBay leaf category IDs or eBay Store category IDs are specified here, and listings in one of these eBay or eBay Store categories will be eligible to be added to the campaign.
  • listingConditionIds: An array of eBay item condition IDs are specified here, and listings using one of these item conditions will be eligible to be added to the campaign.
  • maxPrice and/or minPrice: A minPrice and/or maxPrice threshold may be added as criteria. The sale price of the item must be within these thresholds to be eligible to be added to the campaign.

Below are the other methods applicable to managing general strategy campaigns:

Creating and managing Promoted Listings priority strategy campaigns

Priority strategy campaigns use the Cost-Per-Click (CPC) funding model and leverage the eBay Marketing API to retrieve suggestions for listings, keywords, and bids for the campaign.

There are two primary ways to create a priority strategy campaign, each of which provides different methods for configuring the campaign: Manual targeting campaigns and Smart targeting campaigns. Manual targeting campaigns offer sellers complete control over campaign setup and optimization, while smart targeting campaigns offer easy setup and automatically optimize the campaign for the seller.

The Sell Marketing API approaches used to create and manage Promoted Listings priority strategy campaigns are discussed below:

Manual targeting campaign with manual setup

Manual targeting campaigns with manual setup allow sellers to have complete control over the listings, keywords, and keyword bids associated with the campaign.

Banner image

  1. Create and set up the structure of a manual targeting campaign using createCampaign and configure the following required fields:
  2. Optionally, use suggestItems to retrieve eBay suggested listings for a CPC Promoted Listings campaign.
  3. Create an ad group for the campaign using createAdGroup and specify the defaultBid value for the ad group.
  4. Add listings to the ad group using bulkCreateAdsByListingId or createAdsByListingId.
  5. Optionally, use suggestKeywords to retrieve keyword recommendations for the ad group and its listings, and use suggestBids to see which bids are recommended for the specified keywords.
  6. Use bulkCreateKeyword or createKeyword to add keywords to the ad group, and optionally use bulkCreateNegativeKeyword or createNegativeKeyword to add negative keywords to the ad group.

Manual targeting campaign with quick setup

Quick setup campaigns allow sellers to expedite the creation of the campaign. They only need to provide basic information, and eBay will handle the rest.

Banner image

  1. Use setupQuickCampaign to expedite the creation of Promoted Listings priority campaign. This campaign will be saved in draft status.
  2. Referencing the campaignId value returned in the setupQuickCampaign Location header, use launchCampaign to launch the campaign.

Smart targeting campaign

Banner image

  1. Optionally, use suggestMaxCpc to retrieve the suggested maximum cost-per-click value (maxCpc) value for a smart targeting campaign, based on the specified listings and marketplace.
  2. Create and set the structure of the smart targeting campaign using createCampaign and configure the following required fields: 
  3. Add listings to the campaign using createAdByListingId or bulkCreateAdsByListingId.

Below are the other methods applicable to managing priority strategy campaigns:

Creating and managing Promoted Offsite campaigns

Promoted Offsite campaigns give sellers the ability to reach a wider audience of potential buyers by promoting their listings on external channels and increasing visibility with interested buyers.

The Sell Marketing API approaches used to create and manage a Promoted Offsite campaign are discussed below:

Banner image
  1. Optionally, retrieve the suggested budget for a Promoted Offsite campaign using suggestBudget
  2. Create and set the structure of the Promoted Offsite campaign using createCampaign and configuring the following required fields: 

Below are the other methods applicable to managing Promoted Offsite campaigns:

Creating and retrieving Promoted Listings and Promoted Offsite reports

The Marketing API provides sellers with the ability to create and retrieve reports about their Promoted Listings campaign and Promoted Offsite campaign performance. A variety of report types are available, such as listing reports, which offer a daily view of the performance of each listing in a campaign, or keyword reports, which provide keyword performance data for a specific campaign. For a full list of supported Promoted Listings report types, see ReportTypeEnum.

The Sell Marketing API methods used to retrieve Promoted Listings and Promoted Offsite reports are discussed below:

Banner image
  1. Retrieve the fields required for each Promoted Listings report type using getReportMetadata, or retrieve the required fields for a specific report type using getReportMetadataForReportType.
  2. Create a Promoted Listings report for one or more campaigns using createReportTask.  Specify the type of report being created in the reportType field, as well as any other required fields based on the specified type. 
  3. Check the status of a Promoted Listings report using getReportTasks or getReportTask. Reports often take time to generate, and will not be available for download until their status is SUCCESS.
  4. Download a Promoted Listings report using getReport.
Creating and managing discounts

Discounts Manager provides sellers with the ability to offer price discounts on an item's regular sales price.

There are two primary discount types: markdown discounts and threshold discounts. Markdown discounts are a straightforward monetary or percentage discount off the price of a listing, while threshold discounts require the buyer to meet an established threshold (such as spending x amount) before the discount triggers.

The Sell Marketing API methods used to create and manage discounts are discussed below:

Item markdown discounts

Banner image

  1. Create a markdown discount using createItemPriceMarkdownPromotion and configure the following required fields: 
    • marketplaceId: The unique identifier of the site where the discount is hosted.
    • discountBenefit: The monetary amount or percentage discount applied to the sales price.
    • startDate and endDate: The start and end date of the discount.
  2. Specify the items to be included in the discount by using either rules-based or key-based discounts: 
    • To create a key-based discount, set the inventoryCriterionType to INVENTORY_BY_VALUE, and specify the items to be included in the discount using one of the following arrays: 
      • listingIds: Use the unique identifier of a listing generated by the Trading API or the Inventory API to specify the listings you want to discount.
      • inventoryItems: Use the unique identifier of a single-item or multi-variation listing generated with the Inventory AP to specify the items you want to discount.
    • To create a rules-based discount, set the inventoryCriterionType to INVENTORY_BY_RULE, and specify one or more of the selectionRules criteria listed below, and listings that meet all specified criteria will be added to the campaign: 

Threshold discounts

Banner image
  1. Create a threshold discount using createItemPromotion and configure the following required fields: 
    • marketplaceId: The unique identifier of the site where the discount is hosted.
    • discountBenefit: The monetary amount or percentage discount applied to the sales price.
    • startDate and endDate: The start and end date of the discount.
  2. Specify the type of threshold discount through the promotionType field. The following types of discounts can be created using this method:

    • Coded Coupon: The seller offers unique coupon codes that buyers can use during checkout to receive a discount. 
    • Order Discount: The seller offers an order discount based on the order size or the amount spent by the buyer.
    • Volume Discount: The seller offers a tiered discount to buyers who purchase multiple quantities of a single item.
    • Markdown Discount: A discount amount is applied directly to eligible items.
  3. Input any required fields for the specified promotion type. For example, Coded Coupon promotions require the couponConfiguration container. Refer to the reference documentation for the required fields for each promotion type.
  4. Specify the threshold discount rules by configuring the discountSpecifications field. This field defines a set of rules that determine when the discount is applied. The following rules can be set: 

    • minAmount: The minimum dollar amount that needs to be spent on eligible items in order to qualify for the discount.
    • minQuantity: The minimum quantity of eligible items that needs to be bought in order to qualify for the discount.
    • forEachQuantity: The discount triggers each time the buyer spends the specified monetary amount on eligible items.
    • forEachAmount: The discount triggers each time the buyer purchases the specified quantity of eligible items.
  5. Specify the items to be included in the discount by using either rules-based or key-based discounts: 

    1. To create a key-based discount, set the InventoryCriterionType to INVENTORY_BY_VALUE, and specify the items to be included in the discount using one of the following arrays: 
      • listingIds: Use the unique identifier of a listing generated by the Trading API or the Inventory API to specify the listings you want to discount.
      • inventoryItems: Use the unique identifier of a single-item or multi-variation listing generated with the Inventory AP to specify the items you want to discount.
    2. To create a rules-based discount, set the InventoryCriterionType to INVENTORY_BY_RULE, and specify one or more of the selectionRules criteria listed below, and listings that meet all specified criteria will be added to the campaign: 
Below are the other methods applicable to managing item discounts:
Creating and retrieving discount reports

Sellers can track the performance of their discounts using two types of discount reports: Promotion Summary reports and Promotion reports. 

Creating and managing a store email campaign

Store email campaigns allow eBay Store owners to create and send email campaigns to subscribers, followers, and seller-defined buyer groups. Sellers can use campaigns to welcome customers, let them know about new promotions, sales, and discounts. 

The basic flow to create email campaigns using the Sell Marketing API is covered below:

Banner image
  1. Retrieve all available audiences for a specific email campaign type by using getAudiences. See CampaignTypeEnum for a list of all supported campaign types. 
  2. Create an email campaign using createEmailCampaign, specifying the audience for the campaign through the audienceCodes array and the type of email campaign through the emailCampaignType field. The following email campaign types are supported for email campaigns: 
    • Welcome: Automatically sent to new subscribers. 
    • Item Showcase: Can be sent to all subscribers, followers, or buyer groups and includes new products and collections the seller wishes to highlight.
    • Coupon: Sent to all subscribers, followers, recent buyers, or buyer groups, and includes a coupon code and up to four items this coupon can be applied to.
    • Order Discount: Sent to all subscribers, followers, recent buyers, or buyer groups, and contains can order discounts and up to ten items that this discount can be applied to.
    • Sale Event: Sent to all subscribers, followers, recent buyers, or buy groups, and contains a notice about a sale event and up to ten items that the sale can be applied to.
    • Volume Pricing: Sent to all subscribers, followers, recent buyers, or buyer groups, and contains items that are eligible for volume pricing. 
  3. Optionally, the scheduleDate field can be used to set a time and date in the future for the email campaign to be sent out. Sellers can then retrieve a preview of the email campaign using getEmailPreview before the campaign launches. 
  4. Use getEmailReport to retrieve performance data on all active email campaigns.

The following are additional methods that can be used to manage store email campaigns

Code Samples

Retrieve active Promoted Listings Priority campaigns

curl -X GET "https://api.ebay.com/sell/marketing/v1/ad_campaign?campaign_status=RUNNING&funding_strategy=COST_PER_CLICK"
-H "Authorization:Bearer OAUTH_token"

Retrieve active order discounts for US marketplace

curl -X GET "https://api.ebay.com/sell/marketing/v1/promotion?marketplace_id=EBAY_US&promotion_status=RUNNING&promotion_type=ORDER_DISCOUNT"
-H "Authorization:Bearer OAUTH_token"

Error Handling

  • If a Promoted Listings API call is failing due to an invalid marketplaceId, refer to the Promoted Listings requirements and restrictions for the supported marketplaces, and ensure you pass the appropriate marketplaceId value in the API request.
  • If a Discounts Manager API call is failing due to an invalid marketplaceId, refer to the Discounts Manager requirements and restrictions for the supported marketplaces, and ensure you pass the appropriate marketplaceId value in the API request.
  • If you receive an invalid category error when attempting to create a Promoted Listings campaign, verify the value of the category ID. Each marketplace has a select set of categories that support Promoted Listings. See Category support by marketplace for a list of categories that support Promoted listings by marketplace.
  • If you receive an error stating that you are not eligible for promotions when creating a Discounts Manager discount or a Store Email Campaign, ensure that you have an active eBay store subscription. 
  • If you receive an error stating that you are not eligible to create a Promoted Listings campaign, ensure that you have accepted the terms and conditions for your marketplace. See Supported marketplaces and seller requirements for links to the terms and conditions for each marketplace.
  • If you receive an error when attempting to create a Markdown discount, check how long the item has been listed at its current price. On certain marketplaces, items must be listed at the same price without being part of a sale for a set number of days before they can be included in a markdown discount. See markdown discount listing requirements for a list of days that an item must be listed before it is eligible for an item price markdown discount.

Best Practices

  • Use the getAdvertisingEligibility  method of the Account API v1 to check a seller’s eligibility status for each eBay advertising program.
  • To gain access to the Promoted Listings priority advertising program, sellers must complete and submit an Application Growth Check.
  • Sellers using Promoted Listings can leverage the Notification API to receive account notifications for their campaigns by subscribing to the PLA_CAMPAIGN_BUDGET_STATUS alert type for notifications regarding priority campaign updates.