Skip to main content


This method adds a listing to an existing Promoted Listings campaign using a listingId value generated by the Trading API or Inventory API, or using a value generated by an ad group ID.

For Promoted Listings Standard (PLS) campaigns using the Cost Per Sale (CPS) funding model, an ad may be directly created for the listing.

For the listing ID specified in the request, this method:

  • Creates an ad for the listing.
  • Sets the bid percentage (also known as the ad rate) for the ad.
  • Associates the ad with the specified campaign.

To create an ad for a listing, specify its listingId, plus the bidPercentage for the ad in the payload of the request. Specify the campaign to associate the ad with using the campaign_id path parameter. Listing IDs are generated by eBay when a seller creates listings with the Trading API.

For manual targeting Promoted Listings Advanced (PLA) campaigns using the Cost Per Click (CPC) funding model, an ad group must be created first. If no ad group has been created for the campaign, ads cannot be created.

Note: Ad groups are not required when adding listings to a smart targeting campaign.

For the ad group specified in the request, this method associates the ad with the specified ad group.

To create an ad for an ad group, specify the name of the ad group in the payload of the request. Specify the campaign to associate the ads with using the campaign_id path parameter. Ad groups are generated using the createAdGroup method.

You can specify one or more ad groups per campaign.

Use createCampaign to create a new campaign and use getCampaigns to get a list of existing campaigns.

This call has no response payload. If the ad is successfully created, a 201 Created HTTP status code and the getAd URI of the ad are returned in the location header.


Resource URI


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

URI parameters

campaign_idstringThis path parameter specifies the unique eBay-assigned identifier of the ad campaign for which to associate the newly created ad.

Use the getCampaigns method to retrieve campaign IDs.

Occurrence: Required

HTTP request headers

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

The table below shows additional HTTP request headers that are either required, conditionally required, or strongly recommended for this method. Other standard HTTP request headers- opens rest request components page (not in this table) can also be used, but they are optional.

Content-TypestringThis header indicates the format of the request body provided by the client. Its value should be set to application/json.

For more information, refer to HTTP request headers.

Occurrence: Required

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):

See OAuth access tokens for more information.

Request payload

Copy complete valid JSON to clipboard

Request fields

Input container/fieldTypeDescription

A unique eBay-assigned identifier for an ad group in a campaign that uses the Cost Per Click (CPC) funding model.

Use the getAdGroups method to retrieve the ad group IDs for a seller.

Note: This field is required for manual targeting campaign using the Cost Per Click (CPC) funding model.

Occurrence: Conditional


The user-defined bid percentage (also known as the ad rate) sets the level that eBay increases the visibility in search results for the associated listing. The higher the bidPercentage value, the more eBay promotes the listing.

Required if the campaign's funding model is Cost Per Sale (CPS).

The value specified here is also used to calculate the Promoted Listings fee. This percentage value is multiplied by the final sales price to determine the fee.

The Promoted Listings fee is determined at the time the transaction completes and the seller is assessed the fee only when an item sells through a Promoted Listings ad campaign.

The bidPercentage is a single precision value that is guided by the following rules:

  • These values are valid:
       4.1,   5.0,    5.5, ...
  • These values are not valid:
       0.01,    10.75,    99.99,
       and so on.

If a bid percentage is not provided for an ad, eBay uses the default bid percentage of the associated campaign.

Note: This field has a minimum value of 2.0 and a maximum value of 100.0.

Occurrence: Conditional


A unique identifier of an eBay listing.

Occurrence: Required


HTTP response headers

See HTTP response headers for details.

LocationThe location response header contains the getAd URI of the newly created ad. The URI includes the newly created adID, which you can use to reference the ad.

Response payload

This call has no payload.

Response fields

This call has no field definitions.

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.

400Bad Request
404Not Found
409Business error
500Internal Server error

Error codes

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

35001API_MARKETINGAPPLICATIONThere was a problem with an eBay internal system or process. Contact eBay Developer Technical Support for assistance.
35002API_MARKETINGAPPLICATIONInternal error. Please wait a few minutes and try the call again.
35007API_MARKETINGREQUESTThe 'bidPercentage' {bidPercentage} is not valid. The bid percentage should be a single precision value. Minimum value: {minBidPercent} , Maximum value:{maxBidPercent}.
35010API_MARKETINGREQUESTThe bidPercentage should not be provided when selected adRateStrategy is DYNAMIC for the campaign.
35010API_MARKETINGREQUESTThe bidPercentage should not be provided when selected adRateStrategy is DYNAMIC for the campaign.
35013API_MARKETINGREQUESTThe listing ID {listingId} is not valid.
35014API_MARKETINGREQUESTThe listing ID is required for this call.
35035API_MARKETINGREQUESTThe campaign with campaign id {campaign_id} has ended.
35036API_MARKETINGREQUESTAn ad for listing ID {listingId} already exists.
35045API_MARKETINGREQUESTNo campaign found for campaign id {campaign_id}.
35048API_MARKETINGREQUESTThe listing ID {listingId} is invalid or has ended.
35052API_MARKETINGBUSINESSThe category {categoryId} is not supported by the Promoted Listing service for multi-quantity listings.
35054API_MARKETINGBUSINESSThe listing ID {listingId} was created on a different marketplace than the campaign. The listing and campaign must reside on the same marketplace.
35057API_MARKETINGBUSINESSThe listing ID {listingId} does not belong to the seller making this call.
35058API_MARKETINGBUSINESSThe listing ID {listingId} is not a fixed price item. This is a requirement for a promoted listing.
35059API_MARKETINGBUSINESSThe listing ID {listingId} is not a multi-quantity item. This is a requirement for a promoted listing.
35061API_MARKETINGBUSINESSThe campaign with 'campaign_id' {campaign_id} is being synced to match the specifications of the campaign. Please wait a few minutes and try the call again.
35063API_MARKETINGBUSINESSThe campaign with 'campaign_id' {campaign_id} is ending soon. No update operations are allowed on this campaign until it ends.
35064API_MARKETINGBUSINESSThis operation is only supported for key based campaigns.
35075API_MARKETINGBUSINESSThe category {categoryId} is not supported by the Promoted Listing service for single-quantity listings.
35077API_MARKETINGBUSINESSTo use Promoted Listings, you need to improve your seller level to Top Rated or Above Standard and have enough recent sales activity.
35078API_MARKETINGBUSINESSTo gain access to Promoted Listings, you must be in good standing with recent sales activity.
35080API_MARKETINGREQUESTThe 'bidPercentage' is not supported for CPC funding model.
35089API_MARKETINGBUSINESSWe are currently testing a premium ads product with a small invite-only group. We will share more information when we are ready to expand.
36106API_MARKETINGREQUESTThe 'adGroupId' {adGroupId} is not supported for CPS funding model.
36210API_MARKETINGREQUESTNo adgroup found for adgroup id {ad_group_id}.
36219API_MARKETINGREQUESTThe ad group with ad_group id {ad_group_id} has been archived.
36221API_MARKETINGBUSINESSYou have exceeded the maximum number of ads supported in a ad group with this request. Only {maxItemsLimit} ads are allowed per ad group.
36412API_MARKETINGREQUESTCampaigns where the 'campaignTargetingType' is 'SMART' do not support ad groups. Please remove the {adGroupFieldName} and try again.


This call has no warnings.


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: Create an Ad for a Campaign by Listing ID

This sample creates an ad for the specified listing ID, sets its bid percentage to 10, and associates the ad with the specified campaign.


The inputs for this sample are bidPercentage, and listingId.



A successful call returns the HTTP status code 201 Created.

In addition, the response includes a location response header that contains the URI to the newly created ad. The returned URI also includes the ID to the newly created ad. This method has no response payload.