Skip to main content

GET/promotion_report

Note: As of July 8th 2024, promotions are now being referred to as discounts on Seller Hub and eBay help pages. Sell Marketing API documentation has been updated to reflect this product name change, but note that no API interface changes have been made.
This method generates a report that lists the seller's running, paused, and ended discounts for the specified eBay marketplace. The result set can be filtered by the discount status and the number of results to return. You can also supply keywords to limit the report to discounts that contain the specified keywords.

Specify the eBay marketplace for which you want the report run using the marketplace_id query parameter. Supply additional query parameters to control the report as needed.

Input

Resource URI

GET https://api.ebay.com/sell/marketing/v1/promotion_report?

This method is supported in Sandbox environment. To access the endpoint, just replace the api.ebay.com root URI with api.sandbox.ebay.com

URI parameters

ParameterTypeDescription
qstringA string consisting of one or more keywords. eBay filters the response by returning only the discounts that contain the supplied keywords in the discount title.

Example: "iPhone" or "Harry Potter."

Commas that separate keywords are ignored. For example, a keyword string of "iPhone, iPad" equals "iPhone iPad", and each results in a response that contains discounts with both "iPhone" and "iPad" in the title.

Occurrence: Optional

limitstringSpecifies the maximum number of discounts returned on a page from the result set.

Default: 200
Maximum: 200

Occurrence: Optional

offsetstringSpecifies the number of discounts to skip in the result set before returning the first discount in the paginated response.

Combine offset with the limit query parameter to control the items returned in the response. For example, if you supply an offset of 0 and a limit of 10, the first page of the response contains the first 10 items from the complete list of items retrieved by the call. If offset is 10 and limit is 20, the first page of the response contains items 11-30 from the complete result set.

Default: 0

Occurrence: Optional

marketplace_idstringThis parameter specifies the eBay marketplace ID of the site for which you want the discounts report.

See MarketplaceIdEnum for supported Marketplace ID values.

Occurrence: Required

promotion_statusstringThis parameter specifies the discount state by which you want to filter the results.

See PromotionStatusEnum for supported values.

Maximum number of input values: 1

Occurrence: Optional

promotion_typestringThis parameter specifies the campaign discount type by which you want to filter the results.

See PromotionTypeEnum for supported values.

Occurrence: Optional

HTTP request headers

All requests made to eBay REST operations require you to provide the Authorization HTTP header for authentication authorization.

All other standard RESTful request headers are optional. For more information on standard RESTful request headers, see the HTTP request headers- opens rest request components page table.

OAuth scope

This request requires an access token created with the authorization code grant flow, using one or more scopes from the following list (please check your Application Keys page for a list of OAuth scopes available to your application):

https://api.ebay.com/oauth/api_scope/sell.marketing.readonly

https://api.ebay.com/oauth/api_scope/sell.marketing

See OAuth access tokens for more information.

Request payload

This call has no payload.

Request fields

This call has no field definitions.

Output

HTTP response headers

This call has no response headers.

Response payload

Response fields

Output container/fieldTypeDescription
hrefstring

The URI of the current page of results from the result set.

Occurrence: Always

limitinteger

The number of items returned on a single page from the result set. This value can be set in the request with the limit query parameter.

Occurrence: Always

nextstring

The URI for the following page of results. This value is returned only if there is an additional page of results to display from the result set.

Max length: 2048

Occurrence: Conditional

offsetinteger

The number of results skipped in the result set before listing the first returned result. This value can be set in the request with the offset query parameter.

Note: The items in a paginated result set use a zero-based list where the first item in the list has an offset of 0.

Occurrence: Always

prevstring

The URI for the preceding page of results. This value is returned only if there is a previous page of results to display from the result set.

Max length: 2048

Occurrence: Conditional

promotionReportsarray of PromotionReportDetail

A list of promotionReports contained in the paginated result set.

Occurrence: Always

promotionReports.averageItemDiscountAmount

