Sponsored listings from a set of products
How to run an auction for a set of products
In this example we will use the API to run an auction for a set of products.
Only bids that target the products in this set will have a chance to win this auction. Bids that target other products will not participate.
This allows you full control over which products get shown where, while still enabling your vendors to promote products.
Use cases
We don’t prescribe how you create your set of products, you can use any algorithm you desire. All we need is a list of product IDs.
For example, use your own algorithm to generate:
- Cross-sells.
- Related products.
- Checkout upsells.
Collect the resulting IDs and pass them to an auction.
Your vendors will then be able to bid for opportunities to appear in valuable positions in the marketplace.
Example API call
Request
Let’s assume we use some kind of algorithm to create a set of product IDs. We can then pass them to an auction request:
The request above will create a single listings auction:
- It will have a maximum of two winners due to the
slots
field. - The
products.ids
is the set of products. These need to exist in your catalog.
As said before, only bids that target these products will participate in the auction.
The auction endpoint supports up to 10000 product IDs per auction, but we recommend sending no more than the 500 most relevant.
Response
Do not cache this response or its results. Auctions need to be unique per page view, this is what makes the system work.
If the auction results are cached, the same results could be shown to multiple users or to the same user multiple times.
If bids targeting the products exist, they could win this auction. The resulting response would look something like this:
Notable here:
- The type of the winners is
product
, because we’re running a listings auction. - Both winning
id
correspond to a product ID in the request. - There are two winners, the maximum that is allowed by the
slots
field in the request.
Next steps
The winners will need to be combined with product data to a create a result that can be shown to the end-user.
Check this page for an example.