Skip to main content

POST/ad_campaign/{campaign_id}/create_ads_by_inventory_reference

This method adds a listing that is managed with the Inventory API to an existing Promoted Listings campaign.

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

For each listing specified in the request, this method:

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

To create an ad for a listing, specify its inventoryReferenceId and inventoryReferenceType, 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.

Note: This method only applies to the Cost Per Sale (CPS) funding model; it does not apply to the Cost Per Click (CPC) funding model. See Funding Models in the Promoted Listings Playbook for more information.

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

Input

Resource URI (production)

POST https://api.ebay.com/sell/marketing/v1/ad_campaign/{campaign_id}/create_ads_by_inventory_reference

URI parameters

ParameterTypeDescription
campaign_idstringA unique eBay-assigned ID for an ad campaign that is generated when a campaign is created.

Note: You can retrieve the campaign IDs for a specified seller using the getCampaigns method.

Occurrence: Required

HTTP request headers

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

In addition, this method requires you to include the Content-Type header and its value should be set to "application/json". See HTTP request headers- opens rest request components page for details.

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

See OAuth access tokens for more information.

Request payload

Copy complete valid JSON to clipboard

Request fields

Input container/fieldTypeDescription
adGroupIdstring

Note: This field is not currently in use. Ad groups are only applicable to Promoted Listings Advanced (PLA) ad campaigns that use the Cost Per Click (CPC) funding model. See Funding Models in the Promoted Listings Playbook for more information.

Occurrence: Optional

bidPercentagestring

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.
This is default bid percentage for the campaigns using the Cost Per Sale (CPS) funding model, and this value will be overridden by any ads in the campaign that have their own set bid percentages.

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

Minimum value: 2.0
Maximum value: 100.0

Occurrence: Conditional

inventoryReferenceIdstring

An ID that identifies a single-item listing or multiple-variation listing that is managed with the Inventory API.

The inventory reference ID is a seller-defined value that can be either an SKU for a single-item listing or an inventoryItemGroupKey for a multiple-value listing.

An inventoryItemGroupKey is a value that the seller defines to indicate a listing that's the parent of an inventory item group (a multiple-variation listing, such as a listing for a shirt that's available in multiple sizes and colors).

You must always specify both an inventoryReferenceId and an inventoryReferenceType to indicate an item that's managed with the Inventory API.

Occurrence: Required

inventoryReferenceTypeInventoryReferenceTypeEnum

Indicates the type of item the inventoryReferenceId references. The item can be either an INVENTORY_ITEM or INVENTORY_ITEM_GROUP.

You must always pair an inventoryReferenceId with and inventoryReferenceType.

Occurrence: Required

Output

HTTP response headers

This call has no response headers.

Response payload

{ /* AdReferences */
"ads" : [
{ /* AdReference */
"adId" : "string",
"href" : "string"
}
]
}

Response fields

Output container/fieldTypeDescription
adsarray of AdReference

A list of ad IDs. An ad ID is generated for each successfully created ad. Only one ad can be created per operation.

Occurrence: Conditional

ads.adIdstring

A unique eBay-assigned ID for an ad. This ID is generated when an ad is created.

Occurrence: Always

ads.hrefstring

The getAd URI of an ad. You can use this URI to retrieve the ad.

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
201Created
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.

CodeDomainCategoryMeaning
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}.
35012API_MARKETINGREQUESTThe inventory reference ID {inventoryReferenceId} is not valid.
35035API_MARKETINGREQUESTThe campaign with campaign id {campaign_id} has ended.
35040API_MARKETINGREQUESTThe inventory reference type is not valid. Valid values are: {inventoryReferenceTypeValues}.
35045API_MARKETINGREQUESTNo campaign found for campaign id {campaign_id}.
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.
35072API_MARKETINGBUSINESSInventoryReferenceId {inventoryReferenceId} is not eligible for Promoted Listings because it is a variation and variations can only be promoted using the parent ID to which it belongs. Replace this ID with the InventoryReferenceId of the parent and set 'inventoryReferenceType' to 'INVENTORY_ITEM_GROUP'
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' is not supported for CPS funding model.
36210API_MARKETINGREQUESTNo ad group found for ad group id {ad_group_id}.
36219API_MARKETINGREQUESTThe ad group with ad group id {ad_group_id} has been archived.

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: Create Ad Using an Inventory Reference Id

This sample creates an ad for the listing with the inventory reference ID of 8********2, and associates the ad with the campaign with the ID of 1********4.

Input

The inputs for this sample are campaign_id (as a URI parameter) and the inventory_reference_id and inventory_reference_type of the listing and the bidPercentage for the ad.

POSThttps://api.ebay.com/sell/marketing/v1/ad_campaign/1********/create_ads_by_inventory_reference

Output

The output is the ID and URL of the ad.