The average item discount is the average discount that has been applied to each item being discounted. This value is calculated as follows:

totalDiscount / itemsSoldQuantity = averageItemDiscount

Occurrence: Always

promotionReports.averageItemDiscount.currencyCurrencyCodeEnum

The base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD

Occurrence: Conditional

promotionReports.averageItemDiscount.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

promotionReports.averageItemRevenueAmount

The average item revenue is the average revenue that has been received for each item being discounted.. This value is calculated as follows:

totalSales / itemsSoldQuantity = averageItemRevenue

Occurrence: Always

promotionReports.averageItemRevenue.currencyCurrencyCodeEnum

The base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD

Occurrence: Conditional

promotionReports.averageItemRevenue.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

promotionReports.averageOrderDiscountAmount

The average order discount is the average discount that has been applied to each order that has an active discount. This value is calculated as follows:

totalDiscount / numberOfOrdersSold = averageOrderDiscount

Occurrence: Always

promotionReports.averageOrderDiscount.currencyCurrencyCodeEnum

The base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD

Occurrence: Conditional

promotionReports.averageOrderDiscount.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

promotionReports.averageOrderRevenueAmount

The average order revenue is the average revenue that has been received for each order that has an active discount. This value is calculated as follows:

totalSales / numberOfOrdersSold = averageOrderRevenue

Occurrence: Always

promotionReports.averageOrderRevenue.currencyCurrencyCodeEnum

The base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD

Occurrence: Conditional

promotionReports.averageOrderRevenue.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

promotionReports.averageOrderSizestring

The average order size is the average number of items that each order contained that have an active discount. This value is calculated as follows:

itemsSoldQuantity / numberOfOrdersSold = averageOrderSize

Occurrence: Always

promotionReports.baseSaleAmount

This is the monetary amount of items purchased that have been discounted where the threshold wasn't met, so the discount was not applied.

For example, suppose you're running a "Buy 1, get 1 at 50%" discount on $5 socks. One buyer purchased only one pair of socks, so they pay the full price of $5. Here, your baseSale amount would be $5.

Occurrence: Always

promotionReports.baseSale.currencyCurrencyCodeEnum

The base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD

Occurrence: Conditional

promotionReports.baseSale.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

promotionReports.itemsSoldQuantityinteger

This is the quantity of items purchased in a threshold discount where the threshold has been met and the discount was applied.

For example, suppose you're running a "Buy 1, get 1 at 50%" discount on $5 socks. One buyer purchases two pairs of socks, so they pay $7.50 for both pairs (rather than the full price of $10). Your number of items sold (itemsSoldQuantity) would be 2 and you number of orders sold (numberOfOrdersSold) would be 1.

Occurrence: Always

promotionReports.numberOfOrdersSoldinteger

This is the number of orders sold in a threshold discount where the threshold has been met and the discount was applied.

For example, suppose you're running a "Buy 1, get 1 at 50%" discount on $5 socks. One buyer purchases two pairs of socks, so they pay $7.50 for both pairs (rather than the full price of $10). Your numberOfOrdersSold would be 1 and your itemsSoldQuantity would be 2.

Occurrence: Always

promotionReports.percentageSalesLiftstring

The percentage sales lift is the total dollar amount gained due to discounts. This value is calculated as follows:

promotionSale / totalSale = percentageSalesLift

Occurrence: Conditional

promotionReports.promotionHrefstring

The URI of the discount report.

Occurrence: Always

promotionReports.promotionIdstring

A unique eBay-assigned ID for the discount that's generated when the discount is created.

Occurrence: Always

promotionReports.promotionReportIdstring

The unique eBay-assigned ID of the discount report that is generated when the report is created.

Occurrence: Conditional

promotionReports.promotionSaleAmount

This is the monetary amount of the items sold in a threshold discount where the threshold has been met and the discount was applied.

For example, suppose you're running a "Buy 1, get 1 at 50%" discount on $5 socks. One buyer purchases two pairs of socks, so they pay $7.50 for both pairs (rather than the full price of $10). Your promotionSale amount would be $7.50.

Occurrence: Always

promotionReports.promotionSale.currencyCurrencyCodeEnum

The base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD

Occurrence: Conditional

promotionReports.promotionSale.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

promotionReports.promotionTypePromotionTypeEnum

Indicates the type of the discount, either CODED_COUPON, MARKDOWN_SALE, ORDER_DISCOUNT, or VOLUME_DISCOUNT.

Occurrence: Always

promotionReports.totalDiscountAmount

This is the monetary discount amount applied to the sale of items in a threshold discount where the threshold has been met and the discount was applied.

For example, suppose you're running a "Buy 1, get 1 at 50%" discount on $5 socks. One buyer purchases two pairs of socks, so they pay $7.50 for both pairs (rather than the full price of $10). Your totalDiscount amount would be $2.50.

Occurrence: Always

promotionReports.totalDiscount.currencyCurrencyCodeEnum

The base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD

Occurrence: Conditional

promotionReports.totalDiscount.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

promotionReports.totalSaleAmount

This is the total monetary sales amount of all items sold that were discounted.

For example, suppose you're running a "Buy 1, get 1 at 50%" discount on $5 socks. You make one sale where the buyer purchases only one pair of socks and they pay the full price of $5 (baseSale). You make a second sale where the buyer purchases two pairs of socks and they pay $7.50, for both pairs (promotionSale). Your totalSale would be $12.50. This value is calculated as follows:

baseSale + promotionSale = totalSale

Occurrence: Always

promotionReports.totalSale.currencyCurrencyCodeEnum

The base currency applied to the value field to establish a monetary amount.

The currency is represented as a 3-letter ISO 4217 currency code. For example, the code for the Canadian Dollar is CAD

Occurrence: Conditional

promotionReports.totalSale.valuestring

The monetary amount in the specified currency.

Required in the amount type.

Occurrence: Conditional

totalinteger

The total number of items retrieved in the result set.

If no items are found, this field is returned with a value of 0.

Occurrence: Always

HTTP status codes

This call can return one of the following HTTP status codes. For an overview of the status codes, see HTTP status codes in Using eBay RESTful APIs.

StatusMeaning
200Success
400Bad Request
500Internal Server Error

Error codes

For more on errors, plus the codes of other common errors, see Handling errors.

CodeDomainCategoryMeaning
38201API_MARKETINGAPPLICATIONInternal server error encountered. If this problem persists, contact the eBay Developers Program for support.
38204API_MARKETINGREQUESTThe seller is not eligible for promotions because they do not have an eBay Store or they have not accepted the terms and conditions for creating a promotion on this Marketplace, see the documentation for this call.
38211API_MARKETINGREQUESTThe offset value must be an integer value greater than or equal to zero.
38213API_MARKETINGREQUESTYou can query a limit of between 0 and 200 promotion records at a time. Update the request and resubmit the call.
38240API_MARKETINGREQUESTInvalid input for the 'promotionStatus' field. For help, see the documentation for this call.
345141API_MARKETINGREQUESTInvalid input for the 'promotionType' field. For help, see the documentation for this call.

Warnings

This call has no warnings.

Samples

New to making API calls? Please see Making a Call.

Note: Identifiers, such as order IDs or user IDs, and personal data in these samples might be anonymized or may no longer be active on eBay. If necessary, substitute current, relevant eBay data in your requests.

Sample 1: Generate Discount Level Report

This sample returns a report on the performance of a seller's discount for the specified marketplace.

Input

This sample contains marketplace_id (which is required) and the promotion_status fields. The report includes all ended discounts.

GEThttps://api.ebay.com/sell/marketing/v1/promotion_report?marketplace_id=EBAY_US&promotion_status=ENDED

Output

The response body contains the fields of the report.

Got thoughts? Click the feedback button – your insights help us improve!