# API Changelog
Source: https://docs.topsort.com/en/api-reference/api-changelog
API updates and changes
## API updates and changes for 2026
### Changed
* **Campaigns responses:** `promotionType` is marked as deprecated since November 21, 2024; use `adFormat` on campaign responses and `formatProperties` on bid responses instead. See the [Get campaigns](/en/api-reference/campaign-api/get-campaigns#response-campaigns-items-promotion-type) reference. From April 23, 2026, `promotionType` will be returned as `null`; removal from requests and responses is planned for April 30, 2026 (subject to confirmation).
## API updates and changes for 2025
### Removed
* `/public/v1/campaign-service/estimated-clicks` was removed after 1 year of deprecation. It has received no traffic for 7 months.
### Added
* `/public/v1/offsite-ads/audiences/user-list` endpoint for managing user list audiences in offsite ads.
### Changed
* `/v2/auctions`: Added `filter` field with `AttributesFilter` schema for product attribute filtering (supports `and`/`or` operators with attributes array).
### Changed
* `/v2/auctions`: Added `page` object to sponsored listings and banner auction requests.
* `/v2/auctions/sponsored-brand`: Added optional `page` field to request.
### Added
* `/public/v1/campaign-service/campaigns/exclusive-banner` (POST) and `/public/v1/campaign-service/campaigns/exclusive-banner/{campaign-id}` (GET, PATCH) endpoints for exclusive banner campaign management.
* `/public/v1/campaign-service/campaigns/exclusive-listing` (POST) and `/public/v1/campaign-service/campaigns/exclusive-listing/{campaign-id}` (GET, PATCH) endpoints for exclusive listing campaign management.
* `/public/v1/media-service/slots/{slot-id}` endpoint with DELETE and PATCH methods for individual slot management.
* POST method added to `/public/v1/offsite-ads/audiences` for creating audience jobs.
### Added
* `/public/v1/campaign-service/json-templates` (GET, POST) and `/public/v1/campaign-service/json-templates/{json-template-id}` (GET, PATCH) endpoints for managing campaign JSON templates.
* `/public/v1/media-service/slots` endpoint (GET, POST) for listing and creating media slots.
* `/public/v1/media-service/slots/{slot-id}/fallback` endpoint (DELETE) for configuring slot fallback behavior.
* `/public/v1/offsite-ads/audiences` endpoint (GET) for listing audiences in offsite ads.
* DELETE method added to `/public/v1/campaign-service/campaigns/{campaign-id}/bids` for deleting all bids.
### Added
* `/public/v1/toppie/reporting/file-reports/daily-kpis-by-product` endpoint (GET) for exporting daily KPIs by product.
* `/public/v1/campaign-service/campaigns/{campaign-id}/products` endpoint (GET, PUT) for managing products within a campaign.
* Offsite ads public API endpoints under `/public/v1/offsite-ads`
### Added
* `/public/v1/toptimize/forecasting/campaign` (POST), `/public/v1/toptimize/forecasting/inventory` (POST), and `/public/v1/toptimize/forecasting/marketplace` (GET) endpoints for campaign and inventory forecasting.
### Added
* Offsite Ads beta endpoints (`/v2/offsite-ads/`)
* `/toptimize/v1/predictions` beta endpoint for CTR/CVR predictions.
* `/toptimize/v1/retrieval` beta endpoint for object retrieval.
* `/public/v1/segment-service/segments/{segment-id}/upload` endpoint (POST) for uploading segment data.
* `/public/v1/campaign-service/campaigns/{campaign-id}/restrictions` (GET, POST) and `/public/v1/campaign-service/campaigns/{campaign-id}/restrictions/{restriction-id}` (PATCH) endpoints for campaign restriction management.
* `/public/v1/campaign-service/restriction-types` (GET) and `/public/v1/campaign-service/restriction-types/{restriction-type-id}` (GET) endpoints for managing restriction type definitions.
* `/public/v1/reporting-service/file-reports/scored-attribution` endpoint (GET) for scored attribution file reports.
* `/public/v1/reporting-service/file-reports/interactions` endpoint (GET) for exporting interaction data.
* DELETE method added to `/public/v1/toppie/campaigns/{campaign-id}` for deleting campaigns.
### Changed
* Events: Added missing references to display new pageview object.
* `/v2/events`: Added optional `deviceType` and `channel` fields for impressions, clicks, purchases, and pageviews.
### Added
* `/toptimize/v1/rank` beta endpoint for ranking objects.
* `/public/v1/segment-service/segments` (GET, PUT) and `/public/v1/segment-service/segments/{segment-id}` (DELETE) endpoints for segment management.
* `/public/v1/segment-service/segments/{segment-id}/signed-url` endpoint (GET) for obtaining signed URLs for segment uploads.
* `/public/v1/toppie/products` endpoint (GET) for listing vendor products in Toppie.
* `/public/v1/reporting-service/interactions` endpoint (GET) for querying interaction data.
* `/public/v1/toppie/account/balance` endpoint (GET) for viewing account balance.
* `/public/v1/toppie/account/topups` endpoint (GET) for viewing account top-ups.
* `/public/v1/billing-service/campaign-billing-contact` endpoint (GET, PUT).
* `/public/v1/billing-service/billing-contacts` (GET) and `/public/v1/billing-service/billing-contacts/{billing-contact-id}` (GET, PUT) endpoints for marketplace-level billing contact management.
* `/public/v1/billing-service/vendor-billing-contact` (PUT) and `/public/v1/billing-service/vendors/{external-vendor-id}/vendor-billing-contact/{billing-contact-id}` (DELETE) endpoints for vendor-level billing contacts.
* PATCH method added to `/public/v1/toppie/campaigns/{campaign-id}` for updating campaigns.
### Changed
* `/v2/auctions/sponsored-brand`: Added optional `opaqueUserId` and `vendorId` fields.
* Events: Added placement tracking example for carousel analytics.
* `/v2/auctions/travel`: Extended to support **flights** in addition to hotels.
### Added
* `/public/v1/toppie/campaigns` (GET, POST) and `/public/v1/toppie/campaigns/{campaign-id}` (GET) endpoints for Toppie campaign management.
* `/public/v1/toppie/campaigns/{campaign-id}/bids` endpoint (GET) for managing campaign bids.
* Toppie reporting endpoints (`/public/v1/toppie/reporting`)
* `/public/v1/billing-service/vendors/{external-vendor-id}/wallets` (GET, POST) and `/public/v1/billing-service/vendors/{external-vendor-id}/wallets/{wallet-id}/adjust` (POST) endpoints for vendor wallet management.
* PATCH method added to `/public/v1/catalog-search-service/catalogs/products` for updating products.
### Changed
* Events: Documented that halo attribution requires `vendorId`.
### Added
* `/v2/auctions/travel` endpoint for hotel travel auctions.
* `/v2/events/beta/link-users` beta endpoint to link user accounts.
* `/public/v1/reporting-service/marketplace/campaigns-kpis` (GET) and `/public/v1/reporting-service/marketplace/vendors-kpis` (GET) endpoints for marketplace-level KPI reporting.
# Create auctions
Source: https://docs.topsort.com/en/api-reference/auctions/create-auctions
/openapi.json post /v2/auctions
Use the `/auctions` endpoint to create auctions. Each batch of auction requests can be a combination of sponsored listing auctions and banner auctions. Each auction type has a unique body schemas.
# Create sponsored brand auctions
Source: https://docs.topsort.com/en/api-reference/auctions/create-sponsored-brand-auctions
/openapi.json post /v2/auctions/sponsored-brand
# Create travel auctions
Source: https://docs.topsort.com/en/api-reference/auctions/create-travel-auctions
/openapi.json post /v2/auctions/travel
Use the `/auctions/travel` endpoint to create batch auctions for sponsored travel listings. We support two types of sponsored travel listings, hotels and flights. Each batch of auction requests can be a combination of sponsored hotel and flight listing auctions. Each auction type has a unique body schemas.
# Authentication
Source: https://docs.topsort.com/en/api-reference/authentication
Learn how to authenticate with Topsort APIs using a bearer token
Topsort's APIs are authenticated via bearer tokens. Requests must include an authorization header containing an API key. If this header is missing or invalid, the HTTP response code will be `401 Unauthorized`.
```sh theme={null}
POST /v2/auctions HTTP/2
Host: app.topsort.com
...
Authorization: Bearer
...
```
## Obtaining an API Key
By this point we will have provided you with credentials for our Auction manager. Visit the [Auction Manager: API Integration](https://app.topsort.com/new/en-US/marketplace/account-settings/api-integration) page to generate your API keys.
Access the Topsort API Integration page by clicking on **Settings**, and then selecting **API Integration**.
Generate an API key by pressing the **Generate API key** button.
Note that there are two different types of keys: Marketplace API keys and Advanced API keys.
In order to access the `/auctions` and `/events` endpoints, you must create a Marketplace API key. For all other APIs, you need an Advanced API key.
Click on the **Copy key** button to the right of the newly generated token to copy it to your clipboard.
Use the API Key on your servers.
**Keep api keys secret,** this is not a public key. **Do not share it with
your frontend or clients**. **API keys are scoped per marketplace**. If you
have multiple marketplaces, then you will require multiple API keys.
# API Key Types
Source: https://docs.topsort.com/en/api-reference/authentication/api-key-types
Understand the two types of API keys in Topsort and when to use each one for different endpoints.
Topsort uses two types of API keys for different purposes.
## Quick Reference
| Key Type | Purpose |
| ----------------------- | ------------------------------------------- |
| **Marketplace API Key** | Auction and event endpoints |
| **Advanced API Key** | Catalog sync, campaigns, reporting, billing |
Most integrations need **both** key types: an Advanced key for catalog sync, campaigns, and reporting, and a Marketplace key for auctions and events.
## Which Key Do I Need?
| Endpoint | Key Type |
| ------------------------------------- | ----------- |
| `POST /v2/auctions` | Marketplace |
| `POST /v2/events` | Marketplace |
| `/public/v1/catalog-search-service/*` | Advanced |
| `/public/v1/campaign-service/*` | Advanced |
| `/public/v1/reporting-service/*` | Advanced |
| `/public/v1/billing-service/*` | Advanced |
## Common Errors
### 401 Unauthorized
```json theme={null}
{
"error": "Unauthorized",
"message": "Invalid or missing API key"
}
```
**Causes:**
* API key not included in `Authorization` header
* Key is malformed or expired
* Using Advanced key on Marketplace-only endpoint
**Fix:** Verify header format: `Authorization: Bearer YOUR_API_KEY`
### 403 Forbidden
```json theme={null}
{
"error": "Forbidden",
"message": "Insufficient permissions"
}
```
**Causes:**
* Using an Advanced key on an endpoint that requires a Marketplace key
* Using a Marketplace key on an endpoint that requires an Advanced key
**Fix:** Use the key type that matches the endpoint — see [Which Key Do I Need?](#which-key-do-i-need) above
## How to Get Your Keys
### Marketplace API Key
Log in to your Topsort Admin dashboard
Go to **Settings** → **API Integration**
Click **"Generate API key"** and select **"Marketplace API key"**
Copy the key immediately and store it securely (it's only shown once)
### Advanced API Key
Log in to your Topsort Admin dashboard
Go to **Settings** → **API Access**
Click **"Generate Key"** to create your Advanced API key
Copy the key and store it securely in your environment variables
## Security Best Practices
* **Never commit keys to version control**
* **Store keys in environment variables**
* **Rotate keys regularly**
* **Use different keys for different environments (dev, staging, production)**
* **Restrict key access to only necessary team members**
# Add Vendor Balance
Source: https://docs.topsort.com/en/api-reference/billing-api/add-vendor-balance
/openapi.json post /public/v1/billing-service/vendors/{external-vendor-id}/balance
Endpoint to add some balance for a vendor.
Will truncate the input to its minimum denomination, e.g. USD 1,000.234 is USD 1,000.23 , as there is no fraction of a cent.
# Create Wallet
Source: https://docs.topsort.com/en/api-reference/billing-api/create-wallet
/openapi.json post /public/v1/billing-service/vendors/{external-vendor-id}/wallets
Endpoint to create a wallet for a vendor.
There is a limit of 3 Wallets per vendor.
# Get Billing Contacts
Source: https://docs.topsort.com/en/api-reference/billing-api/get-billing-contacts
/openapi.json get /public/v1/billing-service/billing-contacts
Endpoint to get all the billing contacts.
# Get Campaign Billing Contact
Source: https://docs.topsort.com/en/api-reference/billing-api/get-campaign-billing-contact
/openapi.json get /public/v1/billing-service/campaign-billing-contact
Endpoint to get a billing contact campaign.
# Get Vendor Balance
Source: https://docs.topsort.com/en/api-reference/billing-api/get-vendor-balance
/openapi.json get /public/v1/billing-service/vendors/{external-vendor-id}/balance
Endpoint to get the balance for a vendor.
# Get Vendor Wallets
Source: https://docs.topsort.com/en/api-reference/billing-api/get-vendor-wallets
/openapi.json get /public/v1/billing-service/vendors/{external-vendor-id}/wallets
Endpoint to list all the wallets of a vendor.
# Upsert Campaign Billing Contact
Source: https://docs.topsort.com/en/api-reference/billing-api/upsert-campaign-billing-contact
/openapi.json put /public/v1/billing-service/campaign-billing-contact
Endpoint to upsert a billing contact campaign.
# Upsert Vendor Billing Contact
Source: https://docs.topsort.com/en/api-reference/billing-api/upsert-vendor-billing-contact
/openapi.json put /public/v1/billing-service/vendor-billing-contact
Endpoint to assign a billing contact to a vendor.
# [BETA] Create exclusive banner campaign.
Source: https://docs.topsort.com/en/api-reference/campaign-api/[beta]-create-exclusive-banner-campaign
/openapi.json post /public/v1/campaign-service/campaigns/exclusive-banner
Endpoint to create exclusive banner campaigns and its respective bids.
Exclusive campaigns override auctions and are always shown by a fixed daily price.
# [BETA] Create exclusive listing campaign.
Source: https://docs.topsort.com/en/api-reference/campaign-api/[beta]-create-exclusive-listing-campaign
/openapi.json post /public/v1/campaign-service/campaigns/exclusive-listing
Endpoint to create exclusive listing campaigns and its respective bids.
Exclusive campaigns override auctions and are always shown by a fixed daily price.
# [BETA] Get exclusive banner campaign by ID.
Source: https://docs.topsort.com/en/api-reference/campaign-api/[beta]-get-exclusive-banner-campaign-by-id
/openapi.json get /public/v1/campaign-service/campaigns/exclusive-banner/{campaign-id}
Endpoint to fetch a specific exclusive banner campaign by Campaign ID.
# [BETA] Get exclusive listing campaign by ID.
Source: https://docs.topsort.com/en/api-reference/campaign-api/[beta]-get-exclusive-listing-campaign-by-id
/openapi.json get /public/v1/campaign-service/campaigns/exclusive-listing/{campaign-id}
Endpoint to fetch a specific exclusive listing campaign by Campaign ID.
# [BETA] Update exclusive banner campaign by ID.
Source: https://docs.topsort.com/en/api-reference/campaign-api/[beta]-update-exclusive-banner-campaign-by-id
/openapi.json patch /public/v1/campaign-service/campaigns/exclusive-banner/{campaign-id}
Endpoint to update fields for a given exclusive banner campaign.
# [BETA] Update exclusive listing campaign by ID.
Source: https://docs.topsort.com/en/api-reference/campaign-api/[beta]-update-exclusive-listing-campaign-by-id
/openapi.json patch /public/v1/campaign-service/campaigns/exclusive-listing/{campaign-id}
Endpoint to update fields for a given exclusive listing campaign.
# Create a sponsored brand campaign.
Source: https://docs.topsort.com/en/api-reference/campaign-api/create-a-sponsored-brand-campaign
/openapi.json post /public/v1/campaign-service/campaigns/sponsored-brand
Create a regular sponsored brand campaign using external vendor and slot identifiers. Only V2 sponsored brand campaigns are supported.
# Create Campaign
Source: https://docs.topsort.com/en/api-reference/campaign-api/create-campaign
/openapi.json post /public/v1/campaign-service/campaigns
Creates a campaign with its associated budget and bids.
Supports all campaign types except exclusive campaigns.
# Create Campaign Bids
Source: https://docs.topsort.com/en/api-reference/campaign-api/create-campaign-bids
/openapi.json post /public/v1/campaign-service/campaigns/{campaign-id}/bids
Endpoint to create a bid for a campaign.
# Create Campaign Restriction
Source: https://docs.topsort.com/en/api-reference/campaign-api/create-campaign-restriction
/openapi.json post /public/v1/campaign-service/campaigns/{campaign-id}/restrictions
Endpoint to create a campaign restriction.
# Create Json Template
Source: https://docs.topsort.com/en/api-reference/campaign-api/create-json-template
/openapi.json post /public/v1/campaign-service/json-templates
Endpoint to create a new JSON template.
# Create or update campaign timetables (dayparting).
Source: https://docs.topsort.com/en/api-reference/campaign-api/create-or-update-campaign-timetables-dayparting
/openapi.json put /public/v1/campaign-service/campaigns/{campaign-id}/timetables
Create or update dayparting configuration for a campaign.
Dayparting allows you to control when your campaign is active during the week.
You can specify active hours for each day of the week (1=Monday, 7=Sunday).
HOUR SEMANTICS:
- start_hour: Campaign starts at this hour (inclusive, 0-23)
- end_hour: Campaign stops at this hour (exclusive, 1-24)
- Example: start_hour=9, end_hour=17 runs from 9:00 AM to 5:00 PM
- For all-day: start_hour=0, end_hour=24
This endpoint performs an upsert operation - it will create new timetables or
update existing ones based on the day_of_week. Days not in the request remain
unchanged.
# Delete a campaign timetable for a specific day (dayparting).
Source: https://docs.topsort.com/en/api-reference/campaign-api/delete-a-campaign-timetable-for-a-specific-day-dayparting
/openapi.json delete /public/v1/campaign-service/campaigns/{campaign-id}/timetables/{day-of-week}
Delete the timetable configuration for a specific day of the week.
This removes the dayparting rule for the specified day, reverting the campaign
to be active all day for that day (if the campaign is otherwise active).
After deletion, the campaign will run 24 hours on the specified day (no time
restrictions).
# Delete All Bids From A Campaign
Source: https://docs.topsort.com/en/api-reference/campaign-api/delete-all-bids-from-a-campaign
/openapi.json delete /public/v1/campaign-service/campaigns/{campaign-id}/bids
Endpoint to delete all bids from a campaign.
# Delete Campaign Bid By Id
Source: https://docs.topsort.com/en/api-reference/campaign-api/delete-campaign-bid-by-id
/openapi.json delete /public/v1/campaign-service/campaigns/{campaign-id}/bids/{bid-id}
Endpoint to delete a bid.
# Delete Campaign By Id
Source: https://docs.topsort.com/en/api-reference/campaign-api/delete-campaign-by-id
/openapi.json delete /public/v1/campaign-service/campaigns/{campaign-id}
Endpoint to delete a specific campaign.
# Get a sponsored brand campaign.
Source: https://docs.topsort.com/en/api-reference/campaign-api/get-a-sponsored-brand-campaign
/openapi.json get /public/v1/campaign-service/campaigns/sponsored-brand/{campaign-id}
Retrieve a regular sponsored brand campaign by ID. The response uses external vendor and slot identifiers and only exposes V2 sponsored brand campaigns.
# Get Campaign Bids
Source: https://docs.topsort.com/en/api-reference/campaign-api/get-campaign-bids
/openapi.json get /public/v1/campaign-service/campaigns/{campaign-id}/bids
Endpoint to retrieve all campaign's bids.
# Get Campaign By Id
Source: https://docs.topsort.com/en/api-reference/campaign-api/get-campaign-by-id
/openapi.json get /public/v1/campaign-service/campaigns/{campaign-id}
Endpoint to retrieve specific campaign by Campaign ID.
It is expected to use at Campaign Page.
# Get Campaign Products (Banners & Sponsored Brands)
Source: https://docs.topsort.com/en/api-reference/campaign-api/get-campaign-products-banners-&-sponsored-brands
/openapi.json get /public/v1/campaign-service/campaigns/{campaign-id}/products
Returns the products associated with a campaign.
This endpoint only applies to Banners and Sponsored Brands campaigns.
It does not return products for Sponsored Listings campaigns.
# Get Campaign Restriction
Source: https://docs.topsort.com/en/api-reference/campaign-api/get-campaign-restriction
/openapi.json get /public/v1/campaign-service/campaigns/{campaign-id}/restrictions
Endpoint to get campaign restrictions.
# Get Campaigns
Source: https://docs.topsort.com/en/api-reference/campaign-api/get-campaigns
/openapi.json get /public/v1/campaign-service/campaigns
Endpoint to retrieve campaigns. Campaigns can be filtered by Vendor ID and status.
It is expected to use for getting all campaigns of a marketplace & all campaigns of a vendor in dashboards.
Filtering by status is expected to use at review page getting campaigns approved, pending tabs.
# Get Json Template
Source: https://docs.topsort.com/en/api-reference/campaign-api/get-json-template
/openapi.json get /public/v1/campaign-service/json-templates/{json-template-id}
Endpoint to get a specific JSON template by ID.
# Get Json Templates
Source: https://docs.topsort.com/en/api-reference/campaign-api/get-json-templates
/openapi.json get /public/v1/campaign-service/json-templates
Endpoint to get JSON templates.
# Get Products In Campaign
Source: https://docs.topsort.com/en/api-reference/campaign-api/get-products-in-campaign
/openapi.json get /public/v1/campaign-service/products-in-campaign
This endpoint returns paginated product ids currently in active campaigns. You can filter by vendor_id and ad_format, fetching only from active campaigns and bids.
# Get Restriction Type
Source: https://docs.topsort.com/en/api-reference/campaign-api/get-restriction-type
/openapi.json get /public/v1/campaign-service/restriction-types/{restriction-type-id}
Endpoint to get a specific restriction type.
# Get Restriction Types
Source: https://docs.topsort.com/en/api-reference/campaign-api/get-restriction-types
/openapi.json get /public/v1/campaign-service/restriction-types
Endpoint to get all restriction types.
# List sponsored brand campaign bids.
Source: https://docs.topsort.com/en/api-reference/campaign-api/list-sponsored-brand-campaign-bids
/openapi.json get /public/v1/campaign-service/campaigns/sponsored-brand/{campaign-id}/bids
Retrieve a cursor-paginated list of bids for a regular sponsored brand campaign. The response uses external slot identifiers and only exposes V2 sponsored brand bids.
# Replace sponsored brand campaign bids.
Source: https://docs.topsort.com/en/api-reference/campaign-api/replace-sponsored-brand-campaign-bids
/openapi.json put /public/v1/campaign-service/campaigns/sponsored-brand/{campaign-id}/bids
Replace all bids for a regular sponsored brand campaign using external slot identifiers. Only V2 sponsored brand campaigns are publicly addressable.
# Retrieve campaign timetables (dayparting).
Source: https://docs.topsort.com/en/api-reference/campaign-api/retrieve-campaign-timetables-dayparting
/openapi.json get /public/v1/campaign-service/campaigns/{campaign-id}/timetables
Retrieve the dayparting configuration for a campaign.
Returns all configured timetables for the campaign, ordered by day of week.
If no timetables are configured, returns an empty list.
HOUR SEMANTICS:
- start_hour: Campaign starts at this hour (inclusive, 0-23)
- end_hour: Campaign stops at this hour (exclusive, 1-24)
- Example: start_hour=9, end_hour=17 means runs from 9:00 AM to 5:00 PM.
# Update a JSON template
Source: https://docs.topsort.com/en/api-reference/campaign-api/update-a-json-template
/openapi.json patch /public/v1/campaign-service/json-templates/{json-template-id}
Partially updates a JSON template by its ID. Returns 404 if the template does not exist, 409 if the new name conflicts with an existing template, or if the template is in use and the JSON schema change is not strictly additive (only new optional top-level properties are allowed while in use).
# Update a sponsored brand campaign.
Source: https://docs.topsort.com/en/api-reference/campaign-api/update-a-sponsored-brand-campaign
/openapi.json patch /public/v1/campaign-service/campaigns/sponsored-brand/{campaign-id}
Partially update a regular sponsored brand campaign. Only V2 sponsored brand campaigns are publicly addressable.
# Update Campaign Bid By Id
Source: https://docs.topsort.com/en/api-reference/campaign-api/update-campaign-bid-by-id
/openapi.json patch /public/v1/campaign-service/campaigns/{campaign-id}/bids/{bid-id}
Endpoint to update a bid.
# Update Campaign By Id
Source: https://docs.topsort.com/en/api-reference/campaign-api/update-campaign-by-id
/openapi.json patch /public/v1/campaign-service/campaigns/{campaign-id}
Endpoint to update fields for a given campaign.
# Update Campaign Restriction
Source: https://docs.topsort.com/en/api-reference/campaign-api/update-campaign-restriction
/openapi.json patch /public/v1/campaign-service/campaigns/{campaign-id}/restrictions/{restriction-id}
Endpoint to update a campaign restriction.
# Upsert Campaign Products
Source: https://docs.topsort.com/en/api-reference/campaign-api/upsert-campaign-products
/openapi.json put /public/v1/campaign-service/campaigns/{campaign-id}/products
Endpoint to upsert campaign products.
# Delete Categories
Source: https://docs.topsort.com/en/api-reference/catalog-api/delete-categories
/openapi.json delete /public/v1/catalog-search-service/catalogs/categories
Delete one or more categories from the catalog.
# Delete Products
Source: https://docs.topsort.com/en/api-reference/catalog-api/delete-products
/openapi.json delete /public/v1/catalog-search-service/catalogs/products
Delete products by ID.
# Delete Vendors
Source: https://docs.topsort.com/en/api-reference/catalog-api/delete-vendors
/openapi.json delete /public/v1/catalog-search-service/catalogs/vendors
Delete vendors by ID.
This function won't error out when trying to delete vendors that don't exist.
# Get Categories
Source: https://docs.topsort.com/en/api-reference/catalog-api/get-categories
/openapi.json get /public/v1/catalog-search-service/catalogs/categories
Get multiple categories from the catalog.
# Get Categories Count
Source: https://docs.topsort.com/en/api-reference/catalog-api/get-categories-count
/openapi.json get /public/v1/catalog-search-service/catalogs/categories/count
Get the number of categories in the catalog.
# Get Category
Source: https://docs.topsort.com/en/api-reference/catalog-api/get-category
/openapi.json get /public/v1/catalog-search-service/catalogs/categories/{category-id}
Get a single category from the catalog.
# Get Product
Source: https://docs.topsort.com/en/api-reference/catalog-api/get-product
/openapi.json get /public/v1/catalog-search-service/catalogs/products/{product-id}
Get product by ID.
# Get Products
Source: https://docs.topsort.com/en/api-reference/catalog-api/get-products
/openapi.json get /public/v1/catalog-search-service/catalogs/products
Get multiple products from the catalog.
# Get Products Count
Source: https://docs.topsort.com/en/api-reference/catalog-api/get-products-count
/openapi.json get /public/v1/catalog-search-service/catalogs/products/count
Get the number of products in the catalog.
# Get Vendor
Source: https://docs.topsort.com/en/api-reference/catalog-api/get-vendor
/openapi.json get /public/v1/catalog-search-service/catalogs/vendors/{vendor-id}
Get vendor by ID.
# Get Vendors
Source: https://docs.topsort.com/en/api-reference/catalog-api/get-vendors
/openapi.json get /public/v1/catalog-search-service/catalogs/vendors
Get vendors.
# Update Products
Source: https://docs.topsort.com/en/api-reference/catalog-api/update-products
/openapi.json patch /public/v1/catalog-search-service/catalogs/products
Update products.
# Upsert Categories
Source: https://docs.topsort.com/en/api-reference/catalog-api/upsert-categories
/openapi.json put /public/v1/catalog-search-service/catalogs/categories
Create or replace one or more categories in the catalog.
# Upsert Products
Source: https://docs.topsort.com/en/api-reference/catalog-api/upsert-products
/openapi.json put /public/v1/catalog-search-service/catalogs/products
Upsert products.
# Upsert Vendors
Source: https://docs.topsort.com/en/api-reference/catalog-api/upsert-vendors
/openapi.json put /public/v1/catalog-search-service/catalogs/vendors
Upsert vendors.
# Handling Errors
Source: https://docs.topsort.com/en/api-reference/errors
Comprehensive guide to error codes and troubleshooting for Topsort's APIs
# Errors
When working with Topsort's APIs, you may encounter various error responses. This guide helps you understand, diagnose, and resolve common issues.
## Error Response Format
Topsort APIs return errors as JSON arrays containing error objects:
| Field | Type | Description |
| :-------- | :----- | :--------------------------------------------------------- |
| `errCode` | string | Short string uniquely identifying the problem |
| `docUrl` | string | Link to documentation providing more information |
| `message` | string | Optional human-readable explanation (may change over time) |
## HTTP Status Codes
Unacceptable request format or incorrect syntax. Check request structure against API spec.
API key issue or missing authorization tokens. Verify your authentication credentials.
Resource doesn't exist or URL is incorrect. Check the endpoint path and resource ID.
Request body doesn't match expected model. Missing required fields or wrong data types.
Too many requests. Check rate limit headers: `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset`.
Unexpected server problem. Our team typically fixes these issues quickly. Check status page.
## Specific Error Codes
* **`invalid_api_key`** - The API key in the authorization header is missing, invalid, or has expired. See [authentication](/en/api-reference/authentication) for details.
* **`bad_request`** - The request could not be parsed
* **`invalid_json`** - The request is not valid JSON
* **`empty_request`** - Request body is empty; ensure you're sending data
* **`request_canceled`** - The caller canceled the request
* **`invalid_operation`** - The operation is not valid in the current state
* **`missing_auctions`** - You must specify at least one auction
* **`too_many_auctions`** - At most 5 auctions can be run in parallel
* **`too_few_slots`** - At least one slot must be specified in an auction
* **`missing_slots`** - Missing required slots field
* **`invalid_auction_id`** - Auction ID doesn't correspond to a valid auction
* **`missing_promotion_type`** - Must request slots for at least one promotion type
* **`invalid_promotion_type`** - Invalid promotion types in slots field
* **`invalid_context`** - Invalid context. Must specify at most two of: list of products, search query, or categories (for sponsored brands: at most one)
* **`invalid_placement_id`** - Placement ID must be between 1 and 8
* **`missing_slot_id`** - Missing required slot ID for banner ads
* **`invalid_category`** - Only one of `id`, `ids`, or `disjunctions` must be set, where no array is longer than 5
* **`invalid_opaque_user_id`** - Opaque user ID value must be no longer than 90 characters
* **`no_products`** - At least one product must be specified
* **`no_products_or_category`** - Either at least one product ID or a category ID must be provided
* **`too_many_products`** - Exceeded limit of products in the request
* **`product_info_mismatch`** - Product info arrays must all have the same length
* **`invalid_quality_score`** - Quality scores must be between 0.0 and 1.0
* **`non_positive_price`** - Product price must be positive
* **`invalid_geo_targeting`** - Invalid geo targeting. Must specify either `location` or `locations`
* **`too_many_locations`** - At most 2 locations can be specified
* **`invalid_location_cell`** - Specified location cell is not a valid H3 cell
* **`invalid_device`** - The device must be one of: `desktop` or `mobile`
* **`too_many_search_query_words`** - Exceeded limit of search query words in the request
* **`invalid_event_time`** - At least one event is in the future
* **`invalid_resolved_bid_id`** - Invalid resolvedBidId
* **`invalid_use_of_external_campaign_id`** - Cannot set both `resolvedBidId` and `externalCampaignId`
* **`no_purchase_items`** - At least one item must be purchased
* **`missing_purchased_at`** - Required `purchasedAt` field is missing
* **`invalid_marketplace`** - No such marketplace exists
* **`invalid_vendor`** - No such vendor exists
* **`resource_not_found`** - The requested resource was not found
* **`experiment_variant_too_long`** - Marketplace experiment variants have a maximum length of 10 characters
* **`account_unique_violation`** - Request breaks ledger account unique constraint
* **`invalid_ledger_account`** - Ledger account does not exist
* **`insufficient_balance`** - Insufficient balance
* **`different_currencies`** - Both accounts must have the same currency code
* **`equal_from_and_to`** - From and to must be different
* **`bad_request`** (filter operation) - The filter operation can be one of `and` or `or`
* **`bad_request`** (attributes) - The number of filter attributes needs to be between 1 and 3
* **`bad_request`** (promotions) - The number of filter promotions needs to be between 1 and 3
* **`invalid_travel_category`** - Travel category must be a non-empty string if provided
* **`invalid_travel_date_range`** - End date must be greater than start date
* **`too_many_passengers`** - Number of passengers must be less than ten
* **`invalid_traveler_type`** - Traveler type must be one of: `family`, `group`, `solo`, `couple`
* **`invalid_date_format`** - Date must follow format `YYYY-MM-DD` (e.g., 2012-05-08)
* **`invalid_travel_type`** - Type must be one of: `hotels`, `flights`
* **`missing_variation_id`** - Missing variation ID
* **`missing_flight_travel_context`** - Missing fields from flight travel context
* **`internal_server_error`** - The server has encountered a problem
* **`request_canceled`** - The caller canceled the request
## Common Integration Issues
**Events return 200 but don't show in dashboard:**
* Check `occurredAt` is within last 30 days
* Verify product exists in catalog
* Confirm event type spelling (`click`, not `Click`)
**Auctions returning no winners:**
* **Check campaign budget** (most common issue)
* **Verify account balance is positive**
* Confirm products are in stock and active
* Verify active campaigns exist
* Check bid amounts aren't too low
**Attribution not working correctly:**
* See our [Attribution Troubleshooting Guide](/knowledge-base/ad-platform/reporting/attribution-troubleshooting)
* Check resolved bid IDs are passed correctly
* Verify purchase events include proper product IDs
**Connection refused or timeout:**
* Test connectivity: `curl -I https://api.topsort.com`
* Check firewall allows outbound HTTPS (port 443)
* Whitelist `*.topsort.com` domains
* Verify TLS/SSL certificate validation
**Budget exhaustion is the #1 cause of empty auctions.** Before debugging complex auction issues, first check that your campaigns have sufficient daily budget and account balance. Campaigns with zero budget cannot participate in auctions.
## Detailed Validation Errors
Some endpoints return detailed validation errors with field-level information:
```json theme={null}
{
"error": "validation_error",
"message": "Invalid request body",
"details": [
{
"field": "events[0].productId",
"message": "Product 'sku_999' not found in catalog"
},
{
"field": "events[0].occurredAt",
"message": "Timestamp cannot be in the future"
}
]
}
```
Use the `details` array to identify exactly which fields have issues and what needs to be corrected.
## Rate Limiting
Retry failed requests with increasing delays between attempts:
```python theme={null}
def retry_with_backoff(url, max_retries=5):
delay = 1
for i in range(max_retries):
response = requests.get(url)
if response.status_code != 429:
return response
time.sleep(delay)
delay = min(delay * 2, 64)
```
Respect the rate limit headers in responses:
* `X-RateLimit-Limit` - Total requests allowed
* `X-RateLimit-Remaining` - Requests remaining
* `X-RateLimit-Reset` - When limit resets
Wait until `X-RateLimit-Reset` before retrying.
Auctions (`/v2/auctions`) and Events (`/v2/events`) endpoints are **not rate-limited**. Rate limits apply to other endpoints like campaign management and reporting APIs.
## Connection & Network Issues
### Troubleshooting Checklist
Verify you can reach Topsort's API:
```bash theme={null}
curl -I https://api.topsort.com
```
Ensure outbound HTTPS (port 443) traffic is allowed and whitelist:
* `api.topsort.com`
* `*.topsort.com`
Ensure your HTTP client supports modern TLS versions:
```bash theme={null}
openssl s_client -connect api.topsort.com:443
```
Set appropriate timeout values and implement retry logic:
```python theme={null}
session = requests.Session()
session.timeout = (10, 30) # (connect, read)
```
Visit [topsort.statuspage.io](https://topsort.statuspage.io) for service status
### Common Network Issues
**Symptoms:** Certificate validation errors, SSL handshake failures
**Solutions:**
* Update your HTTP client to support modern TLS versions
* Ensure your system trusts standard certificate authorities
* Test with: `openssl s_client -connect api.topsort.com:443`
**Symptoms:** Connection refused, requests hanging
**Solutions:**
* Whitelist Topsort domains (`api.topsort.com`, `*.topsort.com`)
* Allow outbound HTTPS traffic on port 443
* Configure proxy settings if required by your network
* Test without proxy to isolate issue
**Symptoms:** Requests timing out, hanging indefinitely
**Solutions:**
* Increase timeout values in your HTTP client
* Implement retry logic with exponential backoff
* Check for large request payloads exceeding limits
* Use connection pooling for better performance
**Symptoms:** Issues from specific geographic regions
**Solutions:**
* Test from different locations to isolate regional problems
* Use a CDN or proxy service if needed
* Contact support with your location details
## Debugging Tools
Check the **Dev Tools** tab in your Ad Platform for detailed API request/response logs.
See our [Developer Logs guide](/api-reference/logs) for help interpreting log entries.
Monitor service health and planned maintenance at [topsort.statuspage.io](https://topsort.statuspage.io)
Subscribe to updates for real-time notifications.
## Need Help?
If you're still experiencing issues after consulting this guide:
* **Check status page:** [topsort.statuspage.io](https://topsort.statuspage.io)
* **Contact support** with error details and API request examples
* **Review API docs** for endpoint-specific requirements
# [Beta] Report Link Users
Source: https://docs.topsort.com/en/api-reference/events/[beta]-report-link-users
/openapi.json post /v2/events/beta/link-users
Use the `/events/beta/link-users` endpoint to report to Topsort linked opaque user IDs.
This endpoint allows linking two opaque user IDs for attribution purposes. The `from` field represents the original opaque user ID, and the `to` field represents the target opaque user ID to be linked. The request will fail if the `from` and `to` opaque user IDs are the same.
Contact your sales representative to gain access to this endpoint and start using it.
# Report events
Source: https://docs.topsort.com/en/api-reference/events/report-events
/openapi.json post /v2/events
Use the `/events` endpoint to report user interactions and activity in on a marketplace:
- **Impressions** — a user viewed an asset.
- **Clicks** — a user clicked on an asset.
- **Purchases** — a user created an order.
- **Page views** — a user visited a page.
Interactions require either a `resolvedBidId`, for sponsored events coming from the `/v2/auctions` response,
or an `entity` that describes the entity that was interacted with, in the case of organic or non-sponsored events.
For analytics purposes, you can use the `placement` field to differentiate different listings or banners.
For example, on a product page with a carousel of products, you can track impressions and clicks related to the carousel
by including `/carousel` at the end of the `path` field in the `placement` object. This allows you to monitor
the performance of carousel products in the [Data Room](https://docs.topsort.com/knowledge-base/analytics/data-room/).
# Running auctions
Source: https://docs.topsort.com/en/api-reference/examples/auctions
Learn how to use the auctions API to create auctions for listings and banners.
The auctions API enables you to create a wide variety of [auctions](/en/ad-server/auctions/auctions-api).
Whether you want to include sponsored listings in search results or banners on your homepage, we've got you covered.
## Before you begin
Before you're ready to use the auctions API, you need to:
1. [Obtain an API key](/en/api-reference/authentication#obtaining-an-api-key) to authenticate.
2. [Create several campaigns](/en/knowledge-base/ad-platform/campaign-creation/), to have bids available for the auctions.
**Ensure your campaigns have sufficient budget!** The most common reason for empty auction results is budget exhaustion. Campaigns with zero remaining budget cannot participate in auctions, leading to no winners. Check your campaign budgets before testing auctions.
## Request
The `/auctions` endpoint allows you to run up to 5 auctions in one request.
The full spec for this endpoint [is found here](/en/api-reference/auctions/create-auctions).
This can be quite a lot to take in at once, so let's stick to the basics now.
Every request body should be provided as JSON and is generally structured as follows.
```json theme={null}
{
"auctions": [
{
"type": "listings",
"slots": 2
},
{
"type": "banners",
"slots": 1
}
]
}
```
There are several interesting things about this (incomplete) snippet:
* Auctions are provided as an array to the `auctions` field. You can provide 1 to 5 auctions in a single request.
* Each auction has a `type` that will determine whether it's auctioning listings or banners.
* Each auction has a `slots` field, this determines the maximum number of winners of the auction.
To complete the above snippet you will need to add more fields, check out the [sponsored listings example](/en/api-reference/examples/sponsored-listings/set-of-products) or [sponsored banners example](/en/api-reference/examples/sponsored-banners/banners) for more information.
## Response
**Do not cache this response** or it's 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 there are no [request errors](https://topsort.mintlify.app/api-reference/errors), the auctions endpoint will return the results for each auction.
A successful response does not mean that each auction succeeded or has winners. You will need to check the results to determine this.
### Response with winners
Suppose that both auctions in the earlier request result in winners, the response could look something like this:
```json theme={null}
{
"results": [
{
"winners": [
{
"rank": "1",
"resolvedBidId": "WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0="
},
{
"rank": "2",
"resolvedBidId": "WyJlX1hKYm5OIiwiMTNiNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0=="
}
],
"error": false
},
{
"winners": [
{
"rank": "1",
"resolvedBidId": "WyJzb21lLXNsb3QiLCIxM2I1NTgyOC04ZWFkLTQyOTktODMyNy1jZWJiMDAyYTBmYTgiLCJiYW5uZXJzIiwiZGVmYXVsdCIsIiJd=="
}
],
"error": false
}
]
}
```
Things to note about this response:
* Auction results are under a top level `results` property.
* The order of the results corresponds to the order of the auctions.
* Each result has an array of winners. This array can be empty and it will never be more than the `slots` of the auction.
* It's possible for auctions to fail/succeed independently. The `error` flag indicates whether an auction succeeded.
### Empty Winners Array
If `winners` is empty (`[]`), common causes include:
* **Budget exhausted:** Campaigns have spent their daily/total budget
* **No active campaigns:** No campaigns are targeting the auction context
* **Bid too low:** Campaign bids are below auction floor prices
* **Product mismatch:** Campaign products don't match auction criteria
The exact fields on the winners depend on the type of the auction, but they will always have:
* `rank` a 1-based number corresponding to its position in `winners`.
* `resolvedBidId` identifying the bid that made this winner win. This ID is used to relate the bid to events.
### Response without winners
It's not guaranteed that an auction will result in winners. If there are no active campaigns that match it's criteria, there won't be any bids to place.
If our earlier auction request did not have any winners for either auction, it's response will look something like this:
```json theme={null}
{
"results": [
{
"winners": [],
"error": false
},
{
"winners": [],
"error": false
}
]
}
```
Note that this response still contains results for both auctions.
## Further reading
Check out the other pages in this section to see complete examples for different use cases.
# Banner Attribution
Source: https://docs.topsort.com/en/api-reference/examples/sponsored-banners/attribution
Learn how to use the auctions API to achieve banner purchase attribution.
Attributing conversions to the right campaign is vital for optimizing campaign performance and enabling data-driven decisions. Because banners can link to several kinds of targets, setting up attribution requires a bit more work compared to listings.
In this example, you'll learn how to set up attribution for banners that link to products, brands, or vendors.
Let's get started.
# Overview
In the context of banner attribution, the primary goal is to track and attribute conversions resulting from interactions with a banner and products associated with the banner you've configured in Topsort. Sometimes a user may view a banner, click on it, and then make a purchase later. In such cases, it's essential to attribute the purchase to the banner that initially caught the user's attention.
## Common Practice/Recommendation
When a user views a banner within a page, any subsequent purchases of products associated with the banner by the same user should be attributed to the banner campaign.
# Implementation: Attribution Methods
Currently, there are **two primary methods** for attributing a purchase to a banner within the platform, depending on the type of landing page the banner redirects to: one is product detail & listing pages (PDP & PLP), and the other is vendor pages.
## 1. Product Detail & Listing Pages (PDP & PLP)
This method involves sending a `resolvedBidId` along with an `additionalAttribution` object in a follow-up event linked to a specific product. The user journey follows this sequence:
### **Step 1:** **Page Loads with a Banner**
* A page loads with a banner that has won a Topsort auction.
* If the banner is set to charge by CPM (Cost Per Mille), a **banner impression event** should be sent to Topsort, including the `resolvedBidId` from the auction response, for billing purposes.
* If the user clicks on the banner and it’s set to charge by CPC (Cost Per Click), a **banner click event** should be sent to Topsort, again using the `resolvedBidId` from the auction response, for billing purposes.
### **Step 2:** **User Click and Redirection**
* Upon clicking the banner, the user is redirected to the specified landing page.
* From this point, different event requirements come into play depending on the type of banner landing page:
**Case 1.1. PDP (Product Detail Page)**
* If the banner redirects to a Product Detail Page, a **product click event** should be reported to Topsort when the user clicks on the banner.
* This event must include the `resolvedBidId` from the banner and the `additionalAttribution` object.
* In this case, the `additionalAttribution` object should have:
* **`id`**: Product ID of the clicked product.
* **`type`**: Set as "product".
* This approach ensures that any subsequent purchase of the product is attributed to the original banner.
Example of a click event with the `additionalAttribution` object:
```json theme={null}
{
"clicks": [
{
"id": "9dcb05ad-9bb4-40da-bd71-663cab413564",
"resolvedBidId": "ChAGcYkXyzR3q5UEOql7QpBd...",
"placement": {
"path": "/home/banner-destination-page"
},
"occurredAt": "2024-10-23T06:03:21.403Z",
"opaqueUserId": "7205415c-179f-4f7f-9fde-3ca8e7f16bc7",
"additionalAttribution": {
"id": "MKJY40600",
"type": "product"
}
}
]
}
```
**Case 1.2. PLP (Product Listing Page)**
* If the banner leads to a Product Listing Page, a **product click event** should be sent to Topsort only after the user clicks on one of the listed products.
* This event should include both the `resolvedBidId` from the banner and an `additionalAttribution` object.
* This ensures that any subsequent purchase of the clicked product is correctly attributed to the initial banner.
**Case 1.3. BLP (Brand or Vendor Landing Page)**
* If the banner leads to a brand or vendor page, and the goal is to attribute subsequent purchases to that brand/vendor, then **Halo attribution** should be used. See the next section for more details.
## 2. Vendor attribution
When the banner redirects to a vendor landing page or if all products purchased from a vendor after seeing a banner related to it should be attributed, then we use Halo attribution. This kind of attribution indirectly links a purchase to the banner by associating the vendor or brand from the `resolvedBidId` of the original banner event. This ensures that purchases are attributed even when the conversion path is not direct. Halo attribution can work in two ways:
### **2.1. Vendor Only Attribution:**
Banners can attribute all purchases of products from a specific vendor to the banner that led the user to the vendor's page. Communicate with the Topsort team to set up this attribution method at [support@topsort.com](mailto:support@topsort.com).
### **2.2. Vendor + Other Attribution:**
This approach is used when not all banners redirect to vendor pages and multiple landing page types exist. The flow is the same as described in [Product Detail & Listing Pages (PDP & PLP)](#1-product-detail--listing-pages-pdp--plp), but each purchased product item must be reported with its vendor ID. Example:
```json theme={null}
{
"purchases": [
{
"id": "06581ac9-0098-7797-b913-820b6bbbbed4",
"opaqueUserId": "065e8780-d526-789c-a813-cd1a9ab08d8e",
"occurredAt": "2024-10-28T07:43:54-06:00",
"items": [
{
"vendorId": "VEIA929919",
"unitPrice": 900,
"quantity": 1,
"productId": "MKQUJ9191"
}
]
}
]
}
```
# Sponsored Banners
Source: https://docs.topsort.com/en/api-reference/examples/sponsored-banners/banners
Learn how to use the auctions API to create auctions for listings and banners.
Banner Ad Integration: 3 stages
1. **Banner Configurations**: Create and share ad slots.
2. **Auctions for Banners**: Work with auction variables, requests and responses
3. **Rendering Banners**: render and display the winning banner assets
Banner ads can be used as homepage sliders, featured brands, and carousels.
# **Banner Configurations**
Provide a list of pages with unique identifiers for each banner slot.
## **Landing Pages**: Homepage or Custom Pages
Create slots for high-traffic homepages or other landing pages.
A slot includes:
* **SlotID**: A **unique** identifier that can contain alphanumeric characters and the following symbols: `!"#$%&'()*+,-._/:;<>?@[]^{}~=`
* **Name**: A descriptive name (e.g. Homepage Slide 1, Above Trending Products ).
* **URL or Deeplink**: The URL where the slot is located.
* **Landing Page name**: The slot's corresponding landing page.
* Image **Width** and **Height**, if you require different sizes across devices we support 1 more set of image sizes
| SlotID | Landing Page Name | URL or Deeplinks | Width | Height | Additional Width (optional) | Additional Height (optional) |
| :----------- | :----------------- | :------------------------------------------------- | :---- | :----- | :-------------------------- | :--------------------------- |
| top-slot-1 | Homepage Christmas | [http://example.com/home](http://example.com/home) | 100 | 50 | 40 | 40 |
| right-slot-2 | Homepage Christmas | [http://example.com/home](http://example.com/home) | 50 | 200 | | |
Use [this sample
file](https://docs.google.com/spreadsheets/d/1KMnGnYp6D3u4kwwofm3nZ97Jgwtvys5fqEfGRmO3aVQ/edit#gid=0)
to bulk upload banner configurations.
## **Category and Search**
Allow vendors to target specific categories and keywords. Define banner slots and share them.
Example:
| SlotID | Width | Height | Alternative Width (optional) | Alternative Height (optional) |
| :-------------- | :---- | :----- | :--------------------------- | :---------------------------- |
| category-bottom | 100 | 50 | 40 | 40 |
# **Auction Requests for Banners**
Storing the resolvedBidId.
The **resolvedbidId** simplifies event attribution and recording for you and your vendors, similar to **auctionID** in sponsored listings. It needs to be stored so events can be reported later, either as a cookie or session variable for web applications, or stored as an internal variable for mobile apps.
### Requests Fields
| Variable | Type | Definition | Required/optional | Notes |
| :---------- | :------ | :-------------------------------------------- | :---------------------------------------------------------------------------------------------- | :------------------------------------------------------- |
| type | string | Type of auction | required | Must be set as "banners" |
| slots | integer | Maximum number of auction winners | required | number of winners you would like the auction to return |
| slotId | string | External slot ID provided by the marketplace. | required | Format: `^[\w!\"#$%&'()_+,\-._/:;<>?@\[\]^\{\}~=\\]\_$` |
| categoryId | string | Marketplace's category ID for the auction. | required only if category banners | Defaults to homepage auction if no category ID provided. |
| searchQuery | string | | required only if search banners \*you can pass both categoryID and searchQuery in the same call | Example "blue running shoes" |
| device | string | Target device: desktop or mobile. | optional | Enum: "desktop" or "mobile." Defaults to "desktop." |
### Response Fields
| Variable | Type | Definition |
| --------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| resultType | string | "banners" |
| winners.resolvedBidId | string | A Topsort ID to be used when this item is interacted with (for reporting impressions or clicks) |
| winners.type | string | Type of the winning bid. Enum: "product", "vendor", "brand", "url". |
| winners.rank | integer | The product's auction rank indicates its position, with 1 being the winner. In the auction response, the winners array is sorted, and the rank corresponds to the entry's index. |
| winners.id | string | The marketplace's unique ID for the winning entity. |
| winners.asset | array | |
| winners.asset.url | string | URL source for a banner asset. The asset is served by Topsort's CDN, contained in asset array |
# **Rendering Banners**
Set the banner configurations inside the Topsort admin dashboard. Insert the banner in your web app's DOM or add a component to your mobile app code.
### **Web Apps**
For web apps, use the [`picture` element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/picture), which will let you provide multiple sources to the client browser. For example, if the asset has 2 sources:
```json theme={null}
"asset": [
{
"url": "https://topsort.cdnprovider.com/lhs-banner-image-for-p_PJbnN-1x.png",
"mimeType": "image/png",
"dimensions": {
"width": 400,
"height": 100,
}
},
{
"url": "https://topsort.cdnprovider.com/lhs-banner-image-for-p_PJbnN-2x.png",
"mimeType": "image/png",
"dimensions": {
"width": 800,
"height": 200,
}
}
]
```
Then you may generate the following HTML:
```html theme={null}
```
The client's browser will then choose the most adequate size depending on the user's device capabilities and only fetch the size that best fits the user's device.
### Native iOS (Swift)
We recommend using **[AlamofireImage](https://github.com/Alamofire/AlamofireImage)** to handle download and render options. You may get your client's device scaling factor by calling and pick the right size.
```swift theme={null}
[UIScreen mainScreen].scale;
```
### In Android (Java)
Use Glide library to render and cache images. As with iOS, you will need to check the device's scaling factor to determine which image to download:
```java theme={null}
// Get the screen's density scale
final float scale = getResources().getDisplayMetrics().density;
```
# Sponsored Banners in Carousels and Swimlanes
Source: https://docs.topsort.com/en/api-reference/examples/sponsored-banners/carousels
Creating carousels and swimlanes with Topsort banners
## Banner Carousels and Swimlanes
You can create carousels and swimlanes using Banners by requesting an auction for banners and specifying the number of banners you need for the carousel or swimlane. The banner candidates will be the banner campaigns created for the `slotId` related to the carousel or swimlane. Topsort will return the `product id` of the winners and the assets with links to creatives to be added to the carousel or swimlane.
You can also create single banner slot for the carousel or swimlane, and
request 3 results from the auction.
For example, suppose you have a "Back to School" landing page with a carousel featuring three campaigns from different brands. When a visitor lands on this page, you'll make a request with the `slots` parameter set to 3 so that Topsort can provide at least three winners. After receiving the winners, you can add the three banner ads to the carousel. If there are fewer than three winners, you can either add a fallback image for your marketplace promotions or show only one or two banners.
## Request
Here's an example auction request for a carousel with three banner slots targeting brands:
```json theme={null}
{
"auctions": [
{
"type": "banners",
"slots": 3,
"slotId": "backtoschool-carousel"
}
]
}
```
## Response
The response will include three products you can display in the carousel, ranked by the auction results. If there are no qualifying bids (no winners) or if there was an error, the response will be empty. In this case, you can only show the organic results. A new boolean variable, **error**, indicates whether the auction was resolved successfully.
Here's an example of the response for a call with one auction request using the API V2 in JSON format:
```json theme={null}
{
"results": [
{
"winners": [
{
"rank": 1,
"type": "brand",
"id": "p_Mfk15",
"resolvedBidId": "WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0",
"asset": [
{
"url": "https://topsort.cdnprovider.com/lhs-banner-image-for-p_PJbnN-1x.png"
}
]
},
{
"rank": 2,
"type": "brand",
"id": "p_8VKDt",
"resolvedBidId": "WyJlX1BKYm5OIiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0",
"asset": [
{
"url": "https://topsort.cdnprovider.com/lhs-banner-image-for-p_Paesa2N-1x.png"
}
]
},
{
"rank": 3,
"type": "product",
"id": "p_PJbnN",
"resolvedBidId": "WyJlX1BKYm5OIiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwiYmFubmVyQWRzIiwiZGVmYXVsdCIsIiJd",
"asset": [
{
"url": "https://topsort.cdnprovider.com/lhs-banner-image-for-p_PJbasnx-2x.png"
}
]
}
],
"error": false
}
]
}
```
# Sponsored Banners on category pages
Source: https://docs.topsort.com/en/api-reference/examples/sponsored-banners/categories
Working with product categories in the Topsort ecosystem
## Banner Ads on Category Pages
To display banner ads on category pages, the process is similar to that of search result pages. Instead of using the `searchQuery` field, you should use the `category` field in your auction request.
There are three options for specifying the category of brands, products, or vendors participating in the auction:
* Single Category
* Multiple Categories
* Category Disjunctions
### Request Example - Single Category Banner
Receive up to 5 auction results in 1 API call
```json theme={null}
{
"auctions": [
{
"type": "banners",
"slots": 1,
"slotId": "homepage",
"device": "mobile",
"category": {
"id": "c_yogurt"
}
}
]
}
```
### Response Example - Category
```json theme={null}
{
"results": [
{
"winners": [
{
"rank": 1,
"winnerType": "product",
"winnerId": "p_PJbnN",
"resolvedBidId": "WyJlX1BKYm5OIiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwiYmFubmVyQWRzIiwiZGVmYXVsdCIsIiJd",
"asset": [
{
"url": "https://topsort.cdnprovider.com/lhs-banner-image-for-p_PJbnN-1x.png"
}
]
}
],
"error": false
}
]
}
```
### Example: Category Disjunctions
Category disjunctions allow you to target multiple categories in a single auction request. You can specify multiple categories and the auction will consider ads from any of those categories. This is useful when you want to display banner ads that are relevant to various categories on a specific page.
Here's an auction request with a single banner slot targeting both hiking boots and running shoes categories using category disjunctions:
```json theme={null}
{
"auctions": [
{
"type": "banners",
"slots": 1,
"slotId": "categories-ribbon",
"category": {
"disjunctions": [["hiking_boots", "running_shoes"]]
}
}
]
}
```
The sample response below includes all the necessary information to serve the banner ads:
```json theme={null}
{
"results": [
{
"winners": [
{
"rank": 1,
"winnerType": "vendor",
"winnerId": "p_PJbnN",
"resolvedBidId": "WyJlX1BKYm5OIiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwiYmFubmVyQWRzIiwiZGVmYXVsdCIsIiJd",
"asset": [
{
"url": "https://topsort.cdnprovider.com/lhs-banner-image-for-p_PJbnN-1x.png"
}
]
}
],
"error": false
}
]
}
```
You can request **up to 5 auctions** in a single request. If you have multiple
banner slots on your category pages, you can request auctions for them in one
call.
# Sponsored Banners on landing pages
Source: https://docs.topsort.com/en/api-reference/examples/sponsored-banners/landing-pages
Learn how to use the auctions API to create auctions specifically for landing pages
High-visibility locations like the homepage and landing pages (specially crafted standalone pages for marketing purposes) are excellent choices for displaying relevant and engaging banner ads.
To serve banner ads on these pages, start by configuring your banner slots. When making auction requests for landing pages, ensure that the `category` and `searchQuery` fields are left empty.
Here's an example with only one banner slot on the search results page on desktop:
```json theme={null}
{
"auctions": [
{
"type": "banners",
"slots": 1,
"slotId": "backtoschool_banners_top",
"device": "desktop"
}
]
}
```
You can see a sample response with everything you need to serve the banner ads.
```json theme={null}
{
"results": [
{
"winners": [
{
"rank": 1,
"winnerType": "brand",
"winnerId": "p_PJbnN",
"resolvedBidId": "WyJlX1BKYm5OIiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwiYmFubmVyQWRzIiwiZGVmYXVsdCIsIiJd",
"asset": [
{
"url": "https://topsort.cdnprovider.com/lhs-banner-image-for-p_PJbnN-1x.png"
}
]
}
],
"error": false
}
]
}
```
# Sponsored Banners on search pages
Source: https://docs.topsort.com/en/api-reference/examples/sponsored-banners/search
Learn how to use the auctions API to create auctions for search results
To serve targeted banner ads on your search pages based on user queries, simply include the search query and slot ID in your auction request.
Here's an example showcasing a single banner slot on a search results page for mobile devices:
```json theme={null}
{
"auctions": [
{
"type": "banners",
"slots": 1,
"slotId": "search_banner_top",
"device": "mobile",
"searchQuery": "blue running shoes"
}
]
}
```
The sample response below provides all the necessary information to serve the banner ad:
```json theme={null}
{
"results": [
{
"winners": [
{
"rank": 1,
"winnerType": "product",
"winnerId": "p_PJbnN",
"resolvedBidId": "WyJlX1BKYm5OIiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwiYmFubmVyQWRzIiwiZGVmYXVsdCIsIiJd",
"asset": [
{
"url": "https://topsort.cdnprovider.com/lhs-banner-image-for-p_PJbnN-1x.png"
}
]
}
],
"error": false
}
]
}
```
winnerType can be "product", "brand", "vendor", or "url" based on the target
of the winning banner ads campaign.
# Sponsored brands
Source: https://docs.topsort.com/en/api-reference/examples/sponsored-brands
Learn how to use the Sponsored Brands auctions API to create auctions for brand promotions.
The Sponsored Brands Auctions API allows you to run auctions to promote brands using assets, text, and associated products.
## Before You Begin
To use the Sponsored Brand Auctions API, ensure you have completed the following:
1. [Obtain an API key](/en/api-reference/authentication#obtaining-an-api-key) for authentication.
2. [Create several campaigns](/en/knowledge-base/ad-platform/campaign-creation/), to have bids available for the auctions.
## Request
The `/auctions/sponsored-brand` endpoint allows you to run auctions for sponsored brand placements.
For the full specification of this endpoint, refer to the [API documentation](/en/api-reference/auctions/create-sponsored-brand-auctions).
### Example Request
```json theme={null}
{
"auctions": [
{
"winners": 2,
"placementId": "some-placement",
"triggers": {
"products": {
"ids": ["1", "8"]
}
}
}
]
}
```
### Example Request with Geolocation Targeting
```json theme={null}
{
"auctions": [
{
"winners": 2,
"placementId": "some-placement",
"triggers": {
"searchQuery": "electronics"
},
"geoTargeting": "new-york",
"opaqueUserId": "user-123"
}
]
}
```
### Example Request with Attributes Filter
```json theme={null}
{
"auctions": [
{
"winners": 2,
"placementId": "some-placement",
"triggers": {
"searchQuery": "running shoes"
},
"filter": {
"operator": "or",
"attributes": ["brand:nike", "category:66e895c424dd8e36c1318b0c"]
},
"opaqueUserId": "user-123"
}
]
}
```
The `filter` field narrows the auction to ads whose attributes match the given `key:value` pairs. Use `operator: "or"` to keep ads matching **any** of the attributes (broader match), or `operator: "and"` to keep only ads matching **all** of them (stricter match). Ads that don't match are excluded before ranking, so filtered-out bids never win or get charged. This feature requires additional integration and configuration — contact your Topsort representative to enable it.
#### Key Fields:
* **`auctions`**: An array containing auction objects.
* **`winners`**: The maximum number of winners for the auction.
* **`placementId`**: The ID of the placement where the ad will appear.
* **`triggers`**: Targeting criteria including:
* **`products.ids`**: An array of product IDs associated with the auction.
* **`searchQuery`**: Search terms for keyword-based targeting.
* **`category.id`**: Product category for broader targeting.
* **`geoTargeting`**: *(Optional)* Geographic location identifier for location-based campaign filtering.
* **`opaqueUserId`**: *(Optional)* Anonymous user identifier for personalization and enhanced targeting.
* **`filter`**: *(Optional)* Restricts the auction to ads whose attributes match the given `key:value` pairs.
* **`operator`**: `or` (match any attribute) or `and` (match all attributes).
* **`attributes`**: Up to 5 `key:value` strings. Both the key and value are limited to 40 characters each.
***
## Response
**Do not cache this response** or its results. Auctions must remain unique per page view to ensure proper operation.
Caching may result in repeated results for multiple users or sessions.
If no [request errors](https://topsort.mintlify.app/api-reference/errors) occur, the endpoint returns the results of the auction.
### Response With Winners
Example response when winners are found:
```json theme={null}
{
"results": [
{
"winners": [
{
"rank": 1,
"resolvedBidId": "ChAGc-G66Wt7LKQEOcW8VBdIEhABjz_zDXx7db-ZYpxiwJ3DGhABjr4Lt_J0_a7Xv_uIfyOXIgUKATEQATDrrg8",
"productId": "1",
"title": "Brand Example Promo 1",
"assets": [
{
"url": "https://assets.hosted.topsort.com/5bcccb92e5eaaa73ce9fcc545e944865bf70e9b60e5a048979769282450343c4/example-banner-1.png",
"role": "image",
"contentType": "image/png",
"contentLength": 33902,
"width": 920,
"height": 920
},
{
"url": "https://assets.hosted.topsort.com/c27c9cd94badc90fb50827e144dfacb2f51a601560905b950f525cec725ea85f/example-logo-1.png",
"role": "logo",
"contentType": "image/png",
"contentLength": 80648,
"width": 264,
"height": 264
}
],
"campaignId": "018f3ff3-0d7c-7b75-bf99-629c62c09dc3"
},
{
"rank": 2,
"resolvedBidId": "ChAGc-G66Wt7LKQEOcW8VBdIEhABk0pue7N5wYmzE04uO_iOGhABjr4Lt_J0_a7Xv_uIfyOXIgUKATgQATDrrg8",
"productId": "8",
"title": "Brand Example Promo 2",
"assets": [
{
"url": "https://assets.hosted.topsort.com/c049a46d834ab071cdde63e401d4efcd554e1a124f05c4ba9b3743fed2d43c4b/example-banner-2.jpeg",
"role": "image",
"contentType": "image/jpeg",
"contentLength": 4505,
"width": 403,
"height": 125
},
{
"url": "https://assets.hosted.topsort.com/db41a8b8b22c5ed9091f9f154b552b6bc1d1dbeb85059190f1c3b202977938f1/example-logo-2.png",
"role": "logo",
"contentType": "image/png",
"contentLength": 34747,
"width": 140,
"height": 160
}
],
"campaignId": "01934a6e-7bb3-79c1-89b3-134e2e3bf88e"
}
],
"error": false
}
]
}
```
### Response With No Winners
Example response when no winners are found:
```json theme={null}
{
"results": [
{
"winners": [],
"error": false
}
]
}
```
***
## **Further Reading**
For additional examples and use cases:
* [Create Sponsored Listings Auctions](/en/api-reference/examples/sponsored-listings)
* [Create Sponsored Banner Auctions](/en/api-reference/examples/sponsored-banners)
***
# Sponsored listings on category pages
Source: https://docs.topsort.com/en/api-reference/examples/sponsored-listings/categories
The examples on this page show how to run [auctions](/en/ad-server/auctions/auctions-api) for products belonging to specific [categories](/en/ad-server/catalog/product-feed).
Only bids that target products belonging to the given categories will have a chance to win these auctions. Bids targeting products that belong to other categories will not participate.
## Use cases
Running these kind of auctions on search pages will allow your vendors to promote products on category pages.
**Non traditional categories:**
Our catalog system does not make any assumption about what a category **is**.
If your marketplace deals with vacation homes for example, categories could be geographic locations instead of product groups.
## Specifying categories
The `/auctions` endpoint supports several ways to specify categories.
When you create an auction, you must pick **one** of the following methods:
| Method | Relevant field | Description |
| :-------------- | :---------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Single category | `category.id` | Bid targets must belong to the category. The `id` of category is the same value used when [upsert product](/en/api-reference/catalog-api/upsert-products). |
| All categories | `category.ids` | Bid targets must belong to **all** of the categories. |
| Disjunctions | `category.disjunctions` | Bid targets must belong to at least **one of** the categories of the disjunction. |
Let's look at some examples.
## Example API calls
### Request: Single category
```json theme={null}
{
"auctions": [
{
"type": "listings",
"slots": 2,
"category": {
"id": "laptop_bags"
}
}
]
}
```
The request above will create a single listings auction that:
* Has a maximum of two winners due to the `slots` field.
* Only allows bids that target products in a single category. The category ID is specified in the `category.id` field.
In this case, only bids that target products in the `laptop_bags` category can take part in the auction.
### Request: All categories
```json theme={null}
{
"auctions": [
{
"type": "listings",
"slots": 2,
"category": {
"ids": ["summer_hats", "sale"]
}
}
]
}
```
The request above will create a single listings auction that:
* Has a maximum of two winners due to the `slots` field.
* Only allows bids that target products that belong to **all categories**. The category IDs are specified in the `category.ids` field.
This field is plural. It's called `ids`, not `id`.
Only bids that target products that belong to both the `summer_hats` and the `sale` categories can take part in this auction.
### Request: Disjunctions ("at least one category")
```json theme={null}
{
"auctions": [
{
"type": "listings",
"slots": 2,
"category": {
"disjunctions": [["large", "medium"]]
}
}
]
}
```
The request above will create a single listings auction that:
* Has a maximum of two winners due to the `slots` field.
* Only allows bids that target products that belong to **one of the categories for the disjunction**. The disjunctions are specified as string arrays in the `category.disjunctions` field.
Only bids that target products that are in `large` or `medium` categories can participate in this auction.
### 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 the bids targeting products in the appropriate categories exist, a response to any of the above requests could look something like this:
```json theme={null}
{
"results": [
{
"winners": [
{
"rank": 1,
"type": "product",
"id": "p_Mfk15",
"resolvedBidId": "WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0="
},
{
"rank": 2,
"type": "product",
"id": "p_PJbnN",
"resolvedBidId": "WyJlX1BKYm5OIiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0="
}
],
"error": false
}
]
}
```
Notable here:
* The type of the winners is `product`, because we're running a listings auction.
* 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](/en/api-reference/examples/sponsored-listings/combining-results) for an example.
# Combining winners and organic results
Source: https://docs.topsort.com/en/api-reference/examples/sponsored-listings/combining-results
How to combine auction winners and organic listings
After running a listing [auction](/en/ad-server/auctions/auctions-api), you will often want to combine the winners with organic results.
For example, suppose you're building a category section of a webshop that will also show a number of sponsored products.
You will need a way to "inject" your auction winners into the regular category results.
This page shows the steps involved in building such a category section, but similar considerations apply to other pages or widgets.
## Scenario
The category section needs to support pagination and show 3 products per page. If possible, the first product on each page will be a sponsored product.
The products on this category page have the following structure:
```json theme={null}
{
"id": "sku-367",
"categoryId": "Shoes",
"name": "Running shoes",
"image": "photo_123.jpg",
"description": "Beautiful and fast running shoes",
"resolvedBidId": null
}
```
The `resolvedBidId` is `null` when the product is not promoted and contain a string ID when it is.
Our goal is to have the pseudo code in place for an endpoint that could create lists of such products.
## 1. Query your organic results
The first step will be to query your organic results. The products that should be displayed for a specific page and category.
The code to do this could look like this:
```js theme={null}
const pageSize = 3;
let products = queryProductsInCategory(pageSize, cursor, categoryId);
console.log(products);
```
Let's say we were to run this code for the first page of the `Shoes` category, and there's 3 or more products available in this category. This code would then output something similar to this:
```json theme={null}
[
{
"id": "sku-367",
"categoryId": "Shoes",
"name": "Running shoes",
"image": "photo_123.jpg",
"description": "Beautiful and fast running shoes"
},
{
"id": "sku-897",
"categoryId": "Shoes",
"name": "Slippers",
"image": "slippers.jpg",
"description": "A pair of comfortable slippers"
},
{
"id": "sku-343",
"categoryId": "Shoes",
"name": "Dress shoes",
"image": "dress_shoe_original.jpg",
"description": "Elegant dress shoes for formal events"
}
]
```
Note that these products don't have the `resolvedBidId` field yet, let's add it.
```js theme={null}
const pageSize = 3;
let products = queryProductsInCategory(pageSize, cursor, categoryId);
products.forEach((prod) => {
prod.resolvedBidId = null;
});
```
Now, we do need to consider what happens if there are **no organic results** for this page and category. We probably want to return a 404 error and not run any auctions.
This gives us the following code:
```js theme={null}
const pageSize = 3;
let products = queryProductsInCategory(pageSize, cursor, categoryId);
if (products.length === 0) {
throw new NotFoundError("no products found");
}
products.forEach((prod) => {
prod.resolvedBidId = null;
});
```
With this error handling in place, we're ready to run an auction.
## 2. Running an auction
In our scenario we want to run an auction for a single slot:
```js theme={null}
// skip earlier code...
const slots = 1;
const winners = runAuctionForCategory(slots, categoryId);
console.log(winners);
```
**Not sure how run an auction for a category?** Check out [these
examples](/en/api-reference/examples/sponsored-listings/categories).
If there are winners, the output of the above code would look something like this:
```json theme={null}
[
{
"rank": 1,
"type": "product",
"id": "sku-444",
"resolvedBidId": "WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0="
}
]
```
If you look at the winners, you will see that they contain no product data, just a bunch of ID's.
We will need to query the product data for these winners.
Also, it's possible for there to be no winners. It could simply be that there are no suitable active campaigns for this auction, but there are many other potential reasons.
Regardless, we need to account for this case and we'll simply return the organic results available in `products`.
```js theme={null}
// skip earlier code...
const slots = 1;
const winners = runAuctionForCategory(slots, categoryId);
if (winners.length === 0) {
return products;
}
```
## 3. Query product data for winners
Now, when there **are winners**. We need to query the product data for them.
```js theme={null}
// skip earlier code...
const ids = winners.map((x) => x.id);
const promoProducts = queryProductsByIds(ids);
console.log(promoProducts);
```
Following through on our earlier examples, this could log something like:
```json theme={null}
[
{
"id": "sku-444",
"categoryId": "Shoes",
"name": "Wooden clogs",
"image": "clogs.jpg",
"description": "Original wooden clogs."
}
]
```
Again, we need to add the `resolvedBidId` to complete this data. But, this time we shouldn't set it to `null`, because we're now dealing with promoted products.
If we assume `queryProductsByIds` will return products in the same order as the provided `ids`, we can add the bid IDs as follows:
```js theme={null}
// skip earlier code...
const ids = winners.map((x) => x.id);
const promoProducts = queryProductsByIds(ids);
promoProducts.forEach((prod, i) => {
prod.resolvedBidId = winners[i].resolvedBidId;
});
```
**Why is this bid ID necessary?** The bid ID is vital to enable Topsort to
attribute [events](/en/ad-server/events/events-api) to bids and campaigns.
Now all that remains is to merge our promoted products with the organic results.
## 4. Merging
We want to show the promoted products at the start of the list.
To achieve, we will need to prepend the `promoProducts` to the `products`.
However, this can then make `products` have more elements than our intended page size of 3. So we need to slice it to remain in this page size.
```js theme={null}
// skip earlier code...
products.unshift(...promoProducts);
return products.slice(0, pageSize);
```
Now our code returns a maximum of 3 products, of which the first product can be a sponsored product.
## Full code
```js theme={null}
// query for organic products.
const pageSize = 3;
let products = queryProductsInCategory(pageSize, cursor, categoryId);
if (products.length === 0) {
throw new NotFoundError("no products found");
}
products.forEach((prod) => {
prod.resolvedBidId = null;
});
// run an auction.
const slots = 1;
const winners = runAuctionForCategory(slots, categoryId);
if (winners.length === 0) {
return products;
}
// query product data for winners.
const ids = winners.map((x) => x.id);
const promoProducts = queryProductsByIds(ids);
promoProducts.forEach((prod, i) => {
prod.resolvedBidId = winners[i].resolvedBidId;
});
// merge results.
products.unshift(...promoProducts);
return products.slice(0, pageSize);
```
# Sponsored listings in search results
Source: https://docs.topsort.com/en/api-reference/examples/sponsored-listings/search
Learn how to use sponsored listings on search results
The example on this page shows how to run [auctions](/en/ad-server/auctions/auctions-api) for products originating from search results.
There are two ways to run these type of auctions:
* Using the `searchQuery` parameter, where only bids that target products with matching keywords will have a chance to win such auctions.
* Using a [set of products](/en/api-reference/examples/sponsored-listings/set-of-products) and additionaly use the `searchQuery` parameter to expand the list of bids by adding products with matching keywords to the ones in the set of products.
## Use cases
Running these kind of auctions on search pages will allow your vendors to promote products inside the search results.
## Example API call
### Request: using `searchQuery`
```json theme={null}
{
"auctions": [
{
"type": "listings",
"slots": 2,
"searchQuery": "Running shoes"
}
]
}
```
The request above will create a single listings auction:
* It will have a maximum of two winners due to the `slots` field.
* The `searchQuery` field determines what keywords bid targets must have.
Only bids that target products with the `Running shoes` keyword can take part in this auction.
### Response
```json theme={null}
{
"results": [
{
"winners": [
{
"rank": 1,
"type": "product",
"id": "p_Mfk15",
"resolvedBidId": "WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0="
},
{
"rank": 2,
"type": "product",
"id": "p_PJbnN",
"resolvedBidId": "WyJlX1BKYm5OIiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0="
}
],
"error": false
}
]
}
```
Notable here:
* The type of the winners is `product`, because we're running a listings auction.
* There are two winners, the maximum that is allowed by the `slots` field in the request.
### Request: combining products and `searchQuery`
```json theme={null}
{
"auctions": [
{
"type": "listings",
"slots": 2,
"products": {
"ids": [
"p_ojng4",
"p_8VKDt",
"p_Mfk15"
]
}
"searchQuery": "Running shoes"
}
]
}
```
The request above will create a single listings auction:
* It will have a maximum of two winners due to the `slots` field.
* The `searchQuery` field determines what keywords bid targets must have.
Products entering this auctions will be `"p_ojng4"`, `"p_8VKDt"`, `"p_Mfk15"` and those with a keyword matching the `searchQuery`.
### Response
```json theme={null}
{
"results": [
{
"winners": [
{
"rank": 1,
"type": "product",
"id": "p_Mfk15",
"resolvedBidId": "WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0="
},
{
"rank": 2,
"type": "product",
"id": "p_PJbnN",
"resolvedBidId": "WyJlX1BKYm5OIiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0="
}
],
"error": false
}
]
}
```
Notable comments:
* The type of the winners is `product`, because we're running a listings auction.
* There are two winners, the maximum that is allowed by the `slots` field in the request.
* The winner in rank 1 `"p_Mfk15"` comes from the set of product and rank 2 `"p_PJbnN"` comes from matching keywords
since its `id` was not specified in the auction request.
Running auctions using the `searchQuery` parameter enhances Topsort to improve
the Keywords Matching algorithm.
Using this type of auctions does not allow to use **quality scores**.
## 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](/en/api-reference/examples/sponsored-listings/combining-results) for an example.
# Sponsored listings from a set of products
Source: https://docs.topsort.com/en/api-reference/examples/sponsored-listings/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](/en/ad-server/auctions/auctions-api) for a set of [products](/en/ad-server/catalog/).
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:
```json theme={null}
{
"auctions": [
{
"type": "listings",
"slots": 2,
"products": {
"ids": ["p_PJbnN", "p_ojng4", "p_8VKDt", "p_Mfk15"]
}
}
]
}
```
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](/en/ad-server/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.
### Adding custom quality scores
You may sometimes want to incorporate custom quality scores for each product. The quality
score is a number between 0 and 1 that encodes the relevance of the participating products. The use of quality
scores helps mitigate risks and losses due to non-relevant products winning auctions.
To include custom quality scores in the request, modify the `products` field as shown below:
```json theme={null}
{
"auctions": [
{
"type": "listings",
"slots": 2,
"products": {
"ids": ["p_PJbnN", "p_ojng4", "p_8VKDt", "p_Mfk15"],
"qualityScores": [0.5, 0.4, 0.7, 0.6]
}
}
]
}
```
In this example:
* Product `p_PJbnN` has a quality score of `0.5`.
* Product `p_ojng4` has a quality score of `0.4`.
* Product `p_8VKDt` has a quality score of `0.7`.
* Product `p_Mfk15` has a quality score of `0.6`.
**Important**: The number of quality scores must match the number product IDs. If they do not match, the request will fail.
**Caveat**: You cannot include quality scores and a search query. While running an auction with a search query and a
set of products is allowed, the request cannot include custom quality scores.
### 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:
```json theme={null}
{
"results": [
{
"winners": [
{
"rank": 1,
"type": "product",
"id": "p_Mfk15",
"resolvedBidId": "WyJiX01mazE1IiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0="
},
{
"rank": 2,
"type": "product",
"id": "p_PJbnN",
"resolvedBidId": "WyJlX1BKYm5OIiwiMTJhNTU4MjgtOGVhZC00Mjk5LTgzMjctY2ViYjAwMmEwZmE4IiwibGlzdGluZ3MiLCJkZWZhdWx0IiwiIl0="
}
],
"error": false
}
]
}
```
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 create a result that can be shown to the end-user.
Check [this page](/en/api-reference/examples/sponsored-listings/combining-results) for an example.
# Webhook event & payloads
Source: https://docs.topsort.com/en/api-reference/examples/webhooks/event-payloads
Learn about the event and payload specifications for webhooks.
## Example event response
Below is an example of a webhook event response for a campaign update. Common fields for all events are:
* `channel`: The type of the event that occurred
* `timestamp`: When the event occurred
* `id`: Unique id for the event which can be used for deduplication
* `payload`: The payload contains the details of the event and will vary depending on the event, which is covered in detail below
```json theme={null}
{
"channel": "campaign:update",
"timestamp": "2024-10-31T14:42:55.759185Z",
"id": "gUo",
"payload": {
"name": "My campaign",
"campaign_id": "edac69a3-3ca2-41d6-af9e-08d3126099b4"
}
}
```
## Campaign creation
Triggered when a campaign is created. To see the full specification of the payload, see the [Campaign Create](/en/api-reference/campaign-api/create-campaign) API response.
```json theme={null}
{
"channel": "campaign:create",
"timestamp": "2024-10-31T14:42:55.759185Z",
"id": "gUo",
"payload": {
"name": "My campaign",
"campaign_id": "edac69a3-3ca2-41d6-af9e-08d3126099b4"
}
}
```
## Campaign update
Triggered when a campaign is updated. To see the full specification of the payload, see the [Campaign Update](/en/api-reference/campaign-api/update-campaign-by-id) API response.
```json theme={null}
{
"channel": "campaign:update",
"timestamp": "2024-10-31T14:42:55.759185Z",
"id": "gUo",
"payload": {
"name": "My new campaign name",
"campaign_id": "edac69a3-3ca2-41d6-af9e-08d3126099b4"
}
}
```
## Campaign deletion
Triggered when a campaign is deleted.
```json theme={null}
{
"channel": "campaign:delete",
"timestamp": "2024-10-31T14:42:55.759185Z",
"id": "gUo",
"payload": {
"name": "My campaign",
"ad_format": "listing",
"vendor_id": "2355d342-222e-4dc9-af92-81c3865b3b66",
"campaign_id": "edac69a3-3ca2-41d6-af9e-08d3126099b4",
"campaign_type": "autobidding",
"marketplace_id": "ad666c53-b174-497a-b52f-77354947456c"
}
}
```
# Using webhooks
Source: https://docs.topsort.com/en/api-reference/examples/webhooks/usage
Learn how to create and use webhooks.
# Overview
You can create webhooks to receive notifications when certain events occur in your account. For example, you can create webhooks to receive notifications when a campaign is created, updated, or deleted.
To receive notifications, you need to specify the URL where the notifications will be sent. When an event occurs, your URL will receive an HTTP POST request with the details of the event. Your URL:
* Must be publicly accessible
* Must be able to receive POST requests
* Must return a 2xx HTTP status code for successful requests
To create a webhook, you need to call the [Create Webhook](/en/api-reference/webhooks-api/create-webhook) API. You can specify the event that will trigger the webhook by using the `channel` field.
You can only create one webhook per channel.
# Retries
If your webhook URL is unreachable at the time of the event, we will retry sending the request up to 5 times with exponential backoff within the next 1 minute.
We will only retry the request for 5xx or 429 HTTP status code.
# Validation
To ensure that your server only processes webhook deliveries that were sent by Topsort and that the delivery was not tampered with, you should validate the webhook signature before processing the delivery further.
Topsort will use your webhook secret and the event payload to generate a signature and include it in the `X-TS-Signature-256` HTTP header for every delivery.
You can specify your webhook secret when creating a webhook. If you don't specify a secret, we will generate one for you. You should store your secret safely on your server.
Topsort uses HMAC hex digest to compute the hash of the signature. The signature will always start with `sha256=`. You should verify that the signature is correct by recomputing the hash on your side and comparing it to the signature in the `X-TS-Signature-256` header.
## Example signature verification
```python theme={null}
import hmac
import hashlib
secret = "my-webhook-secret"
request = ... # incoming request from the webhook delivery
signature = hmac.new(
key=secret.encode(),
msg=await request.body(),
digestmod=hashlib.sha256,
).hexdigest()
expected_signature = "sha256=" + signature
incoming_signature = request.headers["X-TS-Signature-256"]
if not hmac.compare_digest(incoming_signature, expected_signature):
# The signature is not valid, do not process the delivery
else:
# The signature is valid, process the delivery
```
# Introduction
Source: https://docs.topsort.com/en/api-reference/introduction
This reference is generated from the Topsort [openapi specification](#openapi-specification) and includes quite a few operations.
However, only two are required for a typical integration.
## A typical integration
Provide your catalog via a product feed.
(Have vendors create campaigns).
Run auctions [via the API](/en/api-reference/auctions/create-auctions) or using our clients.
The details will depend on your marketplace and needs. A selection of examples is available [here](/en/api-reference/examples/auctions).
Use one of the analytics libraries to report events.
## Available API's
Typical integrations will use these APIs:
* **Auctions:** Runs auctions in your marketplace.
* **Events:** Collects data on auction results.
For advanced integrations you might want to look at:
* **Audiences:** Manage audiences.
* **Campaigns:** Manage campaigns.
* **Catalog:** Manage products, categories and vendors.
* **Billing:** Manage vendor balances.
* **Reporting:** Read reports on marketplace, campaign or product performance.
* **Invitations:** Invite vendors to your marketplace.
## URLs and redirects
To minimize the impact of auctions on your app's performance, there is no redirect from URLs with a trailing slash (`/`). This is to avoid an extra round trip before auction winners are returned.
For example, when you want to run an auction, use `/v2/auctions`, not `/v2/auctions/`.
Using an URL with a trailing slash will result in a `404 Not Found` error.
## API Status
You can monitor and check API Status [here](https://topsort.statuspage.io/).
## Rate Limits
Topsort enforces rate limits on some of the endpoints to ensure that the quality of service is maintained for all users.
The rate limits are different for the production and sandbox environments and are as follows:
| Environment | Endpoint | Rate Limit |
| ----------- | ------------------- | --------------------------- |
| Sandbox | Catalog API | 4 rps |
| Sandbox | Other Advanced APIs | 5 requests every 2 seconds |
| Sandbox | Auctions and Events | 10,000 rps (default) |
| Production | Catalog API | 10 rps |
| Production | Other Advanced APIs | 45 requests every 2 seconds |
| Production | Auctions and Events | 10,000 rps (default) |
The default rate limit for Auctions and Events endpoints is 10,000 requests
per second. This limit can be increased based on your specific traffic
requirements. Contact your Topsort representative to discuss higher limits for
your integration.
### Rate limit headers
Use these headers to navigate rate limits and when you can make another request:
* `X-RateLimit-Limit` - total number of requests allowed for the time period
* `X-RateLimit-Remaining` - remaining number of requests for the time period
* `X-RateLimit-Reset` - when you can make another request
### How to handle rate limits
When you exceed the rate limit, you will receive a `429 Too Many Requests` response. To handle this, you can implement a retry mechanism with an exponential backoff strategy. This will help you to avoid hitting the rate limit again.
Here is an example of how you can implement this in Typescript:
```typescript theme={null}
/**
* Wraps `fetch()` with a retry function that respects retry limits from the API
*
* @param {string|URL} url
* @param {RequestInit} request
* @param {number} retries = 1
* @returns {Promise}
*/
async function fetchWithRetry(url, request, retries = 1) {
const response = await fetch(url, request);
if (!response.ok) {
if (response.status === 429) {
// Handle rate limit
const s = response.headers.get("X-RateLimit-Reset");
await new Promise((resolve) => setTimeout(resolve, s * 1000));
return fetchWithRetry(url, request, retries + 1);
}
throw new Error(
`Failed to upload: ${response.status} ${await response.text()}`
);
}
}
```
## OpenAPI Specification
The OpenAPI specification is available as a JSON file [here](/openapi.json).
# Developer Logs
Source: https://docs.topsort.com/en/api-reference/logs
Access and interpret API logs in the Topsort admin platform
## Where to Find Logs
Navigate to **Dev Tools** tab in your Topsort Ad Platform to access real-time logs for your API key.
## Log Availability
| Environment | What's Logged | Retention |
| -------------- | ------------------------------- | --------- |
| **Staging** | All API requests and responses | 30 days |
| **Production** | Errors and failed requests only | 30 days |
As your production API usage scales up, successful requests may be filtered from logs to improve performance. Errors and debugging information will always be available.
## Understanding Log Entries
### Successful Requests
Successful API calls show:
* **Status:** HTTP 200/201/204 status codes
* **Timestamp:** When the request was made
* **Endpoint:** Which API endpoint was called
* **Response time:** How long the request took
* **Request size:** Size of request/response data
### Error Entries
Failed requests include additional debugging information:
* **Status:** HTTP error code (400, 401, 403, etc.)
* **Error details:** Specific error code and message
* **Request body:** What data was sent (for debugging)
* **Stack trace:** Internal error details (when available)
## Common Log Patterns
### Authentication Issues
```
401 Unauthorized - invalid_api_key
Missing Authorization header
```
**Solution:** Add `Authorization: Bearer YOUR_API_KEY` header
### Validation Errors
```
422 Unprocessable Entity - invalid_product_id
Product 'sku_123' not found in catalog
```
**Solution:** Verify product exists and is spelled correctly
### Rate Limiting
```
429 Too Many Requests - rate_limited
X-RateLimit-Remaining: 0
```
**Solution:** Implement exponential backoff retry logic
## Using Logs for Debugging
### 1. Events Not Appearing in Dashboard
Look for:
* **200 status** on `/events` calls
* **Validation errors** in event payload
* **Timestamp issues** (`occurredAt` in future or too old)
### 2. Empty Auction Results
Check:
* Campaign budget status
* Product availability in catalog
* Auction request format
### 3. Attribution Problems
Review event logs for:
* Consistent user ID usage
* Proper `resolvedBidId` from auctions
* Timing of click/purchase events
## Best Practices
### Log Monitoring
* Check logs after deploying new integration code
* Monitor error rates during high-traffic periods
* Set up alerts for recurring error patterns
### Troubleshooting Workflow
1. **Reproduce the issue** in staging environment
2. **Check recent logs** for error patterns
3. **Verify request format** against [API documentation](/api-reference)
4. **Test with minimal payload** to isolate the problem
5. **Contact support** with log timestamps for complex issues
## Privacy and Data Handling
* Logs may contain sensitive data from your requests
* Production logs automatically expire after 30 days
* Access to logs is restricted to admin users only
* Personal data in logs follows standard data retention policies
## Need Help?
If you're seeing persistent errors in your logs:
1. **Note the timestamp** of problematic requests
2. **Copy the exact error message** and request details
3. **Contact support** with this information for faster resolution
Our team can access detailed server-side logs to help diagnose complex integration issues.
# [BETA] Account Activity Reports.
Source: https://docs.topsort.com/en/api-reference/toppie-api/[beta]-account-activity-reports
/openapi.json get /public/v1/toppie/reporting/account-activity
Retrieve account activity reports.
# [BETA] Create Toppie Campaign
Source: https://docs.topsort.com/en/api-reference/toppie-api/[beta]-create-toppie-campaign
/openapi.json post /public/v1/toppie/campaigns
Create a new agency campaign with the provided details.
# [BETA] Delete Toppie Campaign
Source: https://docs.topsort.com/en/api-reference/toppie-api/[beta]-delete-toppie-campaign
/openapi.json delete /public/v1/toppie/campaigns/{campaign-id}
Delete an agency campaign.
# [BETA] Get Agency Account Report.
Source: https://docs.topsort.com/en/api-reference/toppie-api/[beta]-get-agency-account-report
/openapi.json get /public/v1/toppie/reporting
Retrieve a general report for an account.
# [BETA] Get Campaign Products Report.
Source: https://docs.topsort.com/en/api-reference/toppie-api/[beta]-get-campaign-products-report
/openapi.json get /public/v1/toppie/reporting/campaigns/{campaign-id}/products
Retrieve a product-level report for a specific campaign.
# [BETA] Get Campaign Report.
Source: https://docs.topsort.com/en/api-reference/toppie-api/[beta]-get-campaign-report
/openapi.json get /public/v1/toppie/reporting/campaigns/{campaign-id}
Retrieve a detailed report for a specific campaign.
# [BETA] Get Campaigns Reporting.
Source: https://docs.topsort.com/en/api-reference/toppie-api/[beta]-get-campaigns-reporting
/openapi.json get /public/v1/toppie/reporting/campaigns
Retrieve a list of campaigns and their reports.
# [BETA] Get Toppie Campaign Bids
Source: https://docs.topsort.com/en/api-reference/toppie-api/[beta]-get-toppie-campaign-bids
/openapi.json get /public/v1/toppie/campaigns/{campaign-id}/bids
Retrieve bidding data for a specific campaign.
# [BETA] Get Toppie Campaign Details
Source: https://docs.topsort.com/en/api-reference/toppie-api/[beta]-get-toppie-campaign-details
/openapi.json get /public/v1/toppie/campaigns/{campaign-id}
Retrieve configuration details for a specific campaign.
# [BETA] Get Toppie Campaigns
Source: https://docs.topsort.com/en/api-reference/toppie-api/[beta]-get-toppie-campaigns
/openapi.json get /public/v1/toppie/campaigns
Retrieve a list of campaigns associated with a specific account.
# [BETA] List Account Products
Source: https://docs.topsort.com/en/api-reference/toppie-api/[beta]-list-account-products
/openapi.json get /public/v1/toppie/products
Retrieve a list of products associated with a specific account.
# [BETA] Update Toppie Campaign
Source: https://docs.topsort.com/en/api-reference/toppie-api/[beta]-update-toppie-campaign
/openapi.json patch /public/v1/toppie/campaigns/{campaign-id}
Update an agency campaign with the provided details.
# Get Agency Daily Kpis By Product Dump Urls
Source: https://docs.topsort.com/en/api-reference/toppie-api/get-agency-daily-kpis-by-product-dump-urls
/openapi.json get /public/v1/toppie/reporting/file-reports/daily-kpis-by-product
Retrieve pre-signed S3 URLs for daily product-wise KPI files.
This endpoint provides a list of Amazon S3 pre-signed URLs, allowing access to
product-wise daily KPIs for Toppie. The data is provided in Parquet file format.
Files become available daily after **3 AM UTC** and contain KPI data for the
**previous day**.
# [Beta] Add Quality Score
Source: https://docs.topsort.com/en/api-reference/toptimize/[beta]-add-quality-score
/openapi.json post /toptimize/v1/predictions
Use the `/predictions` endpoint to get contextual predictions of conversion and relevance metrics, which are personalized by user and context.In order to provide predictions, Topsort requires that events are also sent, as a source of information.
# [Beta] Rank objects
Source: https://docs.topsort.com/en/api-reference/toptimize/[beta]-rank-objects
/openapi.json post /toptimize/v1/rank
> ⚠️ **Beta Access Required**
> Contact your sales representative to gain access to this endpoint and start using it.
Use the `/ranking` endpoint to re-rank objects to show on a page. This endpoint can retrieve sponsored
and non-sonsored objects and rank them together, according to an appropriate context and behavior information.
# [Beta] Retrieve objects
Source: https://docs.topsort.com/en/api-reference/toptimize/[beta]-retrieve-objects
/openapi.json post /toptimize/v1/retrieval
> ⚠️ **Beta Access Required**
> Contact your sales representative to gain access to this endpoint and start using it.
Use the `/retrieval` endpoint to get recommendations of which products are relevant given a
certain context. Context is provided by user information, plus seed products. This can be used
to retrieve object to display on a PDP (single seed product) or in a cart (multiple seed products).
In order to provide retrieval, Topsort requires that events are also sent, as a source of
information.
# Banners.js
Source: https://docs.topsort.com/en/ad-platform/banners/bannersjs
Learn how to integrate Topsort with Banners.js
Topsort's [banner.js public library](https://github.com/Topsort/banners.js/) allows marketplaces display banner ads through a low-code integration. By using a simple HTML tag, the marketplace can connect to Topsort's ad server and render banners from active campaigns without complex integrations.
## Installation
You can install the library using npm or yarn, or load the SDK directly in your HTML file by including a `
```
## Usage
This example shows a minimal setup required to do it. The integration works with standard HTML and Javascript, making it compatible with most frontend stacks.
To test it, you just need to add your Marketplace API Key and the banner slot id, configured in the campaign.
```html theme={null}
```
## Banner Attributes
These are the attributes available for the `` component. They serve as input to the auction request, to fetch the right winners for that context.
| Name | Type | Description |
| ----------------------- | ------ | ------------------------------------------------------- |
| width | number | Banner width |
| height | number | Banner height |
| id | string | The slot ID for this banner, configured at the campaign |
| Category-id (optional) | string | Contextual category for targeting |
| Search-query (optional) | string | Contextual keyword for targeting |
## Banner Behaviors
These are the attributes available for the `` component. They serve as input to the auction request, to fetch the right winners for that context.
| Name | Type | Description |
| ----------------- | ----------- | ---------------------------------------------------------- |
| getLink(banner) | string | Destination URL of the banner, configured at the campaign. |
| getLoadingElement | HTMLElement | A custom element to be shown when the banner is loading. |
| getErrorElement | HTMLElement | A custom element to be shown when an error occurs. |
## Banner Interface
The banner interface is the structure of a banner object. Each banner contains metadata about the campaign, and the resolvedBidId, the parameter needed for tracking user interactions (clicks and impressions).
| Name | Type | Description |
| ------------- | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| type | "product" \| "vendor" \| "brand" \| "url" | The type of the winning entity, represented by the banner, configured at the campaign. |
| id | string | The ID of the winning entity. If the entity is of type URL, this is the URL. |
| resolvedBidId | string | The corresponding bid ID of the winning entity, needed for tracking user interaction (clicks, impressions) with the ad. |
| asset | \[\{ url: string }] | An array of urls linking to the assets of the banner. |
# Google Tag Manager (GTM)
Source: https://docs.topsort.com/en/ad-platform/banners/google-tag-manager
How to integrate Topsort with Google Tag Manager (GTM) using our banners.js script
You can use Google Tag Manager to inject our banner ads script in your platform. Check the Banner JS documentation for more details.
## Prerequisites
You need to have a Google Tag Manager account and access to the GTM container for the website where you want to add the HTML.
Copy the code below and paste it onto every page of your website.
Paste this code as high in the `` of the page as possible (setting your GTM key):
```html theme={null}
```
Paste this code immediately after the opening `` tag (setting your GTM key):
```html theme={null}
```
You need to have a `` tag in the HTML with the height and width of the slot you want to display.
```html theme={null}
```
## On Google Tag Manager
Open your Google Tag Manager dashboard.
Click on 'Current Workspace' from the sidebar and then select another one if needed.
Click on 'Tags' from the sidebar and then 'New'.
Select 'Custom HTML Tag' from the list of tag types.
Enter your custom HTML code into the HTML text box. The code must include your topsort Marketplace API Key. To get a new token go to app.topsort.com → Settings → API Integration.
```html theme={null}
```
Choose a trigger to determine when the HTML should be executed (e.g., Page View, Click, etc.).
Save your tag and use the 'Preview' mode to test the functionality of your HTML on your site.
Check that the site is showing the banners, that the events are being reported correctly and that the opaqueUserId changes when using different browsers.
Once verified, publish the changes to make the HTML live on your website.
# Ad Platform | Standard Integration
Source: https://docs.topsort.com/en/ad-platform/index
Learn how to create and manage campaigns on the Topsort platform
**Ad Platform** is your complete, out-of-the-box advertising solution for marketplaces looking to launch and grow their retail media business quickly. Built for ease of use and rapid deployment, it provides everything you need to start monetizing your traffic without extensive development work.
With Ad Platform, you get pre-built tools for campaign management, reporting dashboards, event tracking, and multiple integration options that work with your existing marketplace infrastructure. Whether you're displaying banner ads or sponsored product listings, Ad Platform handles the complexity so you can focus on growing revenue.
## Who Is This For?
Ad Platform is ideal for:
* **Marketplaces** looking for quick, low-code integration
* **Product teams** who want to launch ads without extensive backend work
* **Businesses** seeking standard advertising features with minimal customization
**Need more control?** If you require full API access and custom implementations, explore [Ad Server](/en/ad-server) instead.
## Key Features
Quick setup with pre-built tools
Create and manage ad campaigns
Ready-made dashboards and reporting
Banner ads and sponsored listings
## Integration Options
Choose the integration path that fits your marketplace:
### Banners
Display banner advertisements across your marketplace with minimal setup.
JavaScript SDK for banner ads
Deploy banners with GTM
### Listings
Monetize your product search results with sponsored listings.
Import catalog with feeds
Enrich search results with sponsored products
Track user interactions and conversions
### SDKs & Libraries
Client libraries for seamless integration into your application.
Client-side web SDK
Native Swift SDK for iOS apps
Native Kotlin SDK for Android apps
Server-side PHP library
### Platform Plugins
Pre-built integrations for popular e-commerce platforms.
Native VTEX marketplace integration
Salesforce Commerce Cloud integration
## Getting Started
New to Ad Platform? Follow these steps:
1. **Choose your integration method** - Select from banners, listings, SDKs, or plugins
2. **Import your catalog** - Use product feeds to make your inventory available for ads
3. **Set up ad placements** - Integrate our tools where you want ads to appear
4. **Enable campaigns** - Allow advertisers to create and manage campaigns
5. **Track & optimize** - Monitor performance and optimize for better results
Start with [Product Feed](/en/ad-platform/listings/product-feed) to import your catalog, then add [Banners.js](/en/ad-platform/banners/bannersjs) or [Topsort Proxy](/en/ad-platform/listings/topsort-proxy) for ad display.
## Need Full API Control?
While Ad Platform provides excellent out-of-the-box functionality, some businesses need complete flexibility:
* **Custom ad logic** and ranking algorithms
* **Full control** over auction mechanics
* **Advanced integrations** with proprietary systems
* **Custom event tracking** and analytics
If this describes your needs, explore [Ad Server](/en/ad-server) for complete API access and maximum customization.
# Analytics.js
Source: https://docs.topsort.com/en/ad-platform/listings/analytics-js
Integrate and send interaction events with the analytics.js library
Topsort's [analytics.js public library](https://github.com/Topsort/analytics.js) allows marketplaces to easily send Topsort interaction events, such as clicks, impressions and purchases, with a low-code integration. By using a simple HTML tag, the marketplace can connect to Topsort's ad server and send all tracking events related to an ad.
## Installation
You can install the library using npm:
```html theme={null}
npm install @topsort/analytics.js@2.4.0 --save
```
## Configuration
At your application's entry point, e.g. index.js
```html theme={null}
window.TS = {
token: "",
url: "https://api.topsort.com",
};
// Import the library to initialize it.
import "@topsort/analytics.js";
```
## Marking Promoted Elements
To allow Topsort to automatically track clicks, impression and purchases, use the HTML element `data-ts-*` to mark promoted elements in the page.
### Organic (non-promoted) elements
```html theme={null}
...
```
### Promoted elements
```html theme={null}
...
```
### Clickable areas
Use `data-ts-clickable` to indicate what areas should trigger a click event:
```html theme={null}
Product Title
Help
```
### Banner attribution
For banner ads with product attribution:
```html theme={null}
...
```
### Purchase tracking
Use `data-ts-items` JSON array to track purchases:
```html theme={null}
My purchase
```
## End to End Example
Note that banners.js is required for topsort-banner tag, to learn more check [Banners.js documentation.](https://docs.topsort.com/en/ad-platform/banners/bannersjs)
```html theme={null}
Clickable content
Non clickable content
My purchase
```
# Product Feed
Source: https://docs.topsort.com/en/ad-platform/listings/product-feed
Integrate your product catalog with Topsort using a product feed
This is the same content as the Ad Server Product Feed documentation. For the
full reference, see [Ad Server > Catalog > Product
Feed](/en/ad-server/catalog/product-feed).
A product feed allows you to share your catalog with Topsort, synchronize data and maintain campaigns up-to-date. During the integration process you can provide us with the url of your product feed and we will ensure your catalog remains up to date. Our platform supports several formats:
* Google Product Data Specification.
* Tab separated values (TSV).
* Comma separated values (CSV).
If your product catalog is already on a third-party platform like Algolia or VTEX, we can integrate directly with them for updates and synchronization, ensuring the product information is accurate.
## Google Product Data Specification
Share your catalog with Topsort using existing Google product feeds. We support the [Google Product Data Specification](https://support.google.com/merchants/answer/7052112?hl=en).
## TSV and CSV
We support sharing your catalog using TSV and CSV feeds.
**Which format should you use?**
We recommend you use TSV over CSV. CSV is more error prone due to commas often being present in the catalog data.
**If your product name or category name contains commas, you must use TSV.**
For full documentation including supported columns, file examples, and webhook processing, see the [Ad Server Product Feed documentation](/en/ad-server/catalog/product-feed).
# Topsort Proxy
Source: https://docs.topsort.com/en/ad-platform/listings/topsort-proxy
Learn how to use Topsort's proxy solution to augment your catalog results with promoted products
The proxy is a middle layer between the marketplace backend and the results server (Algolia's server, for example). It acts as a bridge between the marketplace, the search engine and Topsort. This allows the proxy to ingest auction winners retrieved from Topsort into the response provided by the search engine, and return the final merged response to the marketplace.
The proxy is compatible with most tech stacks, and it has been tested with platforms like VTEX, Algolia, and Salesforce.
## How to Use the Proxy
To start using the proxy, you only need to change the hostname in your existing API call, from your catalog or search engine to our proxy. For example, change from:
```http theme={null}
https://api.site.com/catalog/query?taxonomy=clothes
```
to:
```http theme={null}
https://site.proxy.topsort.com/catalog/query?taxonomy=clothes
```
And we take it from there. We send the request to Topsort's auction engine and to the catalog or search engine. If any of the products returned by the catalog or search engine is promoted, we will indicate it in the merged response we'll build, which will be returned to the marketplace.
Currently, the proxy supports application/json responses. Support for XML and GraphQL is planned.
## How Promoted Products Are Added
Consider the following request, which fetches products from the 'office' taxonomy:
```http theme={null}
GET https://api.site.com/catalog/query?taxonomy=office
```
The response from the catalog or search server without Topsort's proxy integration:
```json theme={null}
{
"products": [
{ "id": "1", "name": "High-Speed Color Laser Printer" },
{ "id": "2", "name": "Adjustable Height Standing Desk" },
{ "id": "3", "name": "Ergonomic Swivel Office Chair" },
{ "id": "4", "name": "Wireless Keyboard and Mouse Combo" },
{ "id": "5", "name": "Magnetic Whiteboard with Marker Set" }
]
}
```
After merging promoted products into the response:
```json theme={null}
{
"products": [
{
"id": "3",
"name": "Ergonomic Swivel Office Chair",
"rank": 1,
"resolvedBidId": "..."
},
{
"id": "6",
"name": "Multi-drawer Filing Cabinet",
"rank": 2,
"resolvedBidId": "..."
},
{ "id": "1", "name": "High-Speed Color Laser Printer" },
{ "id": "2", "name": "Adjustable Height Standing Desk" },
{ "id": "4", "name": "Wireless Keyboard and Mouse Combo" }
],
"topsort": {
"winners": [
{ "rank": 1, "type": "product", "id": "3", "resolvedBidId": "..." },
{ "rank": 2, "type": "product", "id": "6", "resolvedBidId": "..." }
]
}
}
```
## Understanding the New Fields
* **rank**: The position of the promoted product in the auction.
* **resolvedBidId**: A unique ID used to track the product in analytics.
A new object named **topsort** is added at the root level only when promoted products are included.
## How to Track Events
If you use Topsort's analytics.js library or Events API, use the product id and resolvedBidId fields to track user interactions:
```html theme={null}
...
```
## Proxy Features
* **Response Caching**: Reduces latency by caching successful responses from the catalog or search engine.
* **Staging Mode**: Allows testing before going live.
* **Catalog Sync Support**: Sends information to keep Topsort's catalog up to date.
* **Built-in Logging**: Collects data on products, auctions, and performance.
# Salesforce
Source: https://docs.topsort.com/en/ad-platform/plugins/salesforce
Overview of Topsort's integration with Salesforce
## Salesforce + Topsort Integration
This integration enables Salesforce Commerce Cloud (SFCC) users to connect with Topsort's retail media auction system. It allows marketplaces receive ranked auction results and display both sponsored products and banners directly within their storefront.
🔗 **GitHub Repository**: [Topsort Salesforce Integration](https://github.com/Topsort/salesforce-topsort-auctions)
### Features
* Seamless connection between SFCC and Topsort Auctions API
* Real-time auction requests and ranked product results
* Banner support for advertising campaigns
### Getting Started
1. Visit the [GitHub repository](https://github.com/Topsort/salesforce-topsort-auctions)
2. Follow the installation steps in the README
3. Configure your Topsort API credentials
4. Customize banner placements and product listings as needed
For support or questions, contact the Topsort integrations team.
# VTEX
Source: https://docs.topsort.com/en/ad-platform/plugins/vtex
Guide to integrate Topsort with VTEX using VTEX IO Toolbelt
If you use VTEX as your e-commerce platform, you can integrate Topsort directly into your VTEX store to offer ad placements to your vendors. This integration is composed by the following apps:
* Catalog Integration
* Auctions Integration (Sponsored Listings)
* Events Integration
These apps work together to synchronize your catalog with Topsort, display sponsored products in search results, and track user interactions for reporting and optimization.
## Prerequisites
* A VTEX account with administrative access.
* The VTEX IO Toolbelt installed and configured.
* A Topsort account with a Marketplace API Key and an Advanced API Key.
Log in to your VTEX account:
```sh theme={null}
vtex login {YOUR_ACCOUNT_NAME}
```
## Setting up Your API Key
Install the Topsort Services Settings app:
```sh theme={null}
vtex install topsortpartnercl.services
```
Then configure the API Key:
1. Go to the admin of your VTEX Workspace.
2. Go to App > App Management and find the services app.
3. Click on settings and add the API Key, then click on Save.
Verify the installation by going to `{{workspace__url}}/_v/ts/settings`.
## Importing Catalog into Topsort
You can integrate your VTEX catalog with Topsort using the Afiliados endpoint. Please get in touch with your Topsort representative for assistance with the setup.
## Sponsored Listings in Search Results
1. Remove the native VTEX Search Resolver app. Topsort uses a fork of VTEX’s latest Search Resolver under the hood—same base behavior, but augmented with Topsort's auction logic. If not uninstalled, the apps will conflict:
```sh theme={null}
vtex uninstall vtex.search-resolver
```
2. Install the Auction Integration app:
```sh theme={null}
vtex install topsortpartnercl.auctions
```
3. Access the VTEX Admin portal, navigate to Apps > My Apps, and find Topsort's Auctions Integration.
4. Configure the number of sponsored slots and click Save.
## Tracking Events
The Events Integration app tracks impressions, clicks, and purchases.
```sh theme={null}
vtex install topsortpartnercl.events
```
Access the VTEX Admin portal, navigate to Apps > My Apps, and find Topsort's Events Integration.
# Android
Source: https://docs.topsort.com/en/ad-platform/sdks/android
Overview of Topsort's Kotlin library for auction requests and event tracking in Android applications
Topsort's [Kotlin library](https://github.com/Topsort/topsort.kt) enables our clients to easily send auction requests and track events within Android applications.
Minimum Java version required: 17.
## Installation
Add the dependency to your build.gradle file:
```kotlin theme={null}
dependencies {
implementation 'com.topsort:topsort-kt:2.0.0'
}
```
## Setup
### Kotlin
```kotlin theme={null}
import android.app.Application
import com.topsort.analytics.Analytics
class KotlinApplication : Application() {
override fun onCreate() {
super.onCreate()
Analytics.setup(
application = this,
opaqueUserId = "",
token = ""
)
}
}
```
### Java
```java theme={null}
import android.app.Application;
import com.topsort.analytics.Analytics;
public class JavaApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Analytics.INSTANCE.setup(this, "", "");
}
}
```
## Reporting Events
### Kotlin
```kotlin theme={null}
// Purchase
fun reportPurchase() {
val item = PurchasedItem(
productId = "",
unitPrice = 1295,
quantity = 20
)
Analytics.reportPurchase(
id = "",
items = listOf(item),
)
}
// Click (promoted)
fun reportClickPromoted() {
val placement = Placement(path = "search_results", location = "position_1")
Analytics.reportClickPromoted(
id = "",
resolvedBidId = "",
placement = placement
)
}
// Impression (promoted)
fun reportImpressionPromoted() {
val placement = Placement(path = "search_results", location = "position_1")
Analytics.reportImpressionPromoted(
id = "",
resolvedBidId = "",
placement = placement
)
}
```
## Banner Ads
Add BannerView to your activity XML:
```xml theme={null}
```
Setup in your activity:
```kotlin theme={null}
class SampleActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.sample_activity)
this.lifecycleScope.launch {
val bannerView = findViewById(R.id.bannerView)
val bannerConfig = BannerConfig.CategorySingle(slotId = "slot", category = "category")
bannerView.setup(
bannerConfig = bannerConfig,
screenName = "sample_activity",
onClick = { id, entityType -> onBannerClick(id, entityType) }
)
}
}
}
```
For full documentation, see the [GitHub repository](https://github.com/Topsort/topsort.kt).
# iOS
Source: https://docs.topsort.com/en/ad-platform/sdks/ios
Integrate Topsort's Swift library for auction requests and event tracking in mobile applications
Topsort's [Swift library](https://github.com/Topsort/topsort.swift) enables our clients to easily send auction requests and track events within iOS applications.
## Installation
Install using package.swift:
```swift theme={null}
let package = Package(
dependencies: [
.package(url: "https://github.com/Topsort/topsort.swift.git", from: "1.0.0"),
]
)
```
## Configuration
```swift theme={null}
import SwiftUI
import Topsort
@main
struct MyApp: App {
init() {
Topsort.shared.configure(apiKey: "your-api-key", url: "https://api.topsort.com")
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
```
## Requesting Auctions
```swift theme={null}
import Topsort
let products = AuctionProducts(ids: ["p_dsad", "p_dvra", "p_oplf"])
let category = AuctionCategory(id: "c_fdfa")
let auctions = [
Auction(type: "banners", slots: 1, slotId: "home-banner", device: "mobile", category: category),
Auction(type: "listings", slots: 2, device: "mobile", products: products)
]
let result: AuctionResponse = await Topsort.shared.executeAuctions(auctions: auctions)
```
## Reporting Events
### Impressions and Clicks
```swift theme={null}
var body: some View {
VStack {
AsyncImage(url: self.product.image_url)
Text(self.product.name)
}
.onAppear {
Topsort.shared.track(impression: self.event())
}
.onTapGesture {
Topsort.shared.track(click: self.event())
}
}
```
### Purchases
```swift theme={null}
Button("Purchase me!") {
let item = PurchaseItem(productId: myProduct.id, unitPrice: myProduct.price)
let event = PurchaseEvent(items: [item], occurredAt: Date.now)
Topsort.shared.track(purchase: event)
}
```
## Displaying Banners
```swift theme={null}
import TopsortBanners
struct ContentView: View {
var body: some View {
TopsortBanner(bannerAuctionBuilder: .init(slotId: "slotId", deviceType: "device"))
.contentMode(.fill)
.onNoWinners({ })
.onError({ error in })
.onImageLoad({ })
.buttonClickedAction({ response in })
.frame(maxHeight: 50)
.clipped()
}
}
```
For full documentation, see the [GitHub repository](https://github.com/Topsort/topsort.swift).
# JavaScript SDK
Source: https://docs.topsort.com/en/ad-platform/sdks/javascript-sdk
Overview of Topsort's JavaScript SDK for auctions and event tracking
The [Topsort JavaScript SDK](https://github.com/Topsort/topsort.js) is the official client library to integrate with Topsort's auction and event tracking APIs. Built in TypeScript, this SDK simplifies the integration, allowing the creation of an end-to-end flow in minutes.
## Installation
```html theme={null}
```
## Creating an Auction
```javascript theme={null}
import { TopsortClient } from "https://unpkg.com/@topsort/sdk@latest/dist/index.mjs";
const topsortClient = new TopsortClient({ apiKey: window.TS.token });
const auctionDetails = {
auctions: [
{
type: "listings",
slots: 3,
searchQuery: "winter",
},
{
type: "banners",
slots: 1,
device: "desktop",
slotId: "slot123",
},
],
};
topsortClient
.createAuction(auctionDetails)
.then((result) => console.log("Auction Result", result))
.catch((error) => console.error("Auction Error", error));
```
## Reporting Events
```javascript theme={null}
const winners = auctionResult.results.flatMap((result) => result.winners || []);
if (winners.length > 0) {
const impressions = winners.map((winner) => ({
resolvedBidId: winner.resolvedBidId,
id: crypto.randomUUID(),
occurredAt: new Date().toISOString(),
opaqueUserId: crypto.randomUUID(),
placement: { path: "/search/winter" },
}));
topsortClient
.reportEvent({ impressions })
.then((result) => console.log("Event Result", result))
.catch((error) => console.error("Event Error", error));
}
```
## Retryable Errors
The `reportEvent` function returns `retry: true` for 429 or 5xx errors:
```javascript theme={null}
topsortClient.reportEvent(eventPayload).then((result) => {
if (result.retry) {
console.warn("Transient error. Retry the call.");
}
});
```
For full documentation and end-to-end examples, see the [GitHub repository](https://github.com/Topsort/topsort.js).
# Topsort.php
Source: https://docs.topsort.com/en/ad-platform/sdks/topsort-php
A PHP Software Development Kit for interacting with the auctions and events endpoints
[Topsort.php](https://github.com/Topsort/topsort.php) is a PHP Software Development Kit for Topsort Promoted Listings API.
## Installation
Install with Composer:
```bash theme={null}
composer require topsort/sdk
```
Or add to your composer.json:
```json theme={null}
{
"require": {
"topsort/sdk": "3.0.0"
}
}
```
## Running an Auction
```php theme={null}
create_auction($slots, $products)->wait();
```
## Reporting Click Events
```php theme={null}
"/categories/shoes",
];
$topsort_client->report_click([
"placement" => $placement,
"resolvedBidId" => "AKFU78",
]);
```
## Reporting Impression Events
```php theme={null}
[
"path" => "/categories/shoes",
],
"resolvedBidId" => "AKFU78",
];
$topsort_client->report_impression($impression);
```
## Reporting Purchase Events
```php theme={null}
"gDG0HV97ed2s",
"quantity" => 2,
"unitPrice" => 10000,
]
];
$topsort_client->report_purchase([
"occurredAt" => new DateTime(),
"items" => $items,
]);
```
For full documentation, see the [GitHub repository](https://github.com/Topsort/topsort.php).
# Assets API
Source: https://docs.topsort.com/en/ad-server/additional-apis/assets-api
Integrate with our Assets API
Topsort's [Assets API](/en/api-reference/assets-api) is designed to provide tools for managing assets that can be used in campaigns (e.g. banner ads). It also includes collection management tools. These are its main functionalities:
* Create, retrieve, update, and delete individual assets. - List multiple
assets with filters (e.g., by vendor, type, status) and pagination.
* Create, retrieve, update, and delete asset collections. - List
collections, filterable by vendor, with pagination.
# Billing API
Source: https://docs.topsort.com/en/ad-server/additional-apis/billing
Integrate with our Billing API
Topsort's [Billing API](/en/api-reference/billing-api) provides functionalities for managing billing aspects for both admins and vendors. Here's a list of its capacities:
* Get the current balance for a specific vendor. - Add funds to a vendor's
balance, including a description for the transaction. - Burn (reduce) a
vendor's balance for a specified reason. - List all wallets associated with
a vendor. - Create a new wallet for a vendor (limit of 3 per vendor). -
Adjust the balance of a specific wallet (add positive amount, burn negative
amount).
* Retrieve a list of all billing contacts, optionally filtered by vendor ID.
* Get details for a specific billing contact using its ID. - Create or
update (upsert) a billing contact's information. - Retrieve the billing
contact associated with a specific campaign. - Assign or update the billing
contact for a specific campaign. - Assign a billing contact to a specific
vendor. - Remove the assignment of a billing contact from a vendor.
# Campaign API
Source: https://docs.topsort.com/en/ad-server/additional-apis/campaign-api
Integrate with our Campaign API
Campaigns allow admins and vendors to promote products, banners or brands, using Topsort's UI and the [Campaign API](/en/api-reference/campaign-api).
If self-service is enabled, vendors can create campaigns themselves and submit
them for approval (for banner ads).
## Campaign Properties
These properties can be set on campaign creation using our API:
* Bidding Strategy
* Bids
* Budget
* Wallet
## Sponsored Listings
Campaigns designed for promoting products. A single campaign can have multiple products, and Topsort's algorithm will determine the best one to participate in auctions, depending on their quality scores and campaign objectives.
Each product of the campaign will have its own bid, and the bid participates in the auctions based on its triggers. There are three types of triggers:
1. **Set of products**: only bids that target the products listed in the set will participate in the auction.
2. **Category**: only bids that target products belonging to the given categories will have a chance to win the auction.
3. **Search term**: only bids that target products with matching keywords will have a chance to win such auctions.
## Banner and Video Ads
Banner and Videos Ads can be created to specific contexts of your platform: Landing Pages, Search and Category. Different placements can be created in each context, and each placement has different configurations.
### Landing Page Placements
Landing page placements allows you to create banner ads in different pages of your platform, without the need of targeting or filtering. These placements includes:
* **Slot ID**: an unique identifier of the placement.
* **Name**: a description of the placement, reference in the UI for placement selection.
* **URL or Deeplink**: the URL of the landing page.
* **Creative Width and Height, for two different dimensions**: desktop and mobile.
### Search and Categories Placements
Search and Categories placements allow you to create banner ads for targeting specific categories or keywords. These placements include:
* **Slot ID**: an unique identifier of the placement.
* **Creative Width and Height, for two different dimensions**: desktop and mobile.
# Invitation API
Source: https://docs.topsort.com/en/ad-server/additional-apis/invitation-api
Integrate with our Invitation API
More APIs to customize your exact workflow and build your preferred version of an ad business. Check the complete documentation of our [Invitation API](/en/api-reference/invitation-api).
With this API, you can invite advertisers and vendors user accounts.
Send invitations using vendor ID and email.
Supports bulk invites (up to 500 at once).
Useful for onboarding new sellers into the ad platform.
# Offsite Ads API
Source: https://docs.topsort.com/en/ad-server/additional-apis/offsite
Integrate with our Offsite Ads API
Topsort's [Offsite Ads API](/en/api-reference/offsite-ads-api) provides functionalities for managing offsite ad campaigns, audiences, and reporting. This API includes:
* **Advertisers**: Create and retrieve advertiser details.
* **Audiences**: List, create, and upload users (via file) to audiences.
* **Campaigns**: List, create, retrieve details for, and update offsite campaigns.
* **Geotargeting**: Retrieve geotargeting settings for a specific campaign.
* **Jobs**: Check the status of asynchronous operations (like creation or uploads).
* **Reporting**: Get performance reports for campaigns, including overall summaries, daily breakdowns, and product-level details.
# Reporting API
Source: https://docs.topsort.com/en/ad-server/additional-apis/reporting-api
Integrate with our Reporting API
Topsort's [Reporting API](/en/api-reference/reporting-api) offers access to performance data across campaigns, vendors and marketplaces. You can download campaign and marketplace performance metrics such as:
* Daily or total reports for campaigns, vendors, products, or the entire marketplace.
* Scored attribution reports (via S3 links).
* Interaction reports: impressions, clicks, purchases by time granularity.
Reports are available at different contexts and levels of granularity:
## Campaign Reports
* Total campaign and daily breakdown performance reports, including campaign metrics such as ROAS, CTR and CPC.
* Reports with aggregated metrics by product can also be obtained.
* Campaigns KPIs: list of campaign level KPIs, with optional filtering by vendor, ad formats and other fields.
## Vendor Reports
* Total vendor and daily breakdown performance reports, including total impressions, clicks, purchases, ad spend and ROAS.
* Vendor level KPIs: list of vendor level KPIs.
## Marketplace Reports
* Aggregated report on the marketplace level.
* Also available with daily breakdown.
## Interaction Reports
* Allows exporting engagement (impressions, clicks, purchases) grouped by campaigns, products or vendors.
* Can optionally be aggregated by days or hours.
## Attribution Files
* Topsort provides scored attribution files.
* The files include impressions, clicks and purchases associated with campaign IDs, along with the attribution data.
* The files are available in parquet format, downloaded via pre-signed URLs.
# Algolia
Source: https://docs.topsort.com/en/ad-server/auctions/algolia
Integrate auction results with an existing Algolia index
This guide shows how to integrate Topsort auction results with your existing Algolia index, allowing organic and promoted products to be listed in the same flow.
Algolia is a powerful search engine that provides fast and relevant results for navigating catalogs. By integrating Algolia with Topsort, we can sync your catalog directly into Topsort, without needing extra catalog integrations. The integration will also enable you to prioritize promoted products in the organic results returned by Algolia. Check Topsort's Proxy integration for more details.
## How it Works
To integrate Topsort with Algolia, make sure you comply with these prerequisites:
* Your product catalog is stored in an Algolia index.
* You are querying Algolia using the Algolia SDK.
Create an Algolia API key with the following permissions: search, browse, listIndexes (additional permissions like addObject and deleteObject may be needed depending on how you manage your index updates).
* The browse permission enables downloading of your entire catalog.
* The listIndexes permission allows Topsort to check the index's last modification date to avoid unnecessary updates
Contact Topsort support and share your Algolia index name. This allows Topsort to configure and start importing your catalog.
Update your Algolia SDK configuration to point to Topsort's Proxy. This will allow Topsort to prioritize promoted products in the organic results returned by Algolia.
```javascript theme={null}
import algoliasearch from 'algoliasearch/lite';
const client = algoliasearch('YourApplicationID', 'YourWriteAPIKey', {
hosts: [{ url: 'myslug-sandbox.topsort.workers.dev' }],
});
const index = client.initIndex('your_index_name');
```
## Auction Results and Event Tracking
The promoted products prioritized in the response of Topsort's Proxy will have a resolvedBidId parameter that uniquely identifies that product's auction. You can use it to visually mark the product as "Promoted" for the end use.
The resolvedBidId is also needed to identify the auction winner when reporting events (impressions, clicks, purchases). Check our Events Tracking documentation for more detail.
# Auctions API
Source: https://docs.topsort.com/en/ad-server/auctions/auctions-api
Integrate with our Auctions API
Topsort's [Auctions API](/en/api-reference/auctions) determines which bids from active campaigns should be promoted. As a marketplace admin, you can define where, when and how auctions should be created. We have three types of auctions available:
* **Sponsored Products**: allow promoting specific products in search results, category listings, PDPs and product carousels.
* **Banner Ads and Video Ads**: ads to be displayed in search, category or landing pages.
* **Sponsored Brands**: allow promoting brands in search, category or landing pages.
An auction should be created for each page view. If the auction results are cached, the same results could be shown to multiple users or to the same user multiple times. This will impact campaign performance tracking.
## Auction Creation
Use the appropriate API to create an auction and retrieve winners. The key parameters needed for any auction are:
* **Type**: listings, banners, videos or brands
* **Max winners**: maximum number of winners to be returned. If the auction engine encounters less winners then the maximum number requested, all winners will be returned.
* **Triggers**: triggers are targeting elements used to filter which campaigns are eligible in the auction.
* **Product IDs - Automatic Trigger**: Targets bids for specific products. This trigger can be used to promote products that were returned by your search engine and have bids from active campaigns.
* **Category IDs**: Targets bids for specific categories. This trigger can be used to return winners related to one or more categories.
* **Search Query**: Target bids matching keywords.
* **Geolocation**: Target bids matching geolocation.
## Auction Resolution
Topsort matches the auction criteria with active campaigns and filters bids that are eligible to participate, considering the parameters defined in the auction request, and are above the reserve price. Reserve price is the minimum bid price allowed by the marketplace.
Winning bids are defined and ranked, considering two main objectives:
* Optimize advertiser ROAS, considering the best products based on their metrics (CTR, CVR, quality score).
* Maximize retailers revenue, considering the bidding amount of each product.
## Displaying Winners and Tracking Events
Winning bids are returned by Topsort's API with an unique **Resolved Bid ID**. This parameter identifies every promoted item that participated in an auction. It's used to ensure accurate reporting and attribution. This parameter should be sent with the impressions, clicks and purchases that are reported with the Events API.
# Catalog Integration
Source: https://docs.topsort.com/en/ad-server/catalog/index
Integrate your product catalog with Topsort to enable sponsored product campaigns
The Catalog is the foundation of your Topsort integration. Before running auctions or tracking events, you need to synchronize your product catalog with Topsort. This ensures that vendors can create campaigns for their products and that the auction system has accurate, up-to-date product information.
## Integration Options
Share your catalog using a product feed URL. Topsort automatically fetches and synchronizes your catalog data.
Use the Catalog API for real-time updates and programmatic control over your product data.
## What Gets Synchronized
Your catalog integration includes three key entities:
| Entity | Description | Required |
| -------------- | --------------------------------------- | -------- |
| **Products** | Items that can be promoted in campaigns | Yes |
| **Categories** | Product groupings for targeting | Yes |
| **Vendors** | Sellers who can create campaigns | Yes |
## Getting Started
Decide between a Product Feed (recommended for most integrations) or the Catalog API (for real-time programmatic updates).
Ensure your catalog data includes product IDs, names, categories, and vendor information.
Set up your product feed URL or implement API calls to keep your catalog up-to-date.
Check that products, categories, and vendors appear correctly in the Topsort platform.
## Next Steps
* [Set up a Product Feed](/en/ad-server/catalog/product-feed) - Recommended for most integrations
* [Use the Catalog API](/en/api-reference/catalog-api/upsert-products) - For programmatic updates
* [Learn about Catalog Management](/en/knowledge-base/ad-platform/catalog-management) - Best practices and configuration
# Product Feed
Source: https://docs.topsort.com/en/ad-server/catalog/product-feed
Integrate your product catalog with Topsort using a product feed
A product feed allows you to share your catalog with Topsort, synchronize data and maintain campaigns up-to-date. During the integration process you can provide us with the url of your product feed and we will ensure your catalog remains up to date. Our platform supports several formats:
* Google Product Data Specification.
* Tab separated values (TSV).
* Comma separated values (CSV).
If your product catalog is already on a third-party platform like Algolia or VTEX, we can integrate directly with them for updates and synchronization, ensuring the product information is accurate. For detailed instructions on setting up these connections and specific requirements for each platform, please refer to the "3rd Party Integrations - Partners" section of our documentation.
## Google Product Data Specification
Share your catalog with Topsort using existing Google product feeds. We support the [Google Product Data Specification](https://support.google.com/merchants/answer/7052112?hl=en).
## TSV and CSV
We support sharing your catalog using TSV and CSV feeds. The instructions in this section apply to both formats.
**Which format should you use?**
We recommend you use TSV over CSV. CSV is more error prone due to commas often being present in the catalog data.
**If your product name or category name contains commas, you must use TSV.**
### Supported Columns
| Name | Required | Default | Description |
| :------------------------ | :---------------------------------- | :-------------------- | :----------------------------------------------------------------------------------------------------------------------------- |
| `id` | yes | - | Unique identifier for each product. |
| `active` | no | true | Whether the product can be part of campaigns or auctions. Inactive products will be removed from existing campaigns. |
| `title` | yes | - | Name of the product |
| `category.0.name` | yes | - | Category name of the primary category for this product. |
| `category.0.id` | no | Slug of category name | ID of the primary category for this product. |
| `vendor.0.name` | yes if not use `seller_name` | - | Vendor of the product. This is the entity that has their own budget to advertise this product and competes with other vendors. |
| `vendor.0.id` | yes if not use `external_seller_id` | Slug of vendor name | ID of the vendor of this product. |
| `seller_name` | yes if not use `vendor.0.name` | | Vendor name of the product, same value as `vendor.0.name`. |
| `external_seller_id` | yes if not use `vendor.0.id` | | ID of the vendor of this product. |
| `google_product_category` | yes | - | Categories provided in Google Taxonomy Format. |
| `product_type` | no | - | Additional taxonomy for the product. |
| `price` | no | - | Product price. |
| `image_link` | no | - | URL to an image of the product. |
| `link` | no | - | URL to the page of the product in the marketplace. |
| `availability` | no | - | Stock status. Must be one of `in stock`, `out of stock` or `preorder`. |
| `description` | no | - | Detailed description of the product. |
| `gtin` | no | - | Global Trade Item Numbers. Covers EAN, UPC, JAN, ISBN and ITF-14. |
| `brand` | no | - | Indicate the product's brand name. |
Categories can be provided in several ways. But only one is required.
You can associate a product with more categories and vendors. See the section below.
### File examples
#### Example TSV using vendor.0.name
```tsv theme={null}
id name description vendor.0.id vendor.0.name vendor.0.image_link category.0.id category.0.name category.1.id category.1.name image_link price availability
1293 Green Mask Green Mask for removing imperfections, use during night or day 1710000087 Derma Laboratories 10000087 Skin Care 61 Beauty & Health https://i.postimg.cc/0QxMWmbd/shampoo.png 23935.29 out of stock
1302 Cleanser Gel N/A 17829100 Shiny Laboratories 10000087 Skin care https://i.postimg.cc/0QxMWmbd/shampoo.png 16050.42 in stock
```
#### Example CSV using vendor.0.name
```csv theme={null}
id,name,description,vendor.0.id,vendor.0.name,vendor.0.image_link,category.0.id,category.0.name,category.1.id,category.1.name,image_link,price,availability
1293,Green Mask,"Green Mask for removing imperfections, use during night or day",1710000087,Derma Laboratories,,10000087,Skin Care,61,Beauty & Health,https://i.postimg.cc/0QxMWmbd/shampoo.png,23935.29,out of stock
1302,Cleanser Gel,N/A,17829100,Shiny Laboratories,,10000087,Skin care,,,https://i.postimg.cc/0QxMWmbd/shampoo.png,16050.42,in stock
```
### Multiple categories and vendors
Products can be associated with multiple categories and/or vendors.
As you might have noticed, the category and vendor columns contain indices. You can add additional category and/or vendor columns as long as you increase the index appropriately.
For example, a product with three categories and two vendors would have at the very least these columns:
```txt theme={null}
category.0.id
category.1.id
category.2.id
vendor.0.id
vendor.1.id
```
### Google Taxonomy Format
Alternatively, you can use [Google's Taxonomy Format](https://support.google.com/merchants/answer/7052112?hl=en#product_category) as category names. This allows you to describe more complex hierarchical relationships.
For example, this hierarchy:
```txt theme={null}
Apparel & Accessories > Clothing > Dresses
```
Will result in three categories:
```json theme={null}
[
{
"id": "apparel-and-accessories",
"name": "Apparel & Accessories",
"path": "apparel_and_accessories"
},
{
"id": "clothing",
"name": "Clothing",
"path": "apparel_and_accessories.clothing"
},
{
"id": "dresses",
"name": "Dresses",
"path": "apparel_and_accessories.clothing.dresses"
}
]
```
## Optional fields and auction optimization
The table above lists the minimum a product needs to participate in auctions. Beyond that minimum, we recommend including these fields for every product, since we use them to improve relevance and reporting:
* `description`
* `price`
* `link`
* `brand`
* `gtin`
## Hosting your product feed
Your product feed needs to be continuously accessible to Topsort so that we can keep our data up to date.
We can currently access public product feeds or feeds that are protected using [Basic HTTP Authorization](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization).
In addition, use the [ETag Response headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) to help us determine if a product feed has been updated since last fetch.
## Deleting products
The `active` property can be set to `false` to mark a product as inactive. This can be done both [via the API](/en/api-reference/catalog-api/upsert-products) and via the product feed.
Inactive products will not be included in new campaigns or auctions. And will not be considered in any active campaigns. You can also set this when a product is out of stock, discontinued, or otherwise not available for sale.
To permanently delete products from Topsort's system, [use the API](/en/api-reference/catalog-api/delete-products) or omit them from the uploaded feed file.
## Generated slugs
When categories or vendors don't have an ID, we generate one on the fly.
**Prefer to use explicit IDs**
It's recommended to provide the IDs explicitly in your product feed, these IDs are used as references when managing campaigns and auctions.
If you use generated IDs you will need to use the same algorithm on the marketplace side to create such references.
These IDs use a **slug** derived from the name. A slug is a kebab case formatted string that is suitable for inclusion in URLs.
For example, `Hello world` becomes `hello-world`.
The format is based on the [npm slugify](https://www.npmjs.com/package/slugify) library.
## Dev Tools
Marketplaces that send their catalog via a product feed can open **Dev Tools > Catalog** in the marketplace Admin Dashboard to monitor ingestion health without opening a support ticket.
The Catalog tab surfaces key sync metrics at a glance:
* **Last sync time**: when the most recent catalog sync ran
* **Average sync duration**: how long syncs typically take
* **Success rate**: across the last 14 runs
* **Recent sync runs**: each ingestion with how many records were processed or skipped
With this view, engineering teams can confirm feeds are running on schedule and quickly spot failures or skipped-heavy runs.
# End-to-End API Example
Source: https://docs.topsort.com/en/ad-server/e2e-api-example
End to end integration example with our APIs
This example demonstrates a full flow using Topsort's APIs for a sponsored product campaign with category targeting. Replace API keys and IDs with your actual credentials and values.
**Steps:**
Sync your product catalog with TopsortSet up a sponsored product campaignRequest auction winnersReport impressions, clicks, and purchasesRetrieve campaign performance data
* For managing products, campaigns, and reports, use an Advanced API Key
(TSC\_...). - For auctions and events, use a Marketplace API Key (TSE\_...).
## 1. Sync Catalog
A sample product example-product-coca-cola, from category soft-drinks is used in this example. Remember to use your Advanced API Key.
```javascript theme={null}
const apikey = "TSC_...";
const body = {
products: [
{
active: true,
categories: ["soft-drinks"],
id: "example-product-coca-cola",
imageURL:
"https://intl.cokestore.com/media/catalog/product/1/6/16181_squeeze-ko-can-maria-2.png",
name: "Coca Cola can",
price: "9.99",
vendors: ["coca-cola"],
},
],
};
try {
const response = await fetch(
"https://api.topsort.com/public/v1/catalog-search-service/catalogs/products",
{
method: "PUT",
mode: "cors",
headers: {
Authorization: `Bearer ${apikey}`,
"Content-Type": "application/json; charset=utf-8",
},
body: JSON.stringify(body),
}
);
if (!response.ok) {
console.error("unexpected status: " + response.status);
} else {
console.log("success status: " + response.status);
}
} catch (error) {
console.error(error);
}
```
## 2. Create Campaign
In this example, a campaign is created to promote the product example-product-coca-cola, having a keyword trigger (soft drink). Remember to use your Advanced API Key.
```javascript theme={null}
const apikey = "TSC_...";
const body = {
bids: [
{
target: {
type: "product",
id: "example-product-coca-cola",
},
triggers: [
{
type: "keyword",
value: {
matchType: "exact",
words: ["soft drink"],
},
},
],
},
],
budget: {
type: "daily",
amount: 10000,
},
campaignType: "autobidding",
isActive: true,
status: "approved",
adFormat: "listing",
name: "An example campaign",
};
try {
const response = await fetch(
"https://api.topsort.com/public/v1/campaign-service/campaigns?vendor_id=demo-vendor",
{
method: "POST",
mode: "cors",
headers: {
Authorization: `Bearer ${apikey}`,
"Content-Type": "application/json; charset=utf-8",
},
body: JSON.stringify(body),
}
);
if (!response.ok) {
console.error("unexpected status: " + response.status);
} else {
console.log("success status: " + response.status);
}
} catch (error) {
console.error(error);
}
```
## 3. Send Auction Request
In this example, an auction request is created to return winners triggered by the search term "soft drink". Remember to use your Marketplace API Key.
```javascript theme={null}
const apikey = "TSE_...";
const body = {
auctions: [
{
searchQuery: "soft drink",
slots: 1,
type: "listings",
},
],
};
try {
const response = await fetch("https://api.topsort.com/v2/auctions", {
method: "POST",
mode: "cors",
headers: {
Authorization: `Bearer ${apikey}`,
"Content-Type": "application/json; charset=utf-8",
},
body: JSON.stringify(body),
});
if (!response.ok) {
console.error("unexpected status: " + response.status);
} else {
console.log("success status: " + response.status);
}
} catch (error) {
console.error(error);
}
```
## 4. Tracking Events
In this example, a click on a promoted product is tracked using our API. The resolvedBidId of the winner returned by the auctions call needs to be sent in the body of the request, to guarantee correct attribution of sales. Remember to use your Marketplace API Key.
```javascript theme={null}
const apikey = "TSE_...";
const body = {
clicks: [
{
id: "d0cf3f56-a719-4e02-9c88-625f965ae6e7",
occurredAt: "2024-07-23T11:49:04+00:00",
opaqueUserId: "71303ce0-de89-496d-8270-6434589615e2",
resolvedBidId:
"ChAGafmNzX5wy4sEaDnXi4iWEhABjxq1RG513IkbvRgIVcd6GhABjmiyW3t2Ur066CLC3jWVIgoKBjExMjYzNBABMPuVDw",
},
],
};
try {
const response = await fetch("https://api.topsort.com/v2/events", {
method: "POST",
mode: "cors",
headers: {
Authorization: `Bearer ${apikey}`,
"Content-Type": "application/json; charset=utf-8",
},
body: JSON.stringify(body),
});
if (!response.ok) {
console.error("unexpected status: " + response.status);
} else {
console.log("success status: " + response.status);
}
} catch (error) {
console.error(error);
}
```
# Events API
Source: https://docs.topsort.com/en/ad-server/events/events-api
Track impressions, clicks, and purchases to enable attribution and campaign optimization
The Events API allows you to send real-time user interaction data to Topsort. This data powers campaign attribution, reporting, and optimization algorithms.
## Event Types
Topsort tracks three core event types:
| Event | Description | When to Send |
| -------------- | --------------------------------- | ---------------------------------------------- |
| **Impression** | User views a promoted product | When a sponsored product is rendered on screen |
| **Click** | User clicks on a promoted product | When a user clicks a sponsored product |
| **Purchase** | User completes a transaction | When an order is confirmed |
## Integration Options
Send events directly to Topsort's Events API for maximum control and flexibility.
Use our JavaScript SDK for easy client-side event tracking.
Route events through Segment if you're already using it for analytics.
Integrate via RudderStack for unified event routing.
## Key Concepts
### Resolved Bid ID
The `resolvedBidId` is a unique identifier returned from the Auctions API that links an event to a specific auction winner. This is required for impression and click events to enable proper attribution.
```json theme={null}
{
"impressions": [
{
"resolvedBidId": "WyJiX01mazE1IiwiMTJhNTU4MjgtOGVh...",
"occurredAt": "2023-05-01T12:00:00Z"
}
]
}
```
### Event Attribution
Events are attributed to campaigns based on:
* **Direct attribution**: User interacts with a promoted product and converts
* **Halo attribution**: User views a promoted product but purchases a different product from the same vendor
Learn more about [attribution models](/en/knowledge-base/ad-server/attribution).
## Implementation Steps
When displaying auction winners, store the `resolvedBidId` from the auction response.
Send an impression event when a sponsored product becomes visible to the user.
Send a click event when a user clicks on a sponsored product.
Send purchase events when orders are completed, including all purchased products.
## Example: Sending Events
```bash theme={null}
curl -X POST https://api.topsort.com/v2/events \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"impressions": [
{
"resolvedBidId": "WyJiX01mazE1IiwiMTJhNTU4...",
"occurredAt": "2023-05-01T12:00:00Z"
}
],
"clicks": [
{
"resolvedBidId": "WyJiX01mazE1IiwiMTJhNTU4...",
"occurredAt": "2023-05-01T12:00:05Z"
}
]
}'
```
## Next Steps
* [Events API Reference](/en/api-reference/events/report-events) - Full API documentation
* [Analytics.js Guide](/en/ad-platform/listings/analytics-js) - Client-side tracking
* [Attribution Models](/en/knowledge-base/ad-server/attribution) - Understanding attribution
# RudderStack
Source: https://docs.topsort.com/en/ad-server/events/rudderstack
Learn how to integrate Topsort Events with RudderStack
This guide explains how to set up Topsort as a destination in RudderStack. You can also check our documentation in [Rudderstack's Knowledge Base](https://www.rudderstack.com/docs/destinations/streaming-destinations/topsort/cloud-mode/).
1. In the RudderStack dashboard, add your data source (website or app).
2. From the list of destinations, select Topsort.
3. Complete the following settings:
| Setting | Description |
| ------- | ---------------------------------------------------- |
| Name | Unique name for this destination. |
| API Key | Obtain this on Topsort > Settings > API Integration. |
Click Set-up mapping in the dashboard to define how [RudderStack events](https://www.rudderstack.com/docs/event-spec/ecommerce-events-spec/) map to Topsort events. Example for mapping these events:
| RudderStack event | Topsort event |
| ------------------- | ------------- |
| Order Completed | Purchase |
| Product Clicked | Click |
| Product Added | Click |
| Product Viewed | Impression |
| Product List Viewed | Impression |
Prevent double-counting by reviewing your event firing logic.
Use `rudderanalytics.track()` to send events to Topsort.
Example:
```javascript theme={null}
rudderanalytics.track("Product Added", {
product_id: "9578257311",
sku: "8472-998-0112",
name: "Sample Product"
})
```
Check the mapping of all fields of each event in the Rudderstack's Knowledge Base
# Twilio Segment
Source: https://docs.topsort.com/en/ad-server/events/twilio-segment
Learn how to integrate Topsort Events with Twilio Segment
If you're using Twilio Segment to track events on your site, you can send events to Topsort directly by adding the Topsort Destination in your Segment account. Please refer to [Topsort documentation](https://segment.com/docs/connections/destinations/catalog/actions-topsort/) on the Twilio Segments knowledge base.
As a prerequisite for this integration, you must have a Segment account and a working Source (website or app).
Topsort uses three main events, all mapped from Segment's eCommerce Spec:
| Topsort Event | Default Segment Mapping | Alternate Mapping |
| :-----------: | :---------------------: | :-----------------: |
| `impressions` | Product Viewed | Product List Viewed |
| `clicks` | Product Clicked | Product Added |
| `purchases` | Order Completed | — |
* Avoid sending duplicated clicks. If both Product Clicked and Product Added are fired from the same user action, choose only one.
* If you're using custom events, reach out at [support@topsort.com](mailto:support@topsort.com) to map them properly.
1. In Segment, go to Connections > Catalog > Destinations
2. Search for Topsort, then click Add Destination
3. Select the relevant Source (your site or app)
1. In the Topsort Manager Platform, go to Settings > API Integration
2. Copy or create your Marketplace API Key
3. Back in Segment, open the Topsort destination's Settings tab and paste your API Key
The API Key allows Segment to send events to your Topsort account.
1. Only enable the Track events you're actively sending from your site
Prevent double-counting by reviewing your event firing logic.
2. Add the `resolvedBidId` field to:
* Product Viewed events
* Product Clicked events
The `resolvedBidId` uniquely identifies the promoted winner of the auction. You can retrieve it from the Auctions API or Proxy response.
Example call:
```javascript theme={null}
analytics.track('Product Clicked', {
productId: '12345',
resolvedBidId: '67890' // required for Topsort attribution
});
```
Topsort recommends identifying logged users with Segment's identify method. Example:
```javascript theme={null}
analytics.identify('361b1fdfbeaa9d64a13c033eb9f970dc6740f6bc', {
email: 'john.doe@example.com'
});
```
Logged-out users are tracked with an `anonymousId`. If using server-side sources, include at least userId or anonymousId. Once a user is identified, each call to Segment's Track method automatically records the user ID. Users that are not logged in can be tracked using an anonymousId.
# Ad Server | Full API Integration
Source: https://docs.topsort.com/en/ad-server/index
Every feature and capacity we deliver can be used through our APIs
**Ad Server** is your complete API-first advertising solution, designed for businesses that need full control and customization. Every feature and capability Topsort offers is accessible through our comprehensive API suite, giving you maximum flexibility to build exactly what you need.
With Ad Server, you have complete control over auction logic, ranking algorithms, event tracking, and reporting. Perfect for companies with in-house development teams who want to deeply integrate advertising into their platform's unique architecture and workflows.
## Who Is This For?
Ad Server is ideal for:
* **Enterprises** with in-house engineering teams and custom requirements
* **Technical teams** needing full control over ad logic and ranking algorithms
* **Businesses** requiring deep integration with proprietary systems
* **Platforms** with unique auction mechanics or custom workflows
**Want a faster setup?** If you need quick deployment without extensive API integration, explore [Ad Platform](/en/ad-platform) instead.
## Key Benefits
Full control over every aspect
Build your own ranking algorithms
Integrate with proprietary systems
Access to all API capabilities
## Core APIs
Build your advertising platform using three foundational APIs:
### Catalog API
Keep your products, categories, and vendors synchronized with Topsort.
Manage product catalog data
Manage advertiser accounts
Organize product taxonomy
Keep catalog data current
### Auctions API
Trigger real-time bidding and retrieve winners for sponsored products and banners.
Real-time bidding mechanics
Sponsored product listings
Banner ad auctions
Handle auction results
### Events API
Track impressions, clicks, and purchases to enable optimization, reporting, and attribution.
Event tracking fundamentals
Track ad views
Track ad interactions
Track conversions and revenue
## Getting Started
New to Ad Server? Follow these steps:
1. **Set up your environment** - Get API credentials and configure authentication
2. **Sync your catalog** - Use the Catalog API to import products, vendors, and categories
3. **Implement auctions** - Integrate auction calls into your search and browse flows
4. **Track events** - Send impression, click, and purchase events to close the loop
5. **Test and optimize** - Monitor performance and refine your implementation
Start with [Authentication](/en/ad-server/authentication) to get your API credentials, then move to [Catalog API](/en/ad-server/catalog) to sync your products.
## Advanced Capabilities
Once you have the basics working, explore advanced features:
* **Custom ranking algorithms** - Implement your own logic for ad placement
* **A/B testing** - Run experiments on auction parameters and ranking strategies
* **Custom attribution models** - Build attribution logic that fits your business
* **Real-time reporting** - Create custom dashboards using our analytics endpoints
* **Multi-region deployments** - Scale across geographic regions
## Want Quick Setup Instead?
While Ad Server provides maximum flexibility and control, some businesses prefer a faster path:
* **Pre-built UI components** instead of custom development
* **Managed campaign tools** instead of custom workflows
* **Out-of-box reporting** instead of custom dashboards
* **Low-code integration** instead of full API implementation
If this describes your needs, explore [Ad Platform](/en/ad-platform) for pre-built tools and faster deployment.
# [BETA] Create Collection
Source: https://docs.topsort.com/en/api-reference/assets-api/[beta]-create-collection
/openapi.json post /public/v1/assets/collection
Creates a collection.
# [BETA] Delete Collection
Source: https://docs.topsort.com/en/api-reference/assets-api/[beta]-delete-collection
/openapi.json delete /public/v1/assets/collection/{collection-id}
Deletes a collection.
# [BETA] Get Collection
Source: https://docs.topsort.com/en/api-reference/assets-api/[beta]-get-collection
/openapi.json get /public/v1/assets/collection/{collection-id}
Retrieves a collection.
# [BETA] Get Collections
Source: https://docs.topsort.com/en/api-reference/assets-api/[beta]-get-collections
/openapi.json get /public/v1/assets/collections
Retrieves a list of collections.
# [BETA] Update Collection
Source: https://docs.topsort.com/en/api-reference/assets-api/[beta]-update-collection
/openapi.json patch /public/v1/assets/collection/{collection-id}
Updates a collection.
# Create Asset
Source: https://docs.topsort.com/en/api-reference/assets-api/create-asset
/openapi.json post /public/v1/assets/asset
Creates an asset.
# Delete Asset
Source: https://docs.topsort.com/en/api-reference/assets-api/delete-asset
/openapi.json delete /public/v1/assets/asset/{asset-id}
Deletes an asset.
# Get Asset
Source: https://docs.topsort.com/en/api-reference/assets-api/get-asset
/openapi.json get /public/v1/assets/asset/{asset-id}
Retrieves an asset.
# Get Assets
Source: https://docs.topsort.com/en/api-reference/assets-api/get-assets
/openapi.json get /public/v1/assets/assets
Retrieves a list of assets.
# Update Asset
Source: https://docs.topsort.com/en/api-reference/assets-api/update-asset
/openapi.json patch /public/v1/assets/asset/{asset-id}
Updates an asset.
# Adjust Wallet Balance
Source: https://docs.topsort.com/en/api-reference/billing-api/adjust-wallet-balance
/openapi.json post /public/v1/billing-service/vendors/{external-vendor-id}/wallets/{wallet-id}/adjust
Endpoint to change the balance for a wallet.
It will add the amount to the wallet if the amount is positive and burn the amount if it is negative.
The amount is ISO 4217 currency code compliant meaning that 100 as an input for USD marketplace will be 1 USD.
# Burn Vendor Balance
Source: https://docs.topsort.com/en/api-reference/billing-api/burn-vendor-balance
/openapi.json post /public/v1/billing-service/vendors/{external-vendor-id}/balance/burn
Endpoint to burn some amount of balance for a vendor.
# Delete Vendor Billing Contact
Source: https://docs.topsort.com/en/api-reference/billing-api/delete-vendor-billing-contact
/openapi.json delete /public/v1/billing-service/vendors/{external-vendor-id}/vendor-billing-contact/{billing-contact-id}
Endpoint to unassign a billing contact from a vendor.
# Get Billing Contact
Source: https://docs.topsort.com/en/api-reference/billing-api/get-billing-contact
/openapi.json get /public/v1/billing-service/billing-contacts/{billing-contact-id}
Endpoint to get a billing contact.
# Upsert Billing Contact
Source: https://docs.topsort.com/en/api-reference/billing-api/upsert-billing-contact
/openapi.json put /public/v1/billing-service/billing-contacts/{billing-contact-id}
Endpoint to upsert a billing contact.
# Endpoint to notify events generated in topsort
Source: https://docs.topsort.com/en/api-reference/endpoint-to-notify-events-generated-in-topsort
/openapi.json webhook webhooks
When an event is triggered we'll send you a POST request with this data.
Use the Webhooks API to manage the target url and the accepted events.
# [BETA] Campaign Performance Forecasts
Source: https://docs.topsort.com/en/api-reference/forecasting-service/[beta]-campaign-performance-forecasts
/openapi.json post /public/v1/toptimize/forecasting/campaign
Get campaign performance forecasts with confidence intervals.
> ⚠️ **Beta Access Required**
> Contact your sales representative to gain access to this endpoint and
> start using it.
**Currently Supported:**
- Listing campaigns (autobidding) only
**Returns total campaign forecasts (not daily) for:**
- Total impressions with confidence intervals
- Total clicks with confidence intervals
- Total purchases with confidence intervals
- Total sales with confidence intervals
- Total ad spend with confidence intervals
**Constraints:**
- Date range cannot exceed 31 days.
# [BETA] Invite Vendors
Source: https://docs.topsort.com/en/api-reference/invitation-api/[beta]-invite-vendors
/openapi.json post /public/v1/invitation-service/invitations
Invites a collection of Vendors to the Topsort platform.
The request payload should contain an array of pairs of vendor's ID, and
email.
# Create Slot
Source: https://docs.topsort.com/en/api-reference/media-api/create-slot
/openapi.json post /public/v1/media-service/slots
Create a new slot.
# Delete Banner Fallback
Source: https://docs.topsort.com/en/api-reference/media-api/delete-banner-fallback
/openapi.json delete /public/v1/media-service/slots/{slot-id}/fallback
Delete a banner fallback for a given slot.
# Delete Slot
Source: https://docs.topsort.com/en/api-reference/media-api/delete-slot
/openapi.json delete /public/v1/media-service/slots/{slot-id}
Delete an unused slot.
# Get Slots
Source: https://docs.topsort.com/en/api-reference/media-api/get-slots
/openapi.json get /public/v1/media-service/slots
Get slots for a given marketplace.
# Toggle Slot
Source: https://docs.topsort.com/en/api-reference/media-api/toggle-slot
/openapi.json patch /public/v1/media-service/slots/{slot-id}
Activate/Deactivate a slot.
# Create a new advertiser
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/create-a-new-advertiser
/openapi.json post /public/v1/offsite-ads/advertisers
Create a new advertiser.
# Create Campaign
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/create-campaign
/openapi.json post /public/v1/offsite-ads/campaigns
Create a new offsite campaign.
# Create Offsite Audiences Job
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/create-offsite-audiences-job
/openapi.json post /public/v1/offsite-ads/audiences/user-list
Create a new offsite audience job.
This endpoint creates a job to create an offsite audience alongside a presigned url to upload the audience csv file.
The presigned url is valid for 1 hour and should be used to upload the audience csv file.
The audience creation will begin once the csv file is uploaded.
The audience CSV should contain one or more of the following columns with hashed and normalized identifiers: hashed_email, hashed_phone, hashed_first_name, hashed_last_name, hashed_mobile_device_id. Strongest identifiers are hashed_email and hashed_phone. Hashing should use the SHA256 method. The audience will be synced to the specified DSPs.
# Delete Offsite Audience
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/delete-offsite-audience
/openapi.json delete /public/v1/offsite-ads/audiences/{audience-id}
Delete an existing offsite audience from Topsort as well as synced DSPs.
# Get Active Vendors
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/get-active-vendors
/openapi.json get /public/v1/offsite-ads/vendors/active
Get vendors that have at least one campaign created for the given DSP.
This endpoint returns a list of vendors that have at least one campaign created for the given DSP.
The list is paginated and the next page token is returned in the response.
The next page token can be used to get the next page of vendors.
# Get advertiser onboarding state for a specific DSP
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/get-advertiser-onboarding-state-for-a-specific-dsp
/openapi.json get /public/v1/offsite-ads/advertisers/{vendor-id}
Get advertiser onboarding state for a specific DSP.
# Get Campaign Aggregated Report
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/get-campaign-aggregated-report
/openapi.json get /public/v1/offsite-ads/reporting/campaigns/{campaign-id}
Get campaign report.
# Get Campaign Daily Report
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/get-campaign-daily-report
/openapi.json get /public/v1/offsite-ads/reporting/campaigns/{campaign-id}/daily
Get campaign daily report.
# Get campaign information
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/get-campaign-information
/openapi.json get /public/v1/offsite-ads/campaigns/{campaign-id}
Get campaign.
# Get Campaign Products Report
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/get-campaign-products-report
/openapi.json get /public/v1/offsite-ads/reporting/campaigns/{campaign-id}/products
Get campaign products report.
This endpoint returns a report of products that were advertised in a campaign.
Product level report is available for Google Ads campaigns only.
If the campaign is not a Google Ads campaign, It returns 404.
# Get Job Status
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/get-job-status
/openapi.json get /public/v1/offsite-ads/jobs/{job-id}
Get job status.
# Get Vendor Balances
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/get-vendor-balances
/openapi.json get /public/v1/offsite-ads/vendors/balances
Get vendor balances for the given vendors and DSP.
# Get vendor offsite campaigns
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/get-vendor-offsite-campaigns
/openapi.json get /public/v1/offsite-ads/campaigns
Get vendor offsite campaigns.
# List Offsite Audiences
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/list-offsite-audiences
/openapi.json get /public/v1/offsite-ads/audiences
List offsite audiences.
# Replace Offsite Audiences Job
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/replace-offsite-audiences-job
/openapi.json put /public/v1/offsite-ads/audiences/{audience-id}
Replace the contents of an existing offsite audience. This endpoint returns a new job id and presigned url for uploading the replacement audience CSV.
# Update Campaign
Source: https://docs.topsort.com/en/api-reference/offsite-ads-api/update-campaign
/openapi.json patch /public/v1/offsite-ads/campaigns/{campaign-id}
Update a campaign.
# Get Campaign Daily Report
Source: https://docs.topsort.com/en/api-reference/reporting-api/get-campaign-daily-report
/openapi.json get /public/v1/reporting-service/campaigns/{campaign-id}/daily
Endpoint to get a campaign's daily behavioral summary report between given dates.
# Get Campaign Report
Source: https://docs.topsort.com/en/api-reference/reporting-api/get-campaign-report
/openapi.json get /public/v1/reporting-service/campaigns/{campaign-id}
Endpoint to get a campaign's total behavioral summary report between given dates.
# Get Campaign Report By Product
Source: https://docs.topsort.com/en/api-reference/reporting-api/get-campaign-report-by-product
/openapi.json get /public/v1/reporting-service/campaigns/{campaign-id}/products
Endpoint to get a campaign's total behavioral summary report, divided by products, between given dates.
# Get Interactions Dump Urls
Source: https://docs.topsort.com/en/api-reference/reporting-api/get-interactions-dump-urls
/openapi.json get /public/v1/reporting-service/file-reports/interactions
Get interaction files for an specific date.
This endpoint returns a list of Amazon S3 pre-signed urls containing detailed interactions data in a parquet file format.
The files are available after 3am UTC and contains the interactions data for the previous day.
# Get Marketplace Campaigns Kpis
Source: https://docs.topsort.com/en/api-reference/reporting-api/get-marketplace-campaigns-kpis
/openapi.json get /public/v1/reporting-service/marketplace/campaigns-kpis
Get KPIs for campaigns in a marketplace using external vendor IDs.
# Get Marketplace Daily Report
Source: https://docs.topsort.com/en/api-reference/reporting-api/get-marketplace-daily-report
/openapi.json get /public/v1/reporting-service/marketplace/daily
Endpoint to get a marketplace's daily behavioral summary report between given dates.
# Get Marketplace Interactions Report
Source: https://docs.topsort.com/en/api-reference/reporting-api/get-marketplace-interactions-report
/openapi.json get /public/v1/reporting-service/interactions
Get interactions report for a marketplace grouped by entity type.
This endpoint returns detailed interaction data (impressions, clicks, purchases, etc.)
aggregated by the specified entity type (vendor, campaign, or product) and time granularity (daily or hourly).
Results can optionally be filtered to a single vendor or campaign.
The response is paginated to handle large datasets.
# Get Marketplace Report
Source: https://docs.topsort.com/en/api-reference/reporting-api/get-marketplace-report
/openapi.json get /public/v1/reporting-service/marketplace
Endpoint to get a marketplace's total behavioral summary report between given dates.
# Get Marketplace Vendors Kpis
Source: https://docs.topsort.com/en/api-reference/reporting-api/get-marketplace-vendors-kpis
/openapi.json get /public/v1/reporting-service/marketplace/vendors-kpis
Get KPIs for vendors in a marketplace using external vendor IDs.
# Get Product Daily Report
Source: https://docs.topsort.com/en/api-reference/reporting-api/get-product-daily-report
/openapi.json get /public/v1/reporting-service/campaigns/{campaign-id}/products/{product-id}/daily
Endpoint to get a product's daily behavioral summary report between given dates.
# Get Product Report
Source: https://docs.topsort.com/en/api-reference/reporting-api/get-product-report
/openapi.json get /public/v1/reporting-service/campaigns/{campaign-id}/products/{product-id}
Endpoint to get a product's total behavioral summary report between given dates.
# Get Scored Attribution Dump Urls
Source: https://docs.topsort.com/en/api-reference/reporting-api/get-scored-attribution-dump-urls
/openapi.json get /public/v1/reporting-service/file-reports/scored-attribution
Get scored attribution files for an specific date.
This endpoint returns a list of Amazon S3 pre-signed urls containing detailed attribution data in a parquet file format.
The files are available after 3am UTC and contains the attribution data for the previous day.
# Get Vendor Daily Report
Source: https://docs.topsort.com/en/api-reference/reporting-api/get-vendor-daily-report
/openapi.json get /public/v1/reporting-service/vendors/{vendor-id}/daily
Endpoint to get a vendor's daily behavioral summary report between given dates.
# Get Vendor Report
Source: https://docs.topsort.com/en/api-reference/reporting-api/get-vendor-report
/openapi.json get /public/v1/reporting-service/vendors/{vendor-id}
Endpoint to get a vendor's total behavioral summary report between given dates.
# Delete a segment.
Source: https://docs.topsort.com/en/api-reference/segments-service/delete-a-segment
/openapi.json delete /public/v1/segment-service/segments/{segment-id}
Delete a segment.
# Get upload users signed url for a segment.
Source: https://docs.topsort.com/en/api-reference/segments-service/get-upload-users-signed-url-for-a-segment
/openapi.json get /public/v1/segment-service/segments/{segment-id}/signed-url
Retrieve a signed URL for uploading a segment user file.
This endpoint returns a pre-signed URL that allows you to securely upload a segment user file.
File requirements:
- The file must be in plain text format (".txt").
- It should not contain headers.
- Each line must represent a single opaque user ID.
- The file must not exceed 50 MiB.
The signed URL can be used to upload the file directly via an HTTP PUT request.
For more information, see the [AWS documentation on uploading objects using presigned URLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/PresignedUrlUploadObject.html).
Returns
-------
dict: A dictionary containing the signed URL and any additional metadata required for upload.
# Retrieve a list of segments.
Source: https://docs.topsort.com/en/api-reference/segments-service/retrieve-a-list-of-segments
/openapi.json get /public/v1/segment-service/segments
Retrieve a list of segments.
# Retrieve a segment by ID.
Source: https://docs.topsort.com/en/api-reference/segments-service/retrieve-a-segment-by-id
/openapi.json get /public/v1/segment-service/segments/{segment-id}
Retrieve a segment by its external ID.
# Upload users to a segment.
Source: https://docs.topsort.com/en/api-reference/segments-service/upload-users-to-a-segment
/openapi.json post /public/v1/segment-service/segments/{segment-id}/upload
Uploads a file with segment users.
# Upsert segments with the provided information.
Source: https://docs.topsort.com/en/api-reference/segments-service/upsert-segments-with-the-provided-information
/openapi.json put /public/v1/segment-service/segments
Upsert segments with the provided information.
# Create User
Source: https://docs.topsort.com/en/api-reference/user-api/create-user
/openapi.json post /public/v1/user-service/advertiser-users
Create a user.
# Get User By Email
Source: https://docs.topsort.com/en/api-reference/user-api/get-user-by-email
/openapi.json get /public/v1/user-service/advertiser-users
Get a user by email.
# Update User
Source: https://docs.topsort.com/en/api-reference/user-api/update-user
/openapi.json put /public/v1/user-service/advertiser-users
Update a user vendor access. This will substitute accesses, so vendor ids not present in the update will be removed.
# Create Webhook
Source: https://docs.topsort.com/en/api-reference/webhooks-api/create-webhook
/openapi.json post /public/v1/webhooks/webhooks
Creates a webhook.
# Delete Webhook
Source: https://docs.topsort.com/en/api-reference/webhooks-api/delete-webhook
/openapi.json delete /public/v1/webhooks/webhooks/{webhook-id}
Deletes the webhook.
# Get Webhook
Source: https://docs.topsort.com/en/api-reference/webhooks-api/get-webhook
/openapi.json get /public/v1/webhooks/webhooks/{webhook-id}
Returns the webhook.
# Get Webhooks
Source: https://docs.topsort.com/en/api-reference/webhooks-api/get-webhooks
/openapi.json get /public/v1/webhooks/webhooks
Returns all webhooks.
# Update Webhook
Source: https://docs.topsort.com/en/api-reference/webhooks-api/update-webhook
/openapi.json patch /public/v1/webhooks/webhooks/{webhook-id}
Updates a webhook.
# Getting Started
Source: https://docs.topsort.com/en/overview/getting-started
Get started with your API Keys to begin integrating with Topsort
First you'll get access to your Topsort sandbox. To use our low-code
libraries, the main thing you need is a Marketplace API Key. It can be
created in the admin dashboard, at `Account Settings > API Integration`.
The Marketplace API Key is used for Actions and Events, while the Advanced
API Key is used for Catalog and other APIs.
In your Admin Dashboard, you can see logs of all API requests made with
your Marketplace and Advanced APIs.
**Critical: Add budget before testing auctions!** Campaigns without sufficient budget cannot participate in auctions, leading to empty results. This is the most common integration issue. Ensure your account has a positive balance and campaigns have daily budgets set.
Before running your first auctions, make sure to:
* Add funds to your account balance
* Set appropriate daily budgets for your campaigns
* Monitor budget consumption in the dashboard
# Glossary
Source: https://docs.topsort.com/en/overview/glossary
Complete reference of retail media terminology covering auctions, campaigns, metrics, ROAS, attribution models, and ad optimization strategies
This glossary provides definitions for common terms used in retail media advertising and campaign management.
## Core Concepts
The catalog contains the items that will be promoted by advertisers. For retailers, these are products sold by 1P and 3P sellers.
Tools used by advertisers to promote products, enabling them to promote their catalog on the retailer's platform.
Every promoted item in a campaign is eligible for auctions. An auction requests the best options to fill a placement, considering optimization parameters for advertiser performance and retailer financial goals.
Purchases made by shoppers who interacted with an ad are attributed to campaigns. Parameters include attribution window and model (last click, multi-touch, etc).
## General Terms
The format or style of an advertisement. Common types include: Sponsored Listings, Banner Ads, Video Ads, Native Ads, etc.
The period of time in which conversions or sales are attributed to an ad. Varies by ad format: 7-14 days for Sponsored Listings, 14-30 days for Sponsored Brands, 14-30 days for Banner/Video Ads.
The type of device where the ad is viewed or interacted with: Mobile Web, Desktop, or App.
The specific location where the ad is displayed within a retail platform (e.g., homepage, search results, product pages).
Words or phrases used by customers in search queries that trigger ad placement (e.g., "running shoes," "laptop accessories").
Internal term for the unique identifier of a product in your catalog. Also called Product ID or SKU. In the API, this is the `id` field in product objects.
An anonymized user identifier used when you cannot share actual user IDs. Must be consistent across events for the same user session to enable attribution.
Fraudulent or bot traffic that should be filtered from reporting. Marketplaces are responsible for filtering SIVT before sending events to Topsort.
## Performance Metrics
The total number of times an ad is shown to users.
The number of times users clicked on an ad for which an advertiser will be billed.
The percentage of impressions that result in clicks. **Formula:** CTR = (Clicks ÷ Impressions) × 100
The average cost per click. **Formula:** Average CPC = Total Ad Spend ÷ Total Clicks
The total cost of the campaign, including all ad clicks and associated charges.
The total revenue generated from purchases as a result of the ad campaign.
The total number of completed orders resulting from clicks on the ad.
The total number of individual items sold as a result of the ad campaign.
The percentage of users who completed a purchase after clicking on the ad. **Formula:** Conversion Rate = (Sales ÷ Clicks) × 100
## Advanced Metrics
The total revenue generated per dollar spent on ads. **Formula:** ROAS = Sales ÷ Total Ad Spend
A ROAS of 3.0 means $3 in revenue for every $1 spent on advertising.
The ROAS for the same product (SKU) that was clicked. Tracks revenue generated per dollar spent specifically on the clicked SKU.
The ROAS for products from the same brand that were clicked. Used to track brand lift and halo effects.
## Cost & Pricing Models
The cost per thousand impressions. A pricing model where advertisers pay for every 1,000 times their ad is shown.
**Formula:** CPM = (Total Ad Spend ÷ Impressions) × 1,000
The cost an advertiser pays each time a user clicks on their ad. A performance-based pricing model where payment occurs only when the ad is clicked.
**Formula:** CPC = Total Ad Spend ÷ Total Clicks
The cost to acquire a customer through an ad campaign.
**Formula:** CPA = Total Ad Spend ÷ Conversions (Sales)
The average value of an order generated from an ad click.
**Formula:** AOV = Sales ÷ Orders
The average position of an ad relative to other ads in a given placement. Higher rank means better visibility.
The percentage of total ad impressions captured by a brand versus competitors.
**Formula:** SOV = (Your Impressions ÷ Total Market Impressions) × 100
## Attribution Models
Attribution model where the final ad click before a purchase is credited with the sale. Most common model for direct response campaigns.
Attribution model where credit is given to multiple touchpoints throughout the customer journey. Useful for understanding the full path to purchase.
Attribution model where credit is given to ads shown but not clicked, influencing a purchase after the fact. Common for awareness campaigns.
Attribution model where a vendor receives credit when a user clicks on Product A but purchases Product B from the same vendor. Requires `vendorId` in purchase events.
The unique identifier returned from an auction that connects events (impressions, clicks, purchases) back to the winning bid for attribution purposes.
## Campaign Management
Changes made to bids to optimize ad placement, typically based on factors like time of day, device type, location, or keyword performance.
The distribution of ad spend across different campaigns, keywords, or placements to maximize ROI.
The average total spend across all campaigns or ads.
**Formula:** Average Ad Spend = Total Ad Spend ÷ Number of Campaigns
The unique product identifier (e.g., SKU, UPC, or ASIN) associated with the product(s) being advertised.
The dimensions and format of the ad creative (e.g., 970x90, 300x250 pixels for banner ads, 16:9 for video ads).
## Ad Formats
Ads that appear within product search results or category pages, typically appearing as "sponsored" or "promoted" products. High purchase intent format.
Ads displayed in fixed sections of a webpage, such as at the top, side, or bottom of the page. Used for awareness and discovery.
Ads designed to blend seamlessly with the content of the website or platform, making them look like part of the organic content (e.g., sponsored articles).
A type of ad that allows multiple products to be displayed in a sliding format. Often used for showcasing different product variations or collections.
Ads targeted at users who have previously interacted with the brand or product but have not yet converted.
# Going Live
Source: https://docs.topsort.com/en/overview/going-live
Complete guide to preparing for and executing a smooth transition to production with comprehensive testing and monitoring strategies.
Before moving to production, conduct thorough User Acceptance Tests (UAT) to ensure a smooth transition. This guide walks you through pre-launch preparation, testing procedures, deployment steps, and post-launch monitoring.
**Your go-live process may vary** depending on your integration path and ad formats. This guide covers the most common scenarios, but your specific implementation may differ. For example:
* **Sponsored Listings** require full catalog integration with product data
* **Banner Ads** may only require vendor/advertiser setup without product-level catalog
* **Placement configurations** vary based on your ad format choices
Work with your Topsort contact to confirm which sections apply to your integration.
## Pre-Launch Checklist
* [ ] Product feed is connected and updating regularly
* [ ] All product attributes (id, name, price, image, category) are populated
* [ ] Product availability is accurate
* [ ] Category taxonomy is properly mapped (based on your agreed taxonomy structure)
* [ ] Auction requests include all required fields
* [ ] Response handling is implemented
* [ ] Impression tracking fires when sponsored products are visible
* [ ] Click tracking fires on product clicks (including "Add to Cart" if applicable)
* [ ] Purchase events include all order details
* [ ] User IDs are consistent across all events
* [ ] Vendors/advertisers are configured in the system
* [ ] Placements or JSON templates are created in the system
* [ ] Banner creative assets are uploaded and approved
* [ ] Click-through URLs are configured correctly
* [ ] (Optional) content standards are uploaded to the system
* [ ] Auction requests include all required fields
* [ ] Banner placement IDs are correctly configured
* [ ] Response handling returns banner creative data
* [ ] Banner rendering logic is implemented
* [ ] Impression tracking fires when banner is visible
* [ ] Click tracking fires on banner clicks
* [ ] User IDs are consistent across all events
### Common Configuration (All Ad Formats)
**API Credentials:**
* [ ] Sandbox API keys are properly configured
* [ ] Production API keys are ready (don't switch yet)
* [ ] API keys are stored securely in environment variables
* [ ] Key rotation process is documented
**Environment Setup:**
* [ ] Staging environment mirrors production configuration
* [ ] All API endpoints are configured correctly
* [ ] Timeout values are appropriate (recommended: 500-1000ms)
* [ ] Error handling is implemented
**Ad Display:**
* [ ] Ad placements render correctly on all device types
* [ ] Ad labels are clearly visible (see labeling guidelines below)
* [ ] Ad images/creatives load properly with fallbacks
* [ ] Click-through behavior works as expected
**Performance:**
* [ ] Page load times are acceptable with ads
* [ ] Ads don't block critical page rendering
* [ ] Mobile experience is optimized (touch targets, responsive layouts, fast load times)
* [ ] Accessibility requirements are met
**Instrumentation:**
* [ ] Error tracking is configured (Sentry, Datadog, etc.)
* [ ] Performance monitoring is in place
* [ ] Custom dashboards are set up
* [ ] Alerting thresholds are defined
**Logging:**
* [ ] API request/response logging is enabled
* [ ] Error logs are being captured
* [ ] Audit trail for ad events is configured
* [ ] Log retention policies are set
### Ad Labeling Guidelines
Use labels that clearly indicate promotional content while avoiding ad-blocker triggers:
* **"Featured"**
* **"Recommended"**
* **"Client's Choice"**
* **"Top Pick"**
Avoid using "Sponsored" or "Ad" as these terms are commonly targeted by ad blockers.
If operating in the European Union, the **Digital Services Act (DSA)** requires:
* [ ] Clear labeling that content is an advertisement
* [ ] Display of the advertiser name in ad details
* [ ] Transparency about why the ad was shown to the user
Work with your legal team to ensure full DSA compliance.
## User Acceptance Testing (UAT)
### 1. Catalog Testing
**In Topsort Admin Panel:**
1. Navigate to Catalog section
2. Verify products are visible and searchable
3. Check that product data is complete:
* Product names, images, and prices are correct
* Categories are properly assigned
* Product availability status is accurate
**Test Campaign Creation:**
1. Create a new test campaign named `UAT-TEST-[DATE]`
2. Try adding products to the campaign
3. Verify product search and filtering works
4. Confirm product selection saves correctly
**Expected Result:** All products should be selectable when creating campaigns, with accurate and complete information.
**In Topsort Admin Panel:**
1. Navigate to Vendors/Advertisers section
2. Verify vendors are configured correctly
3. Verify click-through URLs are correct
**Test Campaign Creation:**
1. Create a new test campaign named `UAT-TEST-[DATE]`
2. Select banner ad format
3. Configure targeting and bid settings
4. Activate the campaign
**Expected Result:** Banner campaigns should be creatable with proper creative assets and targeting options.
### 2. Auctions & Events Testing
**Setup:**
* Create `UAT-TEST` campaign with 3-5 products
* Set high bid amount (\$10+) to ensure wins
* Activate the campaign
**Test Scenarios:**
1. Verify auction request is sent
2. Check that winning products are returned
3. Confirm products render on page
**Validation:**
* Check browser network tab for API calls
* Verify auction response contains products
* Ensure resolvedBidId is captured for event tracking
**Test All Event Types:**
**Impression Events:**
* Load page with sponsored products
* Verify impression event fires when ad is visible
* Check resolvedBidId is included
**Click Events:**
* Click on sponsored product
* Verify click event fires immediately
* **Note:** "Add to Cart" actions also count as clicks if configured
* Confirm navigation/action works correctly
**Purchase Events:**
* Complete a purchase with sponsored product
* Verify purchase event includes:
* Product ID and quantity
* Order value and order ID
* **User ID** (required for attribution)
**Setup:**
* Create `UAT-TEST` banner campaign
* Set high bid amount to ensure wins
* Activate the campaign
**Test Scenarios:**
1. Load page with banner placement
2. Verify auction request is sent
3. Check that winning banner creative is returned
4. Confirm banner renders correctly on page
**Validation:**
* Check browser network tab for API calls
* Verify auction response contains banner data
* Ensure resolvedBidId is captured for event tracking
**Test All Event Types:**
**Impression Events:**
* Load page with banner placement
* Verify impression event fires when banner is visible
* Check resolvedBidId is included
**Click Events:**
* Click on banner
* Verify click event fires immediately
* Confirm click-through URL navigation works
**Note:** Purchase events may not apply to banner-only integrations unless you're tracking downstream conversions.
**Test with Two Different Users:** Perform all tests with at least two unique user sessions to verify proper user tracking and attribution.
### 3. Data Validation
**For Each Test User:**
* Take screenshots of ad placements
* Capture network requests showing API calls
* Document order details for purchase events (if applicable)
* Note timestamps for each action
Send the following to your Topsort contact:
* Screenshots of ad impressions
* Network logs showing auction and event calls
* Test campaign name and time range
* User identifiers used in testing
Topsort will provide a summary including:
* Total auctions received
* Impression and click counts
* Purchase counts (for listing ad integrations)
* Data quality score
* Any data discrepancies or issues
**Verify Alignment:**
* Numbers match your test actions
* Attribution chain is complete
* No missing or duplicate events
## Production Deployment
### Deployment Steps
**Option 1: Product Feed**
* Share your production feed URL with Topsort
* Ensure feed is accessible and updates regularly
* Recommended update frequency: Every 15-60 minutes
**Option 2: Catalog API**
* Use the [Catalog API](/en/ad-server/catalog/) for real-time updates
* Implement create, update, and delete operations
* Set up scheduled full catalog sync
**Verify:**
* Product count matches expectations
* All required fields are populated
* Images are loading correctly
**Vendor Setup:**
* Confirm all vendors/advertisers are configured
* Verify banner creatives are uploaded and approved
* Check click-through URLs are production-ready
**Verify:**
* All active vendors are visible in admin
* Banner creatives display correctly
* Targeting options are configured
**Using Topsort UI:**
1. Topsort provides admin panel credentials
2. You receive production API URL
3. [Generate API keys](/en/api-reference/authentication) in admin
4. Store keys securely in production environment
**Using Custom UI:**
1. Receive production API URL from Topsort
2. Receive production API key(s)
3. Configure keys in your environment
**Never commit API keys to version control.** Use environment variables or secure secret management systems.
**Pre-Deployment:**
* Review all code changes one final time
* Ensure sandbox credentials are parameterized
* Confirm rollback procedure is documented
* Schedule deployment during low-traffic period
**Deployment Process:**
1. Deploy code to production environment
2. Update environment variables with production credentials
3. Restart services to pick up new configuration
4. Verify application starts successfully
**Immediate Verification:**
* Check application logs for errors
* Test basic functionality (page loads)
* Verify API connectivity
### Traffic Ramping Strategy
**Recommended Approach:**
**Day 1-2:** 10% of traffic
* Monitor closely for errors
* Validate data accuracy
* Check performance metrics
**Day 3-5:** 50% of traffic
* Compare metrics with baseline
* Ensure system stability
* Fine-tune if needed
**Day 6+:** 100% of traffic
* Full production launch
* Continue monitoring
* Optimize performance
**Use Feature Flags to Control:**
* Which placements show ads
* Percentage of users seeing ads
* A/B testing configurations
* Emergency kill switch
**Benefits:**
* Instant rollback without deployment
* Gradual rollout control
* Per-placement configuration
* Reduced deployment risk
## Post-Launch Monitoring
### Critical Metrics to Monitor
**API Performance:**
* Auction API response time (target: \<500ms p95)
* Event API success rate (target: >99.5%)
* Error rates and types
* API timeout frequency
**Application Performance:**
* Page load time impact
* Time to first ad render
* JavaScript errors
* Memory usage patterns
**Action Items if Issues Detected:**
* Response time >1s: Review timeout settings
* Error rate >1%: Check API credentials and network
* High JS errors: Review client-side implementation
**Event Tracking:**
* Impression-to-click ratio (typical: 1-5%)
* Click-to-purchase ratio (typical: 2-10%, for listing ads)
* Event volume consistency
* Attribution completeness
**Data Integrity:**
* User IDs are present and consistent
* resolvedBidIds are captured for impressions and clicks
* Purchase amounts are reasonable (listing ads)
* Duplicate events are minimal
**Dashboard Checks:**
* Compare Topsort dashboard with your analytics
* Verify revenue attribution matches
* Check for data gaps or spikes
**Campaign Performance:**
* Total impressions delivered
* Click-through rate (CTR)
* Conversion rate (listing ads)
* Return on ad spend (ROAS)
**User Experience:**
* Ad viewability rates
* User engagement with ads
* Impact on organic conversion rate
* Page bounce rate changes
**Revenue Impact:**
* Incremental revenue from ads
* Average order value changes
* Vendor adoption rate
* Campaign creation velocity
### Troubleshooting Common Issues
**Possible Causes:**
* No active campaigns
* Bid amounts too low
* Product targeting too narrow
* Auction API errors
**Debugging Steps:**
1. Check browser console for errors
2. Verify auction API response
3. Confirm campaigns are active
4. Review targeting criteria
**Possible Causes:**
* Event not triggered on checkout
* Missing user ID in event payload
* Incorrect product ID format
* Network failures
**Debugging Steps:**
1. Test purchase flow manually
2. Check event payload structure
3. Verify user ID is included
4. Review server logs
**Possible Causes:**
* No active banner campaigns
* Bid amounts too low
* Banner creative not approved
* Auction API errors
**Debugging Steps:**
1. Check browser console for errors
2. Verify auction API response
3. Confirm campaigns are active
4. Check creative approval status
**Possible Causes:**
* Creative URL inaccessible
* Image format not supported
* CORS issues
* Container sizing issues
**Debugging Steps:**
1. Check creative URL directly
2. Verify image loads in browser
3. Check network tab for CORS errors
4. Review container CSS
**Possible Causes:**
* Slow API responses
* Blocking auction calls
* Large image files
* Too many placements
**Solutions:**
1. Implement proper timeouts
2. Use async/non-blocking calls
3. Optimize image loading
4. Cache auction responses
**Possible Causes:**
* Double-counting events
* Missing attribution chain
* Time zone mismatches
* Bot traffic
**Investigation:**
1. Compare raw event counts
2. Check for duplicate IDs
3. Verify timezone handling
4. Review user agent filtering
## Best Practices
**Internal Coordination:**
* Notify engineering team of deployment
* Alert customer support of new features
* Update sales team on capabilities
**External Communication:**
* Coordinate with Topsort team
* Schedule launch calls
* Establish escalation paths
**Maintain:**
* Deployment runbooks
* Rollback procedures
* API integration specs
* Troubleshooting guides
**Keep Updated:**
* Configuration changes
* Known issues and workarounds
* Performance benchmarks
**Continuous Improvement:**
* Review performance weekly
* Optimize slow queries
* Refine targeting
* Test new placements
**A/B Testing:**
* Ad placement positions
* Number of ads per page
* Ad formats and styles
* Targeting strategies
**Establish:**
* On-call rotation
* Incident response process
* Topsort escalation contacts
* SLA expectations
**Document:**
* Common support scenarios
* Resolution procedures
* Contact information
***
Once you're live, you're ready to start optimizing. Reach out to your Topsort contact for guidance on campaign strategies, attribution tuning, and advanced configurations.
# Welcome to Topsort
Source: https://docs.topsort.com/en/overview/index
Discover Topsort's integration options and core products to launch, scale, and optimize your retail media business with privacy-focused, flexible, and AI-powered solutions
This guide provides information on Topsort's suite of products designed to
enhance the growth of your retail media networks. You can choose the module
and integration path that best suits your needs. This Integration Guide contains
all the details you need to get started with Topsort's offerings. For in-depth
explanations of features and concepts, visit the [**Knowledge Base**](/en/knowledge-base/).
Consider this your essential resource for launching, scaling, and optimizing
your retail media business. Whether you are new to advertising, upgrading
existing systems, or aiming to improve results with AI-powered tools, you will
find the necessary technical information here to connect with Topsort's
infrastructure.
## What is Topsort's Retail Media Infrastructure
Topsort enables the creation of a unique advertising ecosystem through four
core components:
A comprehensive, ready-to-use solution for launching, growing, and
activating your advertising business. It includes tools for managing
campaigns, viewing reports, tracking results, and integrating ad displays.
Offers powerful APIs for customizing ads and integrating with existing
systems and software. This ensures a seamless experience for sellers while
allowing them to control ad relevance, audience targeting, and performance
improvement.
Provides smart tools and individual components to enhance your ad system,
including solutions for forecasting, retrieval, and attribution to address
challenges common to large online platforms.
Topsort's DSP for advertising agencies and brands, enabling campaign
management across multiple online retailers from a centralized platform
with real-time data and AI-powered enhancements.
## Choosing the Right Path
* For those new to retail media, start with the [**Ad Platform's low-code
tools**](/en/ad-platform/).
* For building custom logic, explore the [**Ad Server APIs**](/en/ad-server/).
* For programmatic scaling, utilize [**Toppie for demand-side
expansion**](/en/toppie/).
* For migrating systems, review [**fallback strategies and A/B testing
guidelines**](/en/advanced-integrations/).
Topsort offers state-of-the-art, privacy-focused technology to help retailers
build and expand their ad businesses. To accommodate various technical skills
and preferences, two main integration methods are available:
* **Low-Code Integration**: Offers a simpler, more direct setup.
* **Full API-First Integration**: Provides maximum flexibility and
customization.
Regardless of the chosen integration path, Topsort equips you with the tools
to monetize through an omnichannel ad system. Each integration component is
designed to assist in managing, understanding, and improving your advertising
strategies.
For detailed guides, step-by-step instructions, and personalized support,
please contact our technical support team via the [**Support
Portal**](https://help.center.topsort.com/servicedesk/customer/portal/1).
We are committed to ensuring a smooth integration process and helping you
maximize the potential of your inventory.
# Integration Overview
Source: https://docs.topsort.com/en/overview/integration-overview
An overview to the integration process
There are core elements of a successful Topsort integration. First, gain
access to your Topsort sandbox from your Topsort representative. Based on your
product access, you will be able to have API keys that will unlock the
following key components of a product integration:
Obtain API keys (Marketplace for low-code, Advanced for catalog/CRM) from
your Topsort dashboard.
Topsort offers two integration approaches to fit your technical requirements and timeline:
* **Low-code integration ([Ad Platform](/en/ad-platform))**: Use our pre-built SDKs, libraries, and plugins for fast implementation
and minimal development effort. Perfect for marketplaces that want to launch quickly.
* **API-first integration ([Ad Server](/en/ad-server))**: Leverage our
powerful set of public APIs to gain full control of your ad setup. Ideal for enterprises with in-house teams and custom requirements.
| Feature | Ad Platform (Low-Code) | Ad Server (API-First) |
| ----------------------- | ------------------------------- | ------------------------------ |
| **Setup Time** | Days to weeks | Weeks to months |
| **Development Effort** | Minimal | Significant |
| **Customization** | Standard features only | Full control over all aspects |
| **Target Audience** | Marketplaces, product teams | Enterprises, technical teams |
| **Campaign Management** | Pre-built UI and tools | Build your own interface |
| **Ad Formats** | Banners, sponsored listings | Any format you design |
| **Best For** | Quick launch, standard features | Custom logic, deep integration |
**Choose [Ad Platform](/en/ad-platform) if you:**
* Want to launch retail media quickly with minimal development
* Prefer pre-built campaign management tools and reporting dashboards
* Need standard banner ads and sponsored product listings
* Have limited in-house development resources
* Want to use platform plugins (VTEX, Salesforce) for easy integration
**Choose [Ad Server](/en/ad-server) if you:**
* Need complete control over auction logic and ranking algorithms
* Have in-house engineering teams to build custom solutions
* Require deep integration with proprietary systems
* Want to implement custom ad formats or unique workflows
* Need advanced features like custom attribution models or A/B testing frameworks
Use built-in logging and staging environments to monitor requests.
Deploy to production and leverage Topsort's analytics for optimization.
# Pick an integration path
Source: https://docs.topsort.com/en/overview/pick-an-integration-path
Choose between Low Code Integration with SDKs for quick setup, or API-first integration for full customization and control
We offer two integration paths, depending on which ad formats you plan on
integrating (banners, listings), how much customization you need and how fast
you want to go live.
If you're going for a simple ad platform integration, we recommend **Low
Code Integration** using our SDKs and libraries. The libraries we offer
include:
* **[Banners.js](/en/ad-platform/banners/bannersjs)**: for rendering banner ads. Can also be injected using [Google Tag Manager](/en/ad-platform/banners/google-tag-manager).
* **[Analytics.js](/en/ad-platform/listings/analytics-js)**: for tracking clicks, impressions and purchases.
* **[Javascript SDK](/en/ad-platform/sdks/javascript-sdk)**: optional low-code wrapper for auctions and events.
* **[Topsort Proxy](/en/ad-platform/listings/topsort-proxy)**: handles injection of auction winners into your catalog or search engine results.
If you're going for an ad server integration and ad intelligence, we
recommend an **API-first integration path**. APIs offered today:
* **[Catalog API](/en/ad-server/catalog)**: keep Topsort up-to-date with your catalog changes.
* **[Auctions API](/en/ad-server/auctions/auctions-api)**: request winners for banners or listings.
* **[Events API](/en/ad-server/events/events-api)**: track clicks, impressions and purchases.
Additional APIs:
* **[Invitation API](/en/ad-server/additional-apis/invitation-api)**: invite advertiser users to the platform.
* **[User API](/en/ad-server/additional-apis/user-api)**: manage advertiser users.
* **[Reporting API](/en/ad-server/additional-apis/reporting-api)**: get granular reporting about your campaigns.
* **[Campaign API](/en/ad-server/additional-apis/campaign-api)**: create and update banner and listing campaigns.
* **[Segments API](/en/ad-server/additional-apis/segments-api)**: create and manage user segments, for campaign targeting.
* **[Webhooks API](/en/ad-server/additional-apis/webhooks-api)**: create and manage webhooks, for personalized campaign events.
* **[Billing API](/en/ad-server/additional-apis/billing)**: top-up vendor, create wallets, add and manage billing contacts.
* **[Assets API](/en/ad-server/additional-apis/assets-api)**: create and manage assets like images and videos.
* **[Offsite API](/en/ad-server/additional-apis/offsite)**: manage advertisers, campaigns and metrics related to offsite campaigns.
# Segments API
Source: https://docs.topsort.com/en/ad-server/additional-apis/segments-api
Integrate with our Segments API
Topsort's [Segments API](/en/api-reference/segments-service) allows our clients to create and manage groups of users for targeting purposes. After creating segments on our platform, they can be used as targeting in the campaign creation.
## Uploading Users to a Segment
Once a segment is created, users can be uploaded to it using our APIs. Topsort support three actions:
* **Add**: Append new users to the existing segment, without making changes to existing ones.
* **Remove**: Delete specific users from the segment.
* **Replace**: Overwrite the entire segment with a new user list
User lists must follow this specification:
* File format is .txt
* No headers
* One Opaque User ID per row, without emails or personal information.
## Use in Campaigns
Segments are used as targeting options in campaigns. The same Opaque User ID uploaded to the segments should be used on the auction request, to guarantee the auction engine can match it with the corresponding segment.
# User API
Source: https://docs.topsort.com/en/ad-server/additional-apis/user-api
Integrate with our User API
More APIs to customize your exact workflow and build your preferred version of an ad business. Check the complete documentation of our [User API](/en/api-reference/user-api).
With this API, you can manage advertisers and vendors user accounts.
Create, retrieve, and update users via email.
Assign or modify vendor-level permissions.Useful for managing team access and roles.
# Webhooks API
Source: https://docs.topsort.com/en/ad-server/additional-apis/webhooks-api
Integrate with our Webhooks API
Topsort's [Webhooks API](/en/api-reference/webhooks-api) allows you to configure webhooks for receiving automated notifications about specific events, such as campaign updates. With this API you can:
* Subscribe to platform events (e.g. campaign updates).
* Create, update, delete, and retrieve webhook configurations
# Fallback and A/B Testing
Source: https://docs.topsort.com/en/advanced-integrations/index
Run Topsort alongside existing ad servers with fallback logic
If the retailer already is running ads using an ad server, it is possible to run it alongside Topsort using a fallback logic. This allows retailers to compare ad servers performance and increase fill-rates.
## Use Cases
Use a secondary ad server when Topsort returns no winners, ensuring maximum
fill rate
Compare ad server performance using audience segments or traffic splits
## How It Works
For instance, if the retailer is running banner ads using GAM (Google Ad Manager), they can set Topsort as the primary ad server to make sure their direct sold campaigns have priority over GAM's demand.
Ad requests and interactions coming from ads not served by Topsort can be reported to Topsort to see and compare metrics in one place.
Set up Topsort as your primary ad server using any of the integration
methods (API, SDK, or low-code).
Always request an ad from Topsort first in your ad serving logic.
If Topsort returns winners, display the Topsort ad.
If no winners are returned, request an ad from your secondary ad server.
## Implementation Example
```javascript theme={null}
async function displayAd() {
try {
const response = await fetch("https://api.topsort.com/v2/auctions", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
// Your auction request parameters
}),
});
const auctionData = await response.json();
if (auctionData?.results?.winners) {
console.log("Topsort ad displayed.");
return; // Exit early - Topsort ad is displayed
} else {
console.log("No Topsort ad available.");
}
} catch (error) {
console.error("Error fetching Topsort ad:", error);
}
// Fallback to secondary network
if (secondaryNetwork) {
// Render ad from secondary network
console.log("Displaying secondary ad.");
} else {
console.warn("No secondary ad network configured.");
}
}
displayAd();
```
## A/B Testing Approach
For A/B testing, modify the selection logic using:
* **Audience Segments** - Route specific user segments to different ad servers
* **Traffic Split** - Randomly assign a percentage of traffic to each ad server
Report all ad interactions (including from secondary ad servers) to Topsort to
compare metrics in one unified dashboard.
# Documentation MCP Server
Source: https://docs.topsort.com/en/api/mcp
Integrate our MCP server with your agents to become productive in no time
The **Model Context Protocol (MCP)** is an open-source standard for connecting AI applications to external systems. Topsort provides an MCP server through Mintlify that gives AI assistants direct access to our complete API documentation, enabling them to provide accurate, up-to-date information about our APIs.
Think of MCP like a USB-C port for AI applications. Just as USB-C provides a
standardized way to connect devices, MCP provides a standardized way to
connect AI applications to external data sources like our API documentation.
Looking for real-time analytics and campaign insights? Check out our [Analytics MCP Server](/api/mcp-analytics) for direct access to advertising metrics, benchmarks, and visualizations.
## What You Can Do
By connecting to Topsort's MCP server, AI assistants can:
* **Access complete API documentation** - Query endpoint details, parameters, request/response schemas, and examples
* **Get accurate integration guidance** - Receive up-to-date code examples and implementation instructions
* **Troubleshoot faster** - Quickly reference error codes, rate limits, and authentication methods
* **Stay current** - Always access the latest API documentation without manual updates
## Quick Start
Our MCP server is available at:
```
https://docs.topsort.com/mcp
```
The MCP server is publicly accessible and doesn't require authentication. However, you'll need API keys to actually use the Topsort API in your applications.
## Integration Guides
Use MCP with GitHub Copilot in Visual Studio Code
Connect ChatGPT to access Topsort documentation
Configure Claude Desktop for local development
Cursor, Windsurf, Continue, and more
## VS Code with GitHub Copilot
GitHub Copilot supports MCP servers in both the coding agent and the chat interface.
### Prerequisites
* **VS Code** version 1.95.0 or later
* **GitHub Copilot** extension installed and activated
* **GitHub Copilot Chat** extension installed
### Configuration
Press `Cmd+,` (Mac) or `Ctrl+,` (Windows/Linux) to open Settings.
Search for "MCP" in the settings search bar, or navigate to **Extensions** > **GitHub Copilot** > **MCP**.
Click **Edit in settings.json** and add:
```json theme={null}
{
"github.copilot.chat.mcp.servers": {
"topsort": {
"type": "http",
"url": "https://docs.topsort.com/mcp"
}
}
}
```
Press `Cmd+Shift+P` (Mac) or `Ctrl+Shift+P` (Windows/Linux), type "Developer: Reload Window" and press Enter.
## ChatGPT
ChatGPT supports remote MCP servers for Plus and Team subscribers.
Navigate to [chat.openai.com](https://chat.openai.com) and click your
profile icon, then select **Settings**.
Click on **Connections** or **Integrations** in the settings sidebar.
Click **Add Connection** and enter: - **Name**: `Topsort API Documentation`
* **Server URL**: `https://docs.topsort.com/mcp` - **Transport Type**:
`http`
## Claude Desktop
Claude Desktop provides comprehensive local MCP support.
### Prerequisites
* **Node.js** installed on your system (required for `mcp-remote`)
### Configuration
* **macOS**: Click **Claude** in the menu bar → **Settings**
* **Windows**: Click **File** → **Settings**
Click on the **Developer** tab in the left sidebar.
Click **Edit Config** and add:
```json theme={null}
{
"mcpServers": {
"topsort-docs": {
"command": "npx",
"args": [
"mcp-remote",
"https://docs.topsort.com/mcp"
]
}
}
}
```
Save the configuration and restart Claude Desktop.
## Other MCP Clients
### Cursor
Add to your Cursor settings:
```json theme={null}
{
"mcp": {
"servers": {
"topsort": {
"type": "http",
"url": "https://docs.topsort.com/mcp"
}
}
}
}
```
### Windsurf Editor
Configure in `~/.codeium/windsurf/mcp_config.json`:
```json theme={null}
{
"mcpServers": {
"topsort-docs": {
"command": "npx",
"args": [
"mcp-remote",
"https://docs.topsort.com/mcp"
]
}
}
}
```
Windsurf requires the `mcp-remote` package to connect to remote MCP servers. Ensure Node.js is installed on your system.
### Continue
Add to `~/.continue/config.json`:
```json theme={null}
{
"mcpServers": {
"topsort": {
"transport": {
"type": "http",
"url": "https://docs.topsort.com/mcp"
}
}
}
}
```
### Cline
Configure in `~/Documents/Cline/MCP/config.json`:
```json theme={null}
{
"topsort": {
"type": "http",
"url": "https://docs.topsort.com/mcp"
}
}
```
## Troubleshooting
### Connection Issues
* Verify the URL is correct: `https://docs.topsort.com/mcp`
* Check your internet connection
* Restart your MCP client application
* Review client-specific logs for error messages
### Server Not Responding
* Verify the transport type is set to `http`
* Check if your firewall or VPN is blocking the connection
* Check [our status page](https://status.topsort.com) for any service disruptions
While the MCP server itself doesn't require authentication, you'll still need
valid API keys to actually use the Topsort API in your applications. Never
share your API keys in conversations or commit them to version control.
## Learn More
* [Model Context Protocol Documentation](https://modelcontextprotocol.io)
* [MCP Client List](https://modelcontextprotocol.io/clients)
* [Topsort API Documentation](https://api.docs.topsort.com)
# Analytics MCP Server
Source: https://docs.topsort.com/en/api/mcp-analytics
Connect your AI agents to Topsort's advertising platform for real-time analytics and catalog operations
The **Model Context Protocol (MCP)** is an open standard for connecting AI applications to external systems—think of it as a USB-C port for AI. Our Analytics MCP server gives your AI assistants direct access to Topsort's advertising analytics and catalog APIs.
Looking for documentation access instead? Check out our [Documentation MCP Server](/api/mcp) for AI-assisted API integration guidance.
## What You Can Do
By connecting to Topsort's Analytics MCP server, AI assistants can:
* **Analyze advertising performance** - Query real-time metrics like CTR, CVR, ROAS, CPC, and ad spend across campaigns or marketplaces
* **Monitor campaign health** - Check budget utilization, bidding behavior, quality scores, and pacing in real-time
* **Compare performance over time** - Run week-over-week, month-over-month, or custom period comparisons to identify trends and anomalies
* **Benchmark against industry** - Compare campaign metrics against category benchmarks (retail, pharmacy, travel, etc.)
* **Visualize insights** - Generate line, bar, and pie charts from any analytics data for easy interpretation
* **Get Topsort guidance** - Answer questions about API integration, troubleshooting, and platform best practices
All queries can be scoped to a specific vendor, ensuring advertisers only access their own data while marketplace operators can view aggregate insights.
## Quick Start
Our Analytics MCP server is available at:
```
https://mcp-server.api.topsort.ai/mcp
```
This MCP server requires authentication. Contact your Topsort sales representative to request an API key with MCP Server access.
## Authentication
### Marketplace Authentication
All requests must include a valid API key. For MCP clients that use `mcp-remote` (like Claude Desktop), pass the key via the `--header` argument:
```json theme={null}
{
"mcpServers": {
"topsort-analytics": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp-server.api.topsort.ai/mcp",
"--header",
"X-API-Key: MPS_xxxx"
]
}
}
}
```
### Vendor ID Filtering
Tool results can be filtered for specific vendors by including the Vendor ID in the request header. This restricts the scope of all tools, preventing data leakage across vendors:
```json theme={null}
{
"mcpServers": {
"topsort-analytics": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp-server.api.topsort.ai/mcp",
"--header",
"X-API-Key: MPS_xxxx",
"--header",
"X-Vendor-Id: 1111-2222-3333-4444-55555"
]
}
}
}
```
## Tool Filtering
Tags enable fine-grained access control over which tools are available to different clients. Each tool can be annotated with one or more tags, and clients are assigned their own set of tags.
When retrieving tools, the system filters the list by checking for any overlap between the client's tags and each tool's required tags—a client only needs one matching tag to gain access.
## Integration Guides
Connect ChatGPT to Topsort analytics
Configure Claude Desktop with authentication
Test the MCP server with Postman
## ChatGPT
ChatGPT supports remote MCP servers for Plus and Team subscribers.
Navigate to [chat.openai.com](https://chat.openai.com) and click your profile icon, then select **Settings**.
Click on **Connections** or **Integrations** in the settings sidebar.
Click **Add Connection** and enter:
* **Name**: `Topsort Analytics`
* **Server URL**: `https://mcp-server.api.topsort.ai/mcp`
* **Transport Type**: `http`
* **Headers**: Add `X-API-Key` with your API key
## Claude Desktop
Claude Desktop provides comprehensive local MCP support.
### Prerequisites
* **Node.js** installed on your system (required for `mcp-remote`)
### Configuration
* **macOS**: Click **Claude** in the menu bar → **Settings**
* **Windows**: Click **File** → **Settings**
Click on the **Developer** tab in the left sidebar.
Click **Edit Config** and add:
```json theme={null}
{
"mcpServers": {
"topsort-analytics": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp-server.api.topsort.ai/mcp",
"--header",
"X-API-Key: MPS_xxxx"
]
}
}
}
```
Replace `MPS_xxxx` with your actual API key.
For vendor-scoped access, add an additional `--header` argument:
```json theme={null}
{
"mcpServers": {
"topsort-analytics": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp-server.api.topsort.ai/mcp",
"--header",
"X-API-Key: MPS_xxxx",
"--header",
"X-Vendor-Id: 1111-2222-3333-4444-55555"
]
}
}
}
```
Save the configuration and restart Claude Desktop.
## Postman
You can test the Analytics MCP server using Postman's MCP support.
Launch Postman and navigate to **Settings** → **MCP Servers**.
Click **Add Server** and configure:
* **Name**: `Topsort Analytics`
* **URL**: `https://mcp-server.api.topsort.ai/mcp`
Add the required headers:
* `X-API-Key`: Your Topsort API key
* `X-Vendor-Id`: (Optional) Vendor ID for scoped access
Click **Test Connection** to verify the server is responding correctly.
## Troubleshooting
### Connection Issues
* Verify the URL is correct: `https://mcp-server.api.topsort.ai/mcp`
* Ensure your API key is valid and has MCP Server access
* Check your internet connection
* Restart your MCP client application
### Authentication Errors
* Confirm your API key starts with `MPS_`
* Verify the `X-API-Key` header is correctly formatted
* Contact your Topsort sales representative if your key is rejected
### Server Not Responding
* Verify the transport type is set to `http`
* Check if your firewall or VPN is blocking the connection
* Check [our status page](https://status.topsort.com) for any service disruptions
## Learn More
* [Model Context Protocol Documentation](https://modelcontextprotocol.io)
* [MCP Client List](https://modelcontextprotocol.io/clients)
* [Topsort API Documentation](/api-reference)
* [Documentation MCP Server](/api/mcp) - For AI-assisted API integration
# Ad Format Configuration
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/ad-format-configuration
Configure charge types, self-service access, and view campaigns for each ad format
Each ad format in Topsort has a dedicated configuration page in the **Admin
Dashboard** where marketplace operators can view campaigns, set charge types,
and control self-service vendor access — all without needing to contact an
account manager.
## Overview
Ad Format pages are available under **Ad Formats** in the Admin Dashboard
sidebar. Each page shows every campaign running for that ad format and
provides controls for charge type and self-service access.
View all campaigns for a given ad format in one place — active, paused, and
completed.
Choose how advertisers are charged: CPC, CPM, or CPA depending on the ad
format.
Control whether vendors can create campaigns for an ad format on their own,
or restrict access at the marketplace or vendor level.
Make configuration changes instantly, directly from the dashboard.
## Ad Format Pages
### Sponsored Listings
Sponsored Listings promote individual products within search results and
category pages. The configuration page supports the widest range of charge
types.
| Setting | Options |
| ----------------------- | ---------------------------------- |
| **Charge type** | CPC, CPM, or CPA |
| **Self-service access** | Enabled by default for all vendors |
### Banners
Banner ads are display creatives placed in dedicated slots across the
marketplace. Marketplace operators can restrict which vendors are allowed to
create banner campaigns through self-service.
| Setting | Options |
| ----------------------- | ----------------------------------------------------------- |
| **Charge type** | CPC or CPM |
| **Self-service access** | Restrict for the entire marketplace or by individual vendor |
### Brands
Sponsored Brands campaigns feature brand-level creatives with multiple
products. Self-service access can be restricted at the marketplace or vendor
level.
| Setting | Options |
| ----------------------- | ----------------------------------------------------------- |
| **Charge type** | CPC or CPM |
| **Self-service access** | Restrict for the entire marketplace or by individual vendor |
### Videos
Video ads allow vendors to run video creatives in designated placements.
Access controls work the same as Banners and Brands.
| Setting | Options |
| ----------------------- | ----------------------------------------------------------- |
| **Charge type** | CPC or CPM |
| **Self-service access** | Restrict for the entire marketplace or by individual vendor |
## How to Configure an Ad Format
In the Admin Dashboard sidebar, go to **Ad Formats** and select the format
you want to configure (Sponsored Listings, Banners, Brands, or Videos).
The page displays all campaigns for that ad format. Use this to understand
current campaign activity before making changes.
Select the charge type that fits your monetization strategy. Available
options depend on the ad format.
For Banners, Brands, and Videos, choose whether to allow all vendors to
create campaigns via self-service, restrict access for the entire
marketplace, or restrict access for specific vendors. Sponsored Listings
are enabled for self-service by default for all vendors.
## Charge Type Reference
| Charge Type | Description |
| ------------------------- | --------------------------------------------------------------------------------- |
| **CPC** (Cost Per Click) | Advertisers are charged each time a user clicks on the ad |
| **CPM** (Cost Per Mille) | Advertisers are charged per 1,000 impressions |
| **CPA** (Cost Per Action) | Advertisers are charged when a conversion is attributed (Sponsored Listings only) |
## Self-Service Access Reference
| Ad Format | Default | Restriction Options |
| ---------------------- | ----------------------- | ------------------------------- |
| **Sponsored Listings** | Enabled for all vendors | Not restrictable |
| **Banners** | Configurable | Entire marketplace or by vendor |
| **Brands** | Configurable | Entire marketplace or by vendor |
| **Videos** | Configurable | Entire marketplace or by vendor |
***
# Using Assets
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/assets/index
Managing assets
Topsort supports many types of assets that can be used in campaigns. See below for supported asset types.
## How It Works
### Uploading Assets
While creating a campaign, you can upload assets to banner or sponsored brand campaigns. These assets can be images, videos, html or externally hosted files (a url). These assets will be returned as part of a winning auction and suitable for inclusion in the ad creative.
You can also use our [Assets API](/en/api-reference/assets-api), to create and manage assets without necessarily using them in campaigns.
### Supported Asset Types
We support the following asset types:
* **Images**: PNG, JPEG, GIF and WEBP.
* **Video**: MP4, WEBM, MOV.
* **External URL** (can be anything you want to use from a third party service)
* **HTML**: HTML code that can be used to render a custom creative. We return the link to said HTML file which you can include via an `
### Asset Size
* For images we support up to 50MB.
* For videos we support up to 200MB.
***
# AI Image Resizing for Banner Ads
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/banners/ai-image-resizing
Automatically resizes banner images for optimal placement
Topsort's AI-powered image resizing technology improves how banner ads are optimized for different placements. Instead of manual cropping or stretching, our advanced AI intelligently adapts your images to fit any slot dimensions while preserving brand integrity and visual quality.
## How AI Resizing Works
When you upload an image during [banner campaign creation](/en/knowledge-base/ad-platform/banners/banner-ads-campaigns/), our system automatically detects when your image dimensions don't perfectly match the selected slot. Rather than simply cropping or distorting your image, Topsort employs generative AI technology to intelligently reframe and extend your creative.
### The Technology Behind It
Our AI resizing is powered by **[Ideogram V3's reframe capabilities](https://developer.ideogram.ai/api-reference/api-reference/reframe-v3)**, a state-of-the-art generative AI model that specializes in image extension and adaptation. This technology:
* **Analyzes your original image** to understand the composition, subject matter, and visual elements
* **Intelligently extends backgrounds** and contextual elements to fill new dimensions
* **Preserves focal points** ensuring your main message and branding remain prominent
* **Maintains visual coherence** so the extended areas blend seamlessly with your original content
### Smart Processing Workflow
** **
1. **Upload Detection**: After uploading your image and selecting a banner slot, the system automatically identifies dimension mismatches
2. **AI Generation**: The reframe algorithm processes your image, extending and adapting it to match the target slot dimensions
3. **Device Optimization**: Separate versions are created for mobile and desktop, each optimized for the respective viewing experience
4. **User Review**: The interface displays "This image has been resized using AI" with clear options to proceed
### User Control Options
When AI resizing is triggered, you have full control over the final result:
* **Auto Re-size**: Generate a new AI-optimized version with different creative interpretation
* **Confirm cropping**: Accept the current AI-resized version
* **Use different image**: Start over with a different source image
## Key Benefits
### Time and Cost Efficiency
Eliminate the need for manual image editing, graphic design resources, or multiple image versions. Upload once and let AI handle the technical adaptation.
### Professional Quality Results
Every resized image maintains professional standards with:
* Consistent visual quality across all placements
* Seamless integration of extended elements
* Preservation of brand colors and styling
* Contextually appropriate background extensions
### Brand Consistency
Your core message and visual identity remain intact while adapting to new dimensions. The AI understands the importance of:
* Logo placement and visibility
* Key product imagery
* Text readability and positioning
* Overall brand aesthetic
* **Desktop displays**: Optimized for larger screens with appropriate aspect ratios
* **Mobile devices**: Adapted for smaller screens with touch-friendly elements
* **Cross-platform consistency**: Unified brand experience across all devices
## When AI Resizing Activates
The AI resizing feature automatically triggers for:
* **Image uploads** when creating new banner campaigns
* **Slot selection** that requires different dimensions than your uploaded image
* **Device targeting** that needs mobile and desktop variants
* **Template applications** where image dimensions need adjustment
The system is intelligent enough to only activate when beneficial, preserving your original images when they already fit the target dimensions perfectly.
## Best Practices for AI Resizing
To get optimal results from AI resizing:
### Source Image Quality
* Use high-resolution images (minimum 1920x1080 recommended)
* Ensure clear, well-lit product or brand imagery
* Avoid images with important elements too close to edges
### Composition Considerations
* Center key elements and text for better AI interpretation
* Use images with expandable backgrounds (sky, solid colors, patterns)
* Ensure sufficient contrast between foreground and background elements
### Brand Elements
* Keep logos and key text away from image edges
* Use consistent brand colors that AI can extend naturally
* Consider how your message works across different aspect ratios
## Getting Started
Ready to experience AI-powered resizing? Simply [create a new banner campaign](/en/knowledge-base/ad-platform/banners/banner-ads-campaigns/) and upload your images. The AI will automatically handle dimension optimization, letting you focus on campaign strategy and performance rather than technical image adjustments.
Banner ad campaigns are a powerful tool for promoting products and driving
user engagement. This guide provides a step-by-step walkthrough of creating a
new banner campaign, from setting up your creative and linking products to
launching your ad.
## Campaign drafts
You can exit the banner campaign creation flow at any point without losing your progress. Find your draft by navigating to Ad Formats > Banners > Drafts in marketplace view and Campaigns > Drafts in the self-service view.
## Product Linking for Enhanced Targeting
Banner campaigns support **product linking**, allowing you to connect up to
200 specific products to your campaign. This feature enhances your campaigns
by automatically generating precise targeting triggers from product data and
enabling detailed performance insights with accurate attribution at the
individual product level.
## How It Works
Provide your banner creative by either uploading a file (image, video, HTML, JSON) directly via drag-and-drop or by selecting a predefined banner template. Once the creative is ready, choose the banner slot for placement and adjust its appearance for different devices.
When a creative is assigned to a slot, Topsort crops it to the slot's aspect
ratio and keeps the highest available resolution, rather than downscaling to
the slot's exact pixel size.
AI-Powered Image Resizing
When you upload images, Topsort's advanced AI automatically resizes them to
fit your selected slot dimensions perfectly. This intelligent technology
preserves your brand elements while extending backgrounds and adapting
composition as needed.
[Learn more about AI image resizing technology →](/en/knowledge-base/ad-platform/banners/ai-image-resizing/)
Select up to 200 products to associate with your banner campaign. You can choose products manually or upload them via CSV. Linked products enable automatic targeting generation and improved attribution tracking.
Select categories or keywords to target. When products are linked, the system automatically generates **"Automatic" targeting** based on product data. For category or search slots, product IDs and keywords become campaign triggers, while for landing page slots, products are used for attribution only. You can supplement this with additional manual targeting.
Set the destination when the banner is clicked (product page, vendor page, or URL).
Finalize your setup by giving the campaign a name, choosing a bidding strategy (e.g., Autobidding) or an exclusive placement, and setting its duration. Once you're ready, click "Launch" to activate your campaign!
## After You Launch
Once your campaign is live, you can monitor its performance from the campaign
view. Track key metrics and analyze both overall campaign effectiveness and
individual product performance to optimize your strategy.
## Attribution and Reporting
### Direct Attribution
All linked products are considered for direct attribution when purchases are reported, eliminating the need for additional attribution logic.
### Campaign Reporting
Enhanced reporting includes:
* Campaign-level metrics (impressions, clicks, ad spend, ROAS)
* Product-level performance data (sales and conversions per product)
* Historical product performance tracking even after product lists are edited
### Interaction Tracking
* **Impressions**: Tracked using the campaign's resolvedBidId
* **Clicks**: Tracked when users click banner ads, with all products eligible for attribution
* **Halo Attribution**: Last-click on creative considered for broader attribution analysis
Refer to the [Running Auctions](/en/knowledge-base/ad-server/auctions/) section to learn more about how to get winners for banner ads.
***
# View Banner Ads Details
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/banners/banner-ads-details
You can check how your banner campaign is performing in the campaign
dashboard.
## Campaign Overview
The banner campaign details page provides a comprehensive view of your
campaign's performance and settings. When a campaign is newly created, the
dashboard shows the basic campaign information with minimal performance data
until the campaign begins generating impressions and clicks.
## Campaign Management Features
### Campaign Header Information
* **Campaign ID**: Unique identifier (e.g., 2134) for tracking and reference
* **Campaign Duration**: Start date, end date, and current status
* **Campaign Type**: Banner Ad with bidding strategy (Single, Autobidding, CPM)
* **Budget Management**: View and edit daily budget allocation (\$12.00 shown)
* **Campaign Actions**: Edit, Duplicate, Delete, and status management options
### Creative Asset Management
View and manage your banner creative:
* **Banner Creative Preview**: Visual display of the banner ad design
* **Device Targeting**: Desktop/mobile format specifications
* **Creative Status**: Shows if creative is pending approval or active
* **Destination Settings**: Landing page URL configuration for banner clicks
## Performance Metrics Dashboard
### Core Campaign KPIs
The dashboard displays eight key performance indicators:
**Financial Metrics**:
* **Ad Spend**: Total campaign budget spent
* **CPM**: Cost per thousand impressions with percentage change tracking
**Engagement Metrics**:
* **Auctions Won**: Number of successful bid placements
* **Impressions**: Total banner views with change indicators
* **Clicks**: Number of banner clicks with performance tracking
* **CTR**: Click-through rate percentage with period-over-period comparison
**Performance Indicators**:
* **Win Percentage**: Auction success rate
* **Viewability**: Percentage of impressions that were viewable (IAB/MRC standard: 50% of pixels visible for 1+ continuous second)
### Sales Attribution Tracking
**Direct Sales**:
* **Sales Revenue**: Direct purchases attributed to banner clicks
* **Number of Sales**: Count of direct conversions
**Indirect Sales**:
* **Sales Revenue**: View-through conversions and assisted sales
* **Number of Sales**: Count of indirect attribution events
### Attribution and Billing Standards
Per IAB/MRC Retail Media Measurement Guidelines, Topsort uses **Viewable
Impressions** for:
* **Attribution of outcomes**: Only impressions meeting MRC viewability standards (50% of pixels visible for 1+ continuous second) are eligible for attribution
* **Campaign billing**: Advertisers are charged based on viewable impressions only
* **Performance reporting**: ROAS and conversion metrics calculated using viewable impressions as the baseline
## Performance Data Development
### Initial Campaign State
When a banner campaign is newly created, the dashboard displays:
* Campaign basic information and budget settings
* Banner creative preview with pending approval status
* Zero performance metrics across all KPIs
* Baseline data collection setup
### Performance Tracking Evolution
As the campaign progresses, metrics populate with:
* **Real-time Updates**: Impression, click, and spend data
* **Attribution Windows**: Direct and indirect sales tracking
* **Comparative Analysis**: Period-over-period performance changes
* **Viewability Metrics**: Ad visibility and engagement quality
Banner campaigns require creative approval before going live. The "Creative
pending" status indicates the banner is under review. Once approved, the
campaign will begin serving and collecting performance data.
***
# Configure a Banner Slot
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/banners/banner-slots
How to configure slots for banners
Each banner slot represents one placement of your inventory, also being the placeholders for banners.
## Viewing all created slots
The “Configuration” page displays all configurations made underneath its corresponding placement (landing page, categories, or search).
** **
### How to create new slots
You can create new configurations by clicking the “Add a Configuration” button. Here, you can choose between Landing Page, Search and Category options. You can then either manually input the details or bulk upload multiple slots. You can create separate banner ads experiences, for mobile, desktop, and apps.
** **
## Landing Pages
A landing page can contain any number of slots. You can even create multiple slots in the same sections, to create carousels or sliders with banner ads.
For each slot that belongs to a landing page, you should provide
* **Landing Page Link:** The URL of the page the slot is created at.
* **Landing Page Name:** The name of the landing page that the slot belongs to.
* **SlotID:** A unique identifier that can contain alphanumeric characters and the following symbols: !"#\$%&'()\*+,-.\_/:;\<>?@\[]^\{}\~=
* **Width:** The width of the image of the slot.
* **Height:** The height of the image of the slot.
With Topsort you can serve banner ads targeting certain categories and keywords. Category and Search ads have very high relevance when configured the right way, increasing their demand and value. For example, you can create a banner ad slot on the “Hiking boots” category page, and only give access to outdoor activity brands.
After a vendor creates a banner ad campaign using the self-service dashboard, it is submitted for your approval. Under the “Manage” tab, you can either approve or reject their submission before it goes live or becomes eligible for ad auctions.
** **
You can keep vendors clearly informed about meeting your guidelines and help them optimize their campaigns through our rejection flow system. Only campaigns that require ‘manual approvals’ will be submitted for marketplace review
## How do I approve a banner ad request?
Navigate to the “Waiting” tab. All requests pending your approval will have a status label “waiting for approval” attached to the campaign card. Assess the budget amount, duration, bid amount and creative that they all meet best practices. Click the green check button to approve it.
## How do I reject a banner ad request?
If you find the campaign doesn’t meet your standards in any way, you can reject the request with the red X button and, optionally, provide feedback in the text field and multiple choice selection.
After rejection, the campaign will assume the status `REJECTED · WAITING FOR UPDATES` and the feedback will be sent via email to the vendor.
****
***
# Exclusive Banner Campaigns
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/banners/exclusive-banners
How exclusive banner campaigns work
Exclusive Banner campaigns let you reserve a specific ad slot, like search, category, or landing pages, for an ad. They guarantee that your ad will always appear in that slot during the campaign period, with no other ads competing.
## How It Works
On campaign creation, define how much to charge daily. Topsort will deduct this from the advertiser's balance each morning. If funds are low, the campaign is paused.
Also, three types of exclusive configurations are available:
* **Full Exclusive**: Always appears in the slot.
* **Fill Rate**: Show up a % of the time.
* **Impressions per Day**: Show until a daily limit is reached.
To use exclusive campaigns, no extra integration is required. All metrics, attribution models and pacing algorithms are available out of the box also for exclusive campaigns.
Marketplaces use native ads that consist not just of images, but also multiple
text fields, background images, foreground images, and other customizable
elements. These elements can vary across different placements, making it
challenging to maintain consistency and streamline ad creation across
campaigns.
Creative templates provide a solution by offering pre-designed banners that
enable teams to quickly build ads following a structured, repeatable
framework. These templates are highly customizable and can include specific
fields. Whether you need fields for a button, images, headlines, custom
parameters, or other design elements, templates allow you to standardize and
simplify the process.
**Template Management Limitation**: Currently, templates cannot be edited or
deleted once created. Plan your template structure carefully before creation
to ensure it meets your long-term campaign needs.
## How It Works
### Creating a New Template
Retailers can create custom templates tailored to their needs. These templates
can be configured with various fields, such as text, images, external links,
and other elements, to meet the specific requirements of the placement. Here's
how you can create and configure a new template:
* **Field Type**: Choose from text, image, select, button, link, etc.
* **Variable**: The variable name that the field is going to use.
* **Field Name**: Define a clear label for the field to identify it in the campaign creation process.
* **Description**: Provide an explanation or instructions about what should be entered into the field.
* **Required or Optional**: Decide if the field is mandatory for advertisers to complete, or if it can be left blank.
* **MinLength**: min number of chars for text fields
* **MaxLength**: max number of chars for text fields
* **Default**: default value for the field
* **Prefix**: for fields of type link, they will start with the prefix
* **MultiSelect**: for fields of type select if the user should select one or multiple
* **Options (querystring)**: keys and values for fields of type select
This can be done using a CSV or the UI
** **
### Dynamic Preview Configuration
**Dynamic Preview Availability**: Dynamic preview functionality is only
available for templates that specifically enable this feature during creation.
Dynamic preview URLs allow real-time visualization of how template fields will
appear in the actual ad placement. The preview system loads your specified URL
in an iframe and dynamically populates template variables with campaign data.
Before configuring dynamic preview in the template, ensure you have a preview URL available that can render the template structure. This could be on your local development environment or a deployed staging application.
Set up your dynamic preview URL using template variable placeholders. The URL structure should include parameters that correspond to your template fields:
The preview system will automatically replace template variables in the URL with actual values as advertisers fill out campaign fields, enabling real-time preview updates.
Your preview URL should include the necessary client-side logic to locate and populate template elements with the provided parameters.
**Preview URL Requirements**: Your preview URL must be accessible and include
the necessary rendering logic to display template content correctly. The
system uses client-side JavaScript to override content within designated
template elements.
### Using Templates
## Template Response Structure
Each winner in the auction response includes a `content` object containing the
parameters configured during campaign creation:
The `content` object structure directly corresponds to the template fields
configured during template creation, enabling your frontend to dynamically
render the appropriate creative elements for each placement.
**Implementation Note**: Use the template field variables as keys in your
rendering logic to ensure consistency between campaign configuration and
frontend display across all placements.
***
# Bidding Types
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/campaign-creation/bidding-types
When creating a campaign on Topsort, advertisers or admins have the
flexibility to choose between manual bidding and **BIDLESS™** Strategies.
## Manual Bidding
With manual bidding, you can set a maximum amount you’re willing to pay for
each auction. This option gives you full control and is recommended if you
already have a good idea of what a good bid looks like for your campaign
goals.
## **BIDLESS™** Strategies
We recommend that you let the system optimize the bid for you using our
**BIDLESS™** strategies
With this option, you'll be able to set the strategy and Topsort will optimize the bids to reach your goals. There are three **BIDLESS™** options available:
* **Aggressive**: Prioritizes spending and visibility. Useful if you want to drive awareness or launch a new product.
* **Moderate**: Balances spend and ROAS. This is the default option and works well for most campaigns.
* **Conservative**: Focuses on maximizing ROAS, aiming to get the highest return even if it means spending less overall.
In the backstage, each strategy is mapped to a configurable Target ROAS. For example:
* **Aggressive**: target ROAS of 5x.
* **Moderate**: target ROAS of 10x.
* **Conservative**: target ROAS of 15x.
You can set the strategy on campaign creation and change it later if needed. For example, if you set up a campaign to be conservative and, even if it's delivering the desired ROAS, it's not spending enough, you can change it to moderate or even aggressive.
A campaign created with manual bids can be changed to use the **BIDLESS™**
Strategies after creation, but not the other way around.
## Exclusive Bidding
Exclusive bidding replaces the auction with a fixed daily price, allowing advertisers to reserve ad slots for exclusive listings and banners. The charge is deducted from the advertiser's balance at the beginning of each day.
For Exclusive Listings, an advertiser pays a fixed daily cost to reserve a product listing slot, ensuring it is always shown. Banners offer more flexible configurations for their reserved slots:
* **Full Exclusive**: The banner appears 100% of the time for a fixed daily price.
* **Fill Rate**: The banner appears for a specific percentage of the time for a fixed daily price.
* **Impressions per Day**: The banner receives a guaranteed number of impressions for a fixed daily price.
For all exclusive campaigns, if the advertiser's balance is insufficient to
cover the daily cost, the campaign is automatically paused.
***
# Budget Types
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/campaign-creation/budget-types
Topsort offers multiple budget options to give advertisers more control over
how they manage spend.
## Daily Budget
This is the default option. The campaign will aim to spend the defined amount
each day.
## Weekly Budget
You set a total amount to be spent over a 7-day period. Internally, Topsort
converts this into an equivalent daily budget amount.
## Monthly Budget
Similar to weekly, but spread over a 30-day period. Internally, Topsort
converts this into an equivalent daily budget amount.
## Total Budget
The campaign spends the total amount without daily limits or pacing. There’s
no time-based restriction, the system spends based on performance and
availability.
Check the [Budget
Carryover](/en/knowledge-base/ad-server/auctions/budget-carryover/)
documentation for details on how and when the remainder budget for a given day
is carried over to the next day.
When creating a campaign in Topsort, you can choose how you want the
advertiser to be charged. The available charge types are:
## CPM (Cost per Mille)
CPM means the advertiser pays per 1,000 impressions. It’s a good choice for
banner and video ads where awareness matters the most.
## CPC (Cost per Click)
With CPC, the advertiser pays only when someone clicks on the ad. It gives the
advertiser control over the spend and is often used for campaigns focused on
engagement.
## CPA (Cost per Action)
CPA focuses on actual conversions. The advertiser is charged only when a user
clicks the sponsored ad and then completes a purchase. This type is ideal for
performance campaigns. Topsort calculates CPA by dividing the total campaign
spend by the number of conversions attributed to it.
Topsort allows the creation of 4 types of campaigns:
1. **[Sponsored Listings](/en/knowledge-base/ad-platform/listings/)** Boost
product visibility by placing listings in high-traffic areas like search
results and category pages.
2. **[Banner
Ads](/en/knowledge-base/ad-platform/banners/banner-ads-campaigns/)** Feature
creatives on homepages, category pages, or during checkout to capture user
attention and create brand awareness.
3. **[Video Ads](/en/knowledge-base/ad-platform/video-ads/)** Engage the
shopper with short videos, suitable for placements across different site
sections.
4. **[Sponsored Brands](/en/knowledge-base/ad-platform/sponsored-brands/)**
Combine brand logos, compelling headlines, and selected products to enhance
brand awareness and product discovery.
All campaigns can be created by the admin using Topsort's dashboard or using
our API. Vendors can also create campaigns if the self-service mode is
enabled.
***
# Placements and Context
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/campaign-creation/placements
Topsort allows the creation of campaigns targeted to specific placements and
contexts. Depending on the placements and contexts selected, each campaign
participates in the correct auctions.
## How It Works
On campaign creation, three types of placements/contexts are available:
This type of setup will return winners when the auction request has the specific product ID in it, allowing for the campaign to participate wherever the marketplace thinks it's relevant. By default, all the product categories are also included as relevant contexts.
**Example**: a campaign having the product Sneakers (id sneakers-123) with
automatic targeting will have a bid that will be triggered by auctions having
sneakers-123 in the request. It will also participate in an auction with the
category sneakers
Shows the products based on the campaign or product level keywords. If the searchQuery sent on the auction request matches any of the selected keywords, then the items will participate.
**Example**: a campaign with the keyword shoes will have a bid that will
participate by auctions having the searchQuery shoes. This applies to all ad
formats.
Items participate on the auction based on the pre-selected categories for the campaign.
**Example**: a campaign having the category running-sneakers as the target
will have a bid that will be triggered by auctions having the category
running-sneakers in the request. This applies to all ad formats.
During an auction, the placement/context can be provided in the body of the request. The following auction request can be used to retrieve winners with those three contexts/placements:
Example of auction request for [sponsored
listings](/en/api-reference/examples/sponsored-listings/set-of-products):
Example of auction request for [sponsored
brands](/en/api-reference/examples/sponsored-brands):
```json theme={null}
{
"auctions": [
{
"winners": 2,
"placementId": "some-placement",
"triggers": {
"products": {
"ids": [
"1", "8"
]
}
}
}
]
}
```
***
# Historical Data Migration
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/campaign-migration/cold-start
Migrating historical performance data to address the cold start problem during platform transition
Historical data migration is the process of transferring performance metrics and event data from a client's previous ad platform to accelerate Topsort's machine learning models and reduce the initial learning period during platform transition.
## Problem
When clients migrate to Topsort, their campaigns face a **cold start problem** where:
* **No Performance History**: New campaigns start without any historical performance data
* **Learning Period**: Machine learning models require 1-4 weeks to accumulate sufficient data for optimization
* **Suboptimal Performance**: During cold start, campaigns may underperform due to lack of training data
* **Advertiser Frustration**: Advertisers may experience reduced campaign effectiveness in the initial weeks
While [Campaign Migration](/en/knowledge-base/ad-platform/campaign-migration/)
handles campaign structure and settings, historical data migration
specifically addresses performance data to accelerate model training and
optimization.
## Solution
We provide a **historical data ingestion solution** that imports performance metrics and event data from the client's previous platform. This data serves as initial training material for Topsort's machine learning models, significantly reducing the cold start period.
### How Historical Data Helps
**Model Training Acceleration:**
* Provides immediate training data for machine learning algorithms
* Reduces cold start period from 4 weeks to 1-2 weeks
* Enables faster campaign optimization and bidding decisions
**Performance Continuity:**
* Campaigns can leverage historical performance patterns
* Better initial bid recommendations based on past data
* Improved targeting decisions from historical user behavior
**Risk Reduction:**
* Minimizes performance dip during platform transition
* Maintains advertiser confidence with familiar performance levels
* Provides baseline metrics for comparison and optimization
### Technical Implementation
Our historical data integration:
* **Ingests event data** including organic impressions, clicks, and purchases
* **Processes performance metrics** at campaign, product, and user levels
* **Trains initial models** using imported historical data before go-live
* **Calibrates algorithms** during initial operation for optimal performance
* **Updates embeddings** for users, products, and placements based on historical patterns
## Migration Process
**Evaluate Historical Data Availability**
* Assess what performance data is available from previous platform
* Determine data quality and completeness
* Define time range for historical data (typically 3-6 months)
* Identify key metrics that align with Topsort's tracking
**Required Historical Data Types:**
* Campaign performance metrics (impressions, clicks, conversions, spend)
* Product-level performance data (click-through rates, conversion rates)
* User behavior events (searches, views, purchases)
* Organic traffic patterns and seasonal trends
* Bidding and budget utilization history
All historical data must comply with privacy regulations. User-level data
should be anonymized or aggregated where required by local privacy laws.
**Quality Assurance Steps:**
* Validate data completeness and accuracy
* Normalize metrics to match Topsort's data schema
* Clean and process data for model training
* Identify and handle data anomalies or outliers
**Initial Training Process:**
* Import historical data into Topsort's training pipeline
* Train initial machine learning models using historical patterns
* Calibrate algorithms for optimal performance
* Validate model accuracy against known historical outcomes
**Go-Live Process:**
* Deploy trained models to production environment
* Monitor initial performance against historical baselines
* Fine-tune algorithms based on new real-time data
* Gradually shift from historical to real-time data optimization
## Data Requirements
### Required Performance Metrics
| Metric Category | Required Fields | Example Format |
| ------------------------ | --------------------------------------------------------------------------- | ----------------------------------------------------------- |
| **Campaign Performance** | campaign\_id, date, impressions, clicks, conversions, spend | `campaign-123, 2024-01-15, 1000, 50, 5, 25.00` |
| **Product Performance** | product\_id, campaign\_id, date, impressions, clicks, ctr, conversion\_rate | `prod-456, campaign-123, 2024-01-15, 100, 10, 0.10, 0.02` |
| **User Events** | user\_id (anonymized), event\_type, product\_id, timestamp, value | `user-789, purchase, prod-456, 2024-01-15T10:30:00Z, 49.99` |
| **Organic Traffic** | product\_id, date, organic\_impressions, organic\_clicks, search\_terms | `prod-456, 2024-01-15, 500, 25, "summer shoes"` |
### CSV Format Examples
```csv theme={null}
user_id,event_type,product_id,timestamp,value,campaign_id
user-789,view,prod-456,2024-01-15T10:00:00Z,,
user-789,click,prod-456,2024-01-15T10:05:00Z,,campaign-123
user-789,purchase,prod-456,2024-01-15T10:30:00Z,49.99,campaign-123
```
## Model Training Process
### Onboarding Training
**Initial Data Processing:**
* Historical event data is integrated into training pipelines
* Models are trained using 3-6 months of historical performance data
* Initial embeddings are created for users, products, and campaigns
* Baseline performance predictions are established
### Ongoing Optimization
**Continuous Learning:**
* **Daily Updates**: ID lookup embeddings updated with new data
* **Weekly Retraining**: Full model retraining incorporating both historical and new data
* **Real-time Adaptation**: User behavior embeddings updated continuously
* **Performance Monitoring**: Historical vs. current performance comparison
The combination of historical data and real-time learning typically achieves
optimal performance within 2-3 weeks, compared to 4-6 weeks with cold start
alone.
## Success Metrics
Historical data migration success is measured by:
* **Reduced Cold Start Period**: Learning time decreased from 4 weeks to 1-2 weeks
* **Performance Continuity**: Campaign performance within 10-15% of historical levels from day one
* **Model Accuracy**: Prediction accuracy improved by 20-30% compared to cold start scenarios
* **Advertiser Satisfaction**: Maintained or improved advertiser confidence during transition
## Integration with Campaign Migration
### Complementary Processes
Historical data migration works alongside [Campaign Migration](/en/knowledge-base/ad-platform/campaign-migration/):
1. **Campaign Structure**: Basic campaign migration handles settings, budgets, and targeting
2. **Performance Data**: Historical data migration provides the performance foundation
3. **Combined Benefit**: Together, they ensure both functional campaigns and optimized performance from day one
### Recommended Sequence
1. Complete [Campaign Migration](/en/knowledge-base/ad-platform/campaign-migration/) first to establish campaign structure
2. Run historical data migration in parallel during testing phase
3. Deploy both campaign structure and trained models simultaneously
4. Monitor performance against historical baselines
Historical data migration requires additional technical coordination and may
extend overall migration timeline by 1-2 weeks for model training and
validation.
## Next Steps
For clients interested in historical data migration:
1. **Assess data availability** from your current platform
2. **Coordinate technical teams** to discuss historical data requirements
3. **Plan data extraction** alongside campaign migration timeline
4. **Coordinate with machine learning team** for model training requirements
***
# Campaign Migration
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/campaign-migration/index
Migrating existing campaigns from other ad platforms to Topsort
Campaign migration is the process of transferring existing advertising campaigns from a client's current ad platform to Topsort. This ensures a smooth transition that maintains campaign continuity while clients onboard to our advertising ecosystem.
## Problem
Many clients already operate established advertising businesses with active campaigns on other platforms. When transitioning to Topsort, they need their existing campaign data migrated to:
* **Maintain business continuity**: Avoid disruption to ongoing advertising efforts
* **Preserve advertiser relationships**: Ensure advertisers experience a seamless transition
* **Enable immediate productivity**: Allow advertisers to continue their campaigns without starting from scratch
This migration focuses on active campaign structure and settings only.
Historical performance data and past metrics from previous platforms are not
transferred, ensuring a clean start within the Topsort ecosystem.
## Solution
We provide a **script-based automation solution** that reads campaign data from structured files and automatically creates equivalent campaigns within Topsort's Campaign Service. This approach transforms campaign data from the client's previous platform into fully functional campaigns in our ecosystem.
### File-Based Migration Approach
The file-based approach means clients export their campaign data into a
standardized CSV (comma-separated values) file format, rather than connecting
systems directly through APIs. This file serves as the bridge between the old
platform and Topsort.
**How It Works:**
1. **Data Export:** Client manually exports campaign details from their current platform into a CSV file
2. **File Transfer:** Client provides the CSV file directly to Topsort
3. **Script Processing:** Our automated scripts read the CSV data and create campaigns via Topsort's APIs
4. **Validation:** The newly created campaigns are verified against the original data
**Why This Approach:**
* **Platform Limitations:** Many legacy ad platforms lack modern APIs for data extraction
* **Sunset Systems:** Platforms being discontinued often have limited or no technical support
* **Reliability:** File-based transfer ensures complete data capture without API rate limits or connectivity issues
* **Flexibility:** CSV format can accommodate various data structures from different source platforms
* **Control:** Clients have full visibility into exactly what data is being migrated
### Technical Implementation
Our migration scripts are designed to:
* **Parse CSV data** with robust error handling and validation
* **Map data fields** from source platform structure to Topsort's campaign schema
* **Create campaigns** using Topsort's Campaign APIs with proper authentication
* **Apply standards** such as setting all campaigns to autobidding and listing format
* **Generate reports** of successful migrations and any issues encountered
## Migration Process
**Evaluate Current Campaign Portfolio**
* Review existing campaigns and their complexity
* Identify which campaigns should be migrated
* Assess data export capabilities from current platform
* Develop migration timeline and resource requirements
**Standard Campaign Information Required:**
* Campaign identification (name, unique ID, advertiser/vendor info)
* Campaign configuration (type, format, targeting settings)
* Budget settings (amount, type: daily/weekly/monthly)
* Campaign duration and end dates
* Product information and identifiers
This method is used when the previous ad platform lacks available APIs for
direct data transfer, is being discontinued, or has limited support for
data extraction.
**Validation Process:**
* Client provides a small sample of campaigns (typically 3-5)
* Campaigns are processed in our testing environment
* Client reviews migrated campaigns through Topsort interface
* Any adjustments are made based on feedback
**Processing Standards:**
* All migrated campaigns are marked with special identifiers for tracking
* Campaigns start fresh without historical bidding data
* Targeting settings are standardized to platform best practices
* Original budget and duration settings are maintained
**Quality Assurance Steps:**
* Verify all campaign details transferred correctly
* Confirm campaigns operate as expected
* Test advertiser interface functionality
* Obtain final client approval before activation
## Data Requirements
### Required Campaign Fields
| Field | Description | Example |
| ------------- | ----------------------------------------------------- | ------------------------------- |
| Vendor ID | Advertiser identifier in your catalog | `vendor-123` |
| Campaign Name | Descriptive campaign name | `Summer Promotions 2025` |
| Campaign Type | Always set to `autobidding` | `autobidding` |
| Ad Format | Always set to `listing` for migrations | `listing` |
| Targeting | Set to `autotargeting` with product/category triggers | `autotargeting` |
| Budget Amount | Campaign budget value | `400` |
| Budget Type | Budget frequency | `monthly`, `daily`, `weekly` |
| End Date | Campaign end date | `2025-08-15T23:55:00+02:00` |
| External ID | Reference number from previous platform | `PO-12345` |
| Product IDs | Array of product IDs from your catalog | `[1001590556, 1001590557, ...]` |
### CSV Format Example
```csv theme={null}
Vendor_id,campaignType,name,promotionType.adFormat,triggers,budget.amount,budget.type,endDate,externalCampaignID,productIDs
vendor-123,autobidding,Summer Promotions 2025,listing,autotargeting,400,monthly,2025-08-15T23:55:00+02:00,PO-12345,"1001590556,1001590557,1001590559"
```
## Contingency Planning
### Rollback Procedures
If issues arise during or after migration, campaigns can be quickly reversed:
1. **Identification:** Migrated campaigns are easily identifiable through special marking
2. **Removal Process:** Automated scripts can remove migrated campaigns if needed
3. **Verification:** Confirm successful rollback through system checks
4. **Communication:** Notify all stakeholders of rollback completion
### Risk Mitigation Strategies
* **Backup Strategy:** Original campaign data is preserved throughout the process
* **Phased Approach:** Large migrations are split into manageable batches
* **Testing Environment:** All migrations are tested before production deployment
* **Expert Support:** Technical team available throughout the migration process
## Success Metrics
Migration success is measured by:
* **Data Accuracy:** 100% of campaign settings transferred correctly
* **Advertiser Satisfaction:** Smooth transition experience with minimal learning curve
* **Timeline Adherence:** Migration completed within agreed timeframe
* **Post-Migration Performance:** Campaigns operating effectively in new environment
## Next Steps
For clients considering campaign migration:
1. **Contact your account manager** to discuss migration requirements
2. **Schedule assessment** of current campaign portfolio
3. **Plan migration timeline** based on business priorities
4. **Begin data preparation** and catalog integration processes
Ensure your product catalog is fully integrated and validated before beginning
campaign migration to avoid data mapping issues.
***
# Frequency Cap
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/campaign-targeting/frequency-cap
How frequency cap works
Frequency Cap allows advertisers to control how many times a single user sees the same ad. It creates a less annoying experience for users by preventing them from seeing the same ad multiple times, which also helps ads perform better as they avoid overexposure. The feature also ensures that the budget is used more efficiently and helps distribute ad impressions more evenly across the audience.
## How It Works
On campaign creation, enable "Frequency cap” and set how many times a user can see the ad within a specific time (per day or per week). The system tracks views for each user, and when a user reaches the limit in that time period, the system stops showing them that ad until the time period ends.
** **
This feature requires the client to send the user's `opaqueUserId` in the ad requests. The following auction request can be used.
```json theme={null}
{
"auctions": [
{
"type": "banners",
"slots": 1,
"slotId": "homepage_banner",
"device": "mobile",
"opaqueUserId":"0000488787_0681bb44-8553-41f3-a912-ca526afab323"
}
]
}
```
***
# Geotargeting
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/campaign-targeting/index
Target campaigns to specific geographic locations including states, cities, and custom regions for Sponsored Listings and Sponsored Brands
Geotargeting enables advertisers to direct campaigns to users in specific
geographic locations, such as states, subregions, or cities. This feature is available for both Sponsored Listings and Sponsored Brands campaigns.
## How It Works
### For Sponsored Listings
The client provides a JSON file mapping their geolocations, including an id and name for each location. This geolocation data is uploaded by Topsort early in the integration process, making it available for testing with the first campaigns.
Advertisers can select multiple regions in the Admin/Vendor Dashboard when creating their campaigns.
During an auction, the geolocation can be provided in the body of the request, using the `geoTargeting.location` field. The following auction request can be used to retrieve winners for clients in a specific location:
Sponsored Brands geolocation targeting works similarly but uses a streamlined approach:
Marketplace administrators configure available locations at the marketplace level during the initial setup. This makes geographic targeting options available for campaign creation.
During Sponsored Brands campaign creation, advertisers select from pre-configured geolocations in the Ad Behavior step (Step 2). Multiple locations can be selected for broader targeting.
Sponsored Brands auction requests use the same `geoTargeting` field format for consistency:
```json theme={null}
{
"auctions": [
{
"winners": 2,
"placementId": "some-placement",
"triggers": {
"searchQuery": "electronics"
},
"geoTargeting": "santiago",
"opaqueUserId": "user-123"
}
]
}
```
For Sponsored Brands, the `geoTargeting` field accepts a string value directly, while Sponsored Listings use the `geoTargeting.location` object structure.
## Key Considerations
### General Behavior
1. **Multiple Locations**: Campaigns can target multiple geographic locations. If a campaign is associated with `location1` and `location2`, its products are eligible for auctions where the geolocation field is either `location1` or `location2`.
2. **No Location Targeting**: If a campaign has no locations defined, it participates in all auctions regardless of location information in the auction request.
3. **Filtered Participation**: If a campaign has locations defined, it only participates in auctions where the geolocation field matches one of its specified locations.
4. **Single Location per Request**: An auction request accepts only one location in the geolocation field.
### Sponsored Brands Specific
5. **Marketplace Configuration Required**: Geolocation options only appear during Sponsored Brands campaign creation if locations have been configured at the marketplace level.
6. **Backward Compatibility**: Existing Sponsored Brands campaigns without geolocation settings continue to participate in all auctions.
7. **API Consistency**: Sponsored Brands geolocation targeting uses the same field structure as Auctions v2 for consistency across the platform.
## Use Cases
### Local Market Targeting
* **Regional Product Launches**: Promote products only in markets where they're available
* **Store-Specific Campaigns**: Drive traffic to specific store locations
* **Market Testing**: Test campaigns in specific regions before broader rollout
### Seasonal and Event-Based
* **Weather-Based Campaigns**: Promote seasonal products based on regional weather patterns
* **Local Events**: Target customers in cities hosting relevant events or festivals
* **Regional Preferences**: Customize messaging for different cultural regions
### Multi-Location Strategies
* **National Chains**: Create location-specific campaigns for different store regions
* **Supply Chain Optimization**: Target only areas where products are in stock
* **Pricing Strategies**: Adjust campaign messaging based on regional pricing differences
## Best Practices
### Campaign Setup
* Start with a few high-performing locations before expanding
* Ensure product availability in targeted locations
* Consider time zone differences for campaign timing
### Performance Monitoring
* Track performance separately for each targeted location
* Distribute budgets based on location performance and potential
* Adjust location targeting based on seasonal demand patterns
### Creative Optimization
* Customize headlines and creatives for different regions when possible
* Test location-specific messaging to improve relevance
* Combine geotargeting with product or category targeting for precision
***
# Keywords
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/campaign-targeting/keywords
How keyword targeting works
This article provides a comprehensive overview of the keyword targeting capabilities within the Topsort platform. Keyword targeting is a fundamental feature that allows advertisers to connect their products and brands with relevant user search queries, ensuring ads are shown to shoppers with the highest intent.
***
## Keyword Assignment Methods
Topsort offers both manual and automatic methods for assigning keywords to campaigns, providing advertisers with a balance of granular control and automated efficiency.
### **Manual Keyword Targeting**
Manual targeting gives advertisers direct control over which search terms will trigger their ads. This can be configured at two different levels:
#### **1. Campaign-Level Assignment**
Advertisers can assign a list of keywords directly to a campaign. All products included within that campaign will be eligible to serve ads for those specified keywords. This method is ideal for campaigns focused on a specific theme or event.
#### **2. Product-Level Assignment**
For more granular control, keywords can be assigned to individual products. This ensures that a specific product appears for highly relevant, niche search terms.
Product-level keywords can be set up in advance by providing a mapping of
`product_id` to a list of keywords. This allows for bulk management and easy
integration with existing product information systems (PIM)
### **Automatic Keyword Targeting**
To maximize campaign reach and improve fill rates, Topsort offers an intelligent, automated keyword targeting method.
* **How It Works:** The system analyzes the most frequently used search queries on the platform that lead to conversions and automatically links them to relevant products in active campaigns. This helps discover new, high-performing keywords that might have been missed during manual setup.
* **Control:** This feature can be easily turned on or off at the campaign level, giving advertisers the choice to rely on their manual keywords exclusively or to augment them with automated targeting.
***
## Negative Keyword Targeting
Negative keywords are a powerful tool to prevent ads from appearing for irrelevant search queries. Using them effectively reduces wasted ad spend and increases the campaign's overall Return on Investment (ROI) by focusing on the most qualified audience.
### **Product-Level Negative Keywords**
For highly specific exclusions, assign negative keywords directly to an individual product. This prevents a product from appearing in searches that are related but not relevant to that specific item.
Like positive keywords, product-level negative keywords can be managed in bulk via a product ID mapping.
Topsort provides flexible match types to control how closely a user's search query must match an assigned keyword.
**Configuration:** Match type settings are configurable at the **retailer
level** (to set a global default) and can be overridden at the **campaign
level** for more specific control.
| Match Type | Description | Keyword Example | Will Match (User Search Query) | Will NOT Match (User Search Query) |
| :--------------- | :------------------------------------------------------------------------------------------------------- | :--------------- | :-------------------------------------------- | :---------------------------------------- |
| **Exact Match** | The search query must be an identical match to the keyword, including word order. | `[blue handbag]` | `blue handbag` | `blue leather handbag`, `handbag blue` |
| **Phrase Match** | The search query must contain the keyword phrase in the correct order, but can include additional words. | `"blue handbag"` | `small blue handbag`, `blue handbag for sale` | `blue leather handbag`, `handbag in blue` |
### **`Exact Match`**
The ad is only eligible to appear if the user's search query is an exact match to the keyword, including word order. This offers the highest level of control and relevance.
The ad is eligible to appear if the user's search query includes the keyword phrase in the correct order, but may contain other words before or after it. This provides a balance between control and reach.
* **Keyword:** `"blue handbag"`
* **Will Match:** `blue handbag`, `small blue handbag`, `blue handbag for sale`
* **Will NOT Match:** `blue leather handbag` (as it breaks the phrase), `handbag in blue`
***
## Ad Format Compatibility
Keyword targeting is a core feature of the Topsort platform and is available for **all ad formats**. This ensures consistent targeting capabilities whether you are running campaigns for:
***
# Overview
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/campaign-targeting/segments/index
Advanced audience targeting capabilities for commerce media campaigns
Topsort's audience targeting capabilities enable precise campaign targeting by leveraging your first-party data and behavioral insights to reach the right users at the right moment.
## What Are Audience Segments?
Audience segments are groups of users defined by shared characteristics, behaviors, or attributes that make them valuable targets for specific advertising campaigns. Rather than showing ads to everyone, segments allow you to focus your advertising spend on users most likely to engage and convert.
## Key Benefits
### Higher Campaign Performance
By targeting users based on their demonstrated interests and behaviors, campaigns achieve significantly better conversion rates and return on ad spend.
### Improved User Experience
Users see more relevant ads that align with their interests and shopping patterns, creating a better overall experience on your platform.
### Increased Revenue Per Advertiser
Advanced targeting capabilities command premium pricing, with retailers typically seeing 25-40% higher revenue per advertiser compared to basic demographic targeting.
### Competitive Advantage
Sophisticated audience targeting capabilities attract higher-quality advertisers and enable more strategic partnerships.
## Audiences Tab
The **Audiences** tab in the marketplace Admin Dashboard provides a centralized place to view and manage all audience segments available to your account. Each audience displays its name, source type, and user count. All audiences, regardless of how they are created, are available to all vendors within the retailer environment and can be used as **boosters** in the campaign creation flow for every ad format.
## Audience Creation Methods
There are two broad methods for creating audience segments in Topsort:
### 1. Create from CDP
Customer Data Platform (CDP) integration lets you leverage your existing audience infrastructure by syncing segments directly into Topsort. CDP segments sync automatically on a daily basis, ensuring campaigns always target the most current audience data without manual intervention. Once synced, segments are immediately available for campaign targeting.
**Common Segment Examples:**
* **New Customer Acquisition**: First-time buyers, site visitors who haven't purchased
* **Customer Retention**: Lapsed users (30+ days since last visit), repeat purchasers
* **Category Affinity**: Buyers from specific categories (healthcare, electronics, beauty)
* **Behavioral Segments**: Cart abandoners, high-value customers, seasonal shoppers
* **Competitive Conquest**: Users who purchased from competitor brands
These targeted segments typically see 2-4x higher conversion rates compared
to broad targeting.
### 2. Create from Audience Builder
The Audience Builder lets marketplace users create and manage audiences directly in the UI. From the Audiences tab, click **Create Audience** to choose from three audience types:
#### Upload via CSV
Upload a CSV file of opaque user IDs directly from your computer. Once processed, the audience appears in the Audiences table with its calculated size and becomes available to all vendors for campaign targeting.
#### Behavioral Audiences
Create audiences based on consumer behaviors. Add include/exclude filters based on the last time a user viewed, clicked, or purchased specific products or any products within specific categories, within the last 7, 30, or 90 days. Include filters can be combined with ANY (or) or ALL (and). Exclude filters are combined by ANY (or).
#### Combined Lists
Create a new audience by combining previously uploaded lists using logical rules. Include blocks let you add up to two groups (each with up to 3 lists) using **Any** (union) or **All** (intersection) logic, connected by OR. An optional exclude block removes users from the final audience.
All audiences created from the Audience Builder are immediately available to all vendors and are used as boosters in campaigns. We recommend using audiences as boosters rather than filters to avoid reducing campaign participation.
## How Audience Targeting Works
Topsort's audience targeting system processes data through several interconnected components:
* **Segments API** ingests audience data from CDPs and processes `userID` hashing for privacy
* **Audience Builder** combines first-party CDP data with real-time behavioral data
* **User Store** maintains current segment memberships with continuous updates
* **Campaign API** enables audience selection during campaign creation
* **Auction API** performs real-time audience matching during bid requests
This architecture ensures audience data remains current while enabling split-second targeting decisions during live auctions.
### Offsite Activation
Topsort can sync audiences directly to offsite channels like Google Ads, Meta Ads, and DSPs. These audiences can then be used on offsite campaigns created via API or the UI.
## Activation Strategies
### Boosting
Dynamically adjust bid values based on audience membership to prioritize high-value users while maintaining broader reach.
### Filtering
Apply hard exclusions to ensure ads only reach precisely defined target audiences, maximizing conversion rates for focused campaigns.
Both strategies can dramatically improve campaign performance when applied correctly.
## Getting Started
Ready to implement audience targeting? Start by exploring the detailed guides:
#### [Setup & Integration](/en/knowledge-base/ad-platform/campaign-targeting/segments/setup)
Learn how to implement CDP integration, build custom audiences, and integrate with Topsort's APIs.
#### [Activation Strategies](/en/knowledge-base/ad-platform/campaign-targeting/segments/strategies)
Discover boosting vs filtering techniques and advanced targeting examples to maximize campaign performance.
#### [Management & Best Practices](/en/knowledge-base/ad-platform/campaign-targeting/segments/management)
Explore governance, optimization strategies, and revenue maximization techniques for long-term success.
Advanced audience targeting enables precise campaign targeting that drives both advertiser success and sustainable platform revenue growth.
Additional considerations for implementing and maintaining audience targeting
capabilities.
## Data Privacy and Compliance
Ensure responsible data usage through comprehensive privacy protection
measures. All user identifiers are anonymized through secure hashing
processes, and the system maintains full GDPR and privacy regulation
compliance. Data transmission and storage follow industry security standards,
with clear audience data retention policies that respect user privacy rights.
**Compliance Framework:**
* Automated `userID` hashing with secure salt management
* Regular privacy impact assessments for new segment types
* Clear data retention schedules with automatic purging
* Audit trails for all audience data access and usage
## Audience Administration & Governance
### Performance Monitoring
Track audience performance across campaigns:
* Conversion rates by segment
* Cost-per-acquisition optimization
* Audience overlap analysis
* Segment size and refresh rates
## Best Practices
### Audience Sizing
* **Minimum viable size**: 1,000+ users for stable performance
* **Optimal range**: 10,000-100,000 users for most campaigns
* **Premium segments**: Smaller, high-value audiences (1,000-5,000) acceptable for luxury/niche products
### Campaign Optimization
* **A/B testing**: Compare broad vs. targeted approaches
* **Seasonal adjustment**: Update segments based on shopping cycles
* **Cross-campaign coordination**: Avoid audience fatigue through frequency capping
* **Performance monitoring**: Track ROAS improvements from targeted campaigns
### Revenue Optimization
* **Tiered pricing**: Charge premium rates for exclusive audience access
* **Package deals**: Bundle complementary audience segments
* **Performance guarantees**: Offer ROAS commitments for premium targeting
Retailers using advanced audience targeting typically see 25-40% higher
revenue per advertiser compared to basic demographic targeting.
## Getting Started
Ready to implement Topsort's audience targeting capabilities? Start with these
steps:
1. **Audit existing data**: Identify your most valuable customer segments
2. **Choose integration method**: CDP sync or custom audience building
3. **Pilot with key advertisers**: Test premium targeting with strategic partners
4. **Measure and optimize**: Track performance improvements and expand successful segments
5. **Scale strategically**: Add governance controls and premium audience tiers
Advanced audience targeting enables precise campaign targeting that drives
both advertiser success and platform revenue growth.
## Related Resources
* [Audience Segments Overview](/en/knowledge-base/ad-platform/campaign-targeting/segments) - Introduction and benefits
* [Setup & Integration Guide](/en/knowledge-base/ad-platform/campaign-targeting/segments/setup) - Technical implementation
* [Activation Strategies](/en/knowledge-base/ad-platform/campaign-targeting/segments/strategies) - Boosting and filtering techniques
***
# Setup and Integration
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/campaign-targeting/segments/setup
Implementing CDP integration and custom audience building
This guide covers the technical implementation of audience targeting, from CDP integration to custom audience building and API integration.
## CDP Integration
Customer Data Platform (CDP) integration is the most powerful method for leveraging your existing audience infrastructure. By connecting your CDP to Topsort, you unlock sophisticated targeting capabilities that drive significantly higher campaign performance.
### Precision Targeting and Audience Segmentation
Create detailed audience segments based on customer behavior, preferences, purchase history, and engagement patterns. This granular approach allows you to reach users with highly relevant messaging at the optimal moment in their customer journey.
Common high-value segments include:
* New customer acquisition targeting first-time buyers and site visitors who haven't purchased
* Customer retention focusing on lapsed users (30+ days since last visit) and repeat purchasers
* Category affinity groups for specific verticals like healthcare, electronics, or beauty
* Behavioral segments such as cart abandoners, high-value customers, and seasonal shoppers
* Competitive conquest campaigns targeting users who purchased from competitor brands
These targeted segments typically see 2-4x higher conversion rates compared to broad targeting.
### Automatic Synchronization
CDP segments sync automatically with Topsort daily, ensuring your campaigns always target the most current audience data without manual intervention. This eliminates the need for constant manual updates while keeping your targeting fresh and relevant.
### Real-Time Data Activation
Audience segments become immediately available for campaign targeting once synced, enabling dynamic and responsive advertising strategies that adapt to changing customer behaviors.
## Custom Audience Building
Build sophisticated audiences using inclusion and exclusion logic to create precisely targeted campaigns. This approach gives you complete control over who sees your ads by combining multiple targeting criteria.
### Inclusion Logic
Define users who should be included based on specific criteria that indicate purchase intent or alignment with your campaign goals.
For example, you might include users who purchased electronics in the last 30 days, viewed premium brand pages, or opened multiple marketing emails. Each inclusion criterion should support your campaign objective and help identify users most likely to convert.
### Exclusion Logic
Refine your audience by excluding segments that won't benefit from your campaign or could waste ad spend.
Common exclusion strategies include removing recent purchasers of the promoted product, users already subscribed to competitor loyalty programs, or customers who exceed your cost-per-acquisition targets.
#### Advanced Targeting Example
Target electronics enthusiasts ready for premium purchases by including users who viewed electronics categories AND have purchase history over \$500, while excluding those who purchased electronics in the last 14 days OR are already in current electronics campaigns.
This creates a focused audience of high-intent, high-value prospects not currently being targeted.
### CSV Upload Format
Upload a CSV file with users that belong to an audience segment. The CSV should have the following columns:
* **opaque\_user\_id**: Customer ID that the user has on your side
* **email**: Email of the user
* **hashed\_email**: Email of the user hashed using SHA256
* **idfa**: Apple ID of the device of the user
* **hashed\_idfa**: Apple ID of the device of the user hashed using SHA256
* **gaid**: Android ID of the device of the user
* **hashed\_gaid**: Android ID of the device of the user hashed using SHA256
For the same identifier, the user can share either the raw version or the hashed version but not both. When uploading a CSV with raw data (email, idfa, or gaid), Topsort hashes the identifiers to comply with privacy and security requirements.
These audiences can be created using the Audience Tab in the UI or the APIs.
## Predefined Audience Libraries
Access curated, high-performing audience segments that have been optimized across multiple campaigns and verticals.
These ready-to-use segments include industry-standard behavioral patterns, seasonal shopping audiences, cross-category affinity groups, and demographic segments. Predefined libraries save time during campaign setup while providing proven targeting strategies that consistently drive results.
## Implementation Guide
Begin by organizing your audience data and defining clear targeting objectives.
For CDP integration, coordinate with your CDP provider to grant API access to audience segments. Map your existing segments to Topsort's taxonomy and establish automated daily synchronization schedules to keep data fresh.
For custom audiences, define your targeting criteria and business objectives upfront. Gather necessary data points including user IDs, behavioral events, and purchase history. Plan your inclusion and exclusion logic to achieve optimal audience sizing that balances reach with precision.
Integrate audience data through our comprehensive Segments API, which handles userID hashing and connects with our Audience Builder to process both CDP data and behavioral data from your platform.
The integration ensures privacy compliance while maintaining targeting effectiveness.
During campaign creation using the Campaign API, select specific audience segments (up to 5 per campaign) to define your target audience.
Configure audience combination logic using AND/OR operators for maximum precision. This flexibility allows you to create complex targeting scenarios that match your specific campaign goals.
Include the `opaqueUserId` in auction requests to enable real-time audience matching. The Auction API connects with our User Store to match users against configured segments during bid evaluation.
```json theme={null}
{
"auctions": [
{
"type": "banners",
"slots": 1,
"slotId": "homepage_banner",
"device": "mobile",
"opaqueUserId": "0000488787_0681bb44-8553-41f3-a912-ca526afab323"
}
]
}
```
## Next Steps
Once your audience data is integrated, learn about [activation strategies](/en/knowledge-base/ad-platform/campaign-targeting/segments/strategies) to apply boosting and filtering techniques, or explore [management best practices](/en/knowledge-base/ad-platform/campaign-targeting/segments/management) for ongoing optimization.
Learn how to activate your audience segments using boosting and filtering
strategies to maximize campaign performance and ROI.
## Audience Activation Methods
Topsort provides two powerful methods for applying audience targeting to your
campaigns, each serving different strategic objectives.
### Boosting Strategy
Dynamically adjust bid values based on audience membership to prioritize
high-value users while maintaining broader reach. This approach allows you to
compete more aggressively for premium segments without completely excluding
other users.
Boosting works by applying multipliers to your base bids when users match
specific audience criteria. For example, a premium beauty brand might apply a
1.5x boost for their "Premium Beauty Buyers" segment, increasing their \$2.00
base bid to \$3.00 for high-value customers while keeping the standard \$2.00
bid for other users.
Boosting strategies typically increase conversion rates by 25-40% while
maintaining cost efficiency across your broader audience.
### Filtering Strategy
Apply hard exclusions to ensure ads only reach your precisely defined target
audience. This approach maximizes conversion rates by focusing spend
exclusively on high-intent users.
Filtering works best for campaigns with limited budgets, premium products, or
when you need to minimize wasted impressions. For example, a new product
launch might filter to show ads only to "Electronics Buyers" and "Early
Adopters" segments, ensuring the campaign reaches exclusively high-intent
users.
Filtering strategies can increase conversion rates by 2-3x but will reduce
overall reach and impression volume.
## Excluding Audiences
In addition to boosting or filtering included audiences, you can **exclude**
specific segments so those users never see the campaign. Exclusions use hard
filters: excluded users are removed from delivery regardless of other
targeting.
Excluded audiences appear on the campaign detail page under **Exclude
audiences**. For programmatic setup, use `exclusionFilters` on the Campaign
API.
This layered approach ensures you're competitive for your most valuable
audiences while maintaining efficiency.
### Dynamic Filtering
Combine multiple audience criteria with logical operators to create precise
targeting rules.
**Example Configuration:**
```
INCLUDE: (Electronics Buyers OR Tech Early Adopters)
AND High-Value Customers ($500+ purchase history)
EXCLUDE: Recent Purchasers (last 14 days)
OR Current Campaign Participants
```
This creates a focused audience of high-intent, high-value prospects not
currently being targeted.
## How the System Works
Topsort's audience targeting system processes data through several
interconnected components that work together to deliver real-time targeting
capabilities.
The Segments API ingests audience data from CDPs and processes userID hashing
to maintain privacy compliance. The Audience Builder then combines this
first-party CDP data with real-time behavioral data from your platform to
create comprehensive user profiles.
The User Store maintains current segment memberships with continuous online
updates, ensuring targeting data stays fresh. During campaign creation, the
Campaign API enables audience selection and configuration of targeting logic.
Finally, the Auction API performs real-time audience matching during bid
requests, instantly determining which campaigns should compete for each user
based on their segment memberships.
This architecture ensures audience data remains current while enabling
split-second targeting decisions during live auctions.
### Real-Time Decision Flow
1. **Auction Request**: User visits your site, triggering an ad auction
2. **User Matching**: System instantly matches `opaqueUserId` against segment memberships
3. **Campaign Evaluation**: Active campaigns check audience criteria and apply boosts or filters
4. **Bid Calculation**: Final bids calculated with audience-based adjustments
5. **Winner Selection**: Highest adjusted bid wins and serves the ad
This entire process happens in milliseconds, ensuring optimal user experience
while maximizing targeting precision.
## Strategy Selection Guide
### Choose Boosting When:
* You want to maintain broad reach while prioritizing high-value segments
* Budget allows for increased competition on premium audiences
* Goal is to improve efficiency rather than maximize precision
* Testing different audience values against each other
### Choose Filtering When:
* Budget is limited and precision is critical
* Launching premium or niche products
* Audience sizes are large enough to maintain scale after filtering
* Campaign success depends on reaching only qualified prospects
### Hybrid Approaches:
* Use filtering for qualification criteria (e.g., geographic, category interest)
* Apply boosting within filtered audiences for value-based prioritization
* Create campaign variants testing both approaches with performance comparison
## Performance Optimization
### Measuring Success
Track key metrics to evaluate audience targeting effectiveness:
* **Conversion Rate Lift**: Compare targeted vs. broad campaigns
* **Cost Per Acquisition**: Monitor CPA improvements from precision targeting
* **Return on Ad Spend**: Calculate ROAS improvements from boosting strategies
* **Audience Utilization**: Track what percentage of target segments see ads
### Continuous Improvement
* **A/B Test Strategies**: Compare boosting multipliers and filtering criteria
* **Segment Performance**: Identify highest-performing audience combinations
* **Seasonal Adjustments**: Update targeting based on shopping cycles and trends
* **Cross-Campaign Analysis**: Optimize audience allocation across multiple campaigns
## Next Steps
Ready to implement these strategies? Start with [audience setup and
integration](/en/knowledge-base/ad-platform/campaign-targeting/segments/setup),
or explore [management best
practices](/en/knowledge-base/ad-platform/campaign-targeting/segments/management)
for ongoing optimization and governance.
***
# Overview
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/catalog-management/catalog-one/index
How Topsort standardizes catalogs
Catalog One is Topsort's catalog standardization system designed to help marketplaces, retailers, and brands maintain consistent, searchable, and duplicate-free product data. By identifying and unifying brands, categories, and products across different catalogs, Topsort enhances product discovery, reporting, and ad targeting.
## Key Benefits
No more inconsistent brand and category labels.Deduplicated listings avoid clutter and repeated content.Accurate product identifiers allow better tracking of performance and attribution across channels.Unified data supports product-level ads, retargeting, and analytics.Easy-to-integrate ingestion process with feedback on the result.
## Requirements
Customers send their product catalog to our [Catalog API](/en/ad-server/catalog/). Topsort Catalog API accepts product data in a structured format including key attributes such as title, description, brand name, category name, and product ID (see [Schema Description](/en/knowledge-base/ad-platform/catalog-management/catalog-one/schema-description))
## Endpoint Engineering Features
**Asynchronous Processing**: Once a catalog is received, Topsort triggers an offline standardization task. This task processes the catalog using advanced matching logic and machine learning models. The time to run the full process of standardization may depend on the size of the original catalog, but a rough estimate is around 10 products per second.
## Endpoint ML Features
**Brand Recognition**: Matches the input brand to a canonical brand ID using a mix of fuzzy matching, pre-trained models and Large Language Models.
**Category Classification**: Automatically maps free-text categories into a standardized category taxonomy, enabling consistent browsing and reporting. Topsort uses the Google taxonomy as reference for categories.
**Product Deduplication**: Detects and links duplicate products across the catalog. Duplicates are grouped under a unified `master_product_id` using techniques like similarity scoring and vector-based clustering.
## Output Description
The output is a clean, deduplicated, and enriched catalog where each product is linked to recognized brands, standardized categories, and master product groups. Topsort can also include scores for each inference task.
To consume this standardized catalog here’s the URL of the endpoint documentation.
This is a paginated endpoint which works at a rate limit of 10 requests per second.
***
# Schema Description
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/catalog-management/catalog-one/schema-description
## Core Identification
| Field | Type | Description |
| ------------------- | ---------- | ----------------------------------------------------- |
| `id` | **UUID** | Unique identifier for the standardized product record |
| `source_product_id` | **STRING** | Product ID from the original catalog submission |
| `marketplace_id` | **UUID** | Identifier for the submitting marketplace or vendor |
## Product Information
| Field | Type | Description |
| ------------- | ---------- | -------------------------------------- |
| `title` | **STRING** | Cleaned and standardized product title |
| `description` | **STRING** | Standardized product description |
## Brand Data
| Field | Type | Description |
| ---------------------- | ---------- | ----------------------------------------------------- |
| `raw_brand_name` | **STRING** | Brand name as received in the original catalog |
| `brand_id` | **UUID** | Recognized canonical brand ID |
| `standard_brand_name` | **STRING** | Standardized brand name associated with the brand ID |
| `standard_brand_score` | **FLOAT** | Standardized brand score associated with the brand ID |
## Category Classification
| Field | Type | Description |
| ------------------------- | ---------- | ------------------------------------------------------------- |
| `raw_category_name` | **STRING** | Original category label from the catalog |
| `category_id` | **UUID** | Mapped category ID from the standardized taxonomy |
| `standard_category_path` | **STRING** | Full category path (e.g., Electronics → Phones → Smartphones) |
| `standard_category_score` | **FLOAT** | Standardized brand score associated with the category path |
## Deduplication and Quality
| Field | Type | Description |
| ------------------- | ----------- | ------------------------------------------------------------------------- |
| `master_product_id` | **UUID** | Unified product ID representing deduplicated variants of the same product |
| `is_duplicate` | **BOOLEAN** | Indicates whether the product is a duplicate of an existing item |
| `confidence_score` | **FLOAT** | Confidence score (0–1) indicating certainty in the standardization |
## Metadata
| Field | Type | Description |
| ------------ | ------------- | --------------------------------------------- |
| `created_at` | **TIMESTAMP** | Timestamp when the product was processed |
| `updated_at` | **TIMESTAMP** | Last updated time for the standardized record |
***
# Catalog Synchronization
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/catalog-management/catalog-synchronization
Having an accurate catalog is essential to guarantee that promoted products
have the most up-to-date information. To check the product, catalog, category,
and vendor definition, please refer to our [**Ad Server -
Catalog**](/en/ad-server/catalog/) documentation.
## How It Works
With the Catalog Sync process, product data (such as title, description,
image, price, etc) and availability are synced regularly with Topsort. To
check on the methods available to sync your catalog with Topsort, please refer
to our [**Ad Server - Catalog**](/en/ad-server/catalog/) documentation.
## Product availability
To indicate a product is not available, the “active” flag should be set to
`false`. When a product has the flag active: `false`, here's what happens:
* The product stops being listed in the Catalog Tab. \* The product is marked
as inactive in the campaign creation flow.
It is still possible to create a campaign with an inactive product, although
it will not be considered a winner while its status is set to `false`.
* The product is deactivated from ongoing campaigns.
It will be automatically reactivated in the campaign when the status changes
back to active: `true` via integration.
This diagram summarizes the activation and deactivation of products on campaign, due to catalog syncs.
## Troubleshooting
If a product stops winning auctions, it can be related to its active status.
Check details about the [Catalog API](/en/ad-server/catalog/) in our
Integration Guide.
***
# Creating Products
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/catalog-management/index
Marketplace admins can upload products directly within the Ad Platform. This
is especially convenient in sandboxed environments where API integrations or
catalog feeds may not be available.
## How It Works
Admins can access product creation functionalities by going to the
**Products** tab in the marketplace dashboard.
Products can be uploaded by submitting a CSV file. All CSV file samples available at /en/ad-platform/listings/product-feed/ can be used. Once uploaded, products are immediately available for use in sponsored listing campaigns.
The system supports upsert operations for existing products. This means entries will be updated, and new ones will be added, ensuring data consistency.
***
# Overview
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/index
The [**Ad Platform**](https://www.topsort.com/retail-media) serves as the visual interface for managing your marketplace's advertising system. It includes tools for managing [vendors](/en/knowledge-base/ad-platform/vendor-management/), [catalogs](/en/knowledge-base/ad-platform/catalog-management/), and [campaigns](/en/knowledge-base/ad-platform/campaign-creation/). Additionally, it includes essential operations for [reporting and analytics](/en/knowledge-base/ad-platform/reporting-and-analytics/) and [user access](/en/knowledge-base/ad-platform/self-service-and-access/).
You can check how your sponsored listing campaign is performing in the
campaign dashboard.
On this page, you can see performance numbers (KPIs) at the top for a time
period you select, along with a graph below showing trends. You can also see
the products included in your campaign by scrolling through the product
images. When you point your mouse over a product image, the performance
numbers will update to show how just that product is doing.
You can quickly turn the entire campaign on or off using the green switch, or change the campaign budget by clicking the pencil icon. Below the graph, there is a table listing the products being promoted and their main performance numbers. In this table, you can use the toggle switch next to a product to remove it from the campaign or add new products whenever you like.
If a product is set to active: “false” via API or product feed updates due to
lack of stock, it's automatically switched off in the campaign dashboard.
Refer to the [Catalog
Synchronizatio](/en/knowledge-base/ad-platform/catalog-management/catalog-synchronization/)
section for more information.
***
# Exclusive Listings Campaigns
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/listings/exclusive-listings
How exclusive listings campaigns work
Exclusive Listing campaigns let you reserve a specific ad slot, like search, category, or landing pages, for an ad. They guarantee that your ad will always appear in that slot during the campaign period, with no other ads competing.
## How It Works
On campaign creation, enable “Exclusive Campaign” in the bidding step. On campaign creation, define how much to charge daily. Topsort will deduct this from the advertiser's balance each morning. If funds are low, the campaign is paused.
To use exclusive campaigns, no extra integration is required. All metrics, attribution models and pacing algorithms are available out of the box also for exclusive campaigns.
***
# Create Sponsored Listings Campaigns
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/listings/index
Sponsored Listing Campaigns allow you to promote products from the catalog.
You can easily set one up in both the marketplace and self-service dashboards
by clicking the "Create Campaign" button and choosing "Sponsored listings."
## How It Works
First, you select the products you want to promote from your catalog. You can search or browse products by name or category and add as many as needed. If you have many products, you can use the "Bulk Select" button to upload a CSV file with your product IDs to add them all at once.
Next, you decide how much you will bid per click for the products in your campaign. Check the [Bidding Types](/en/knowledge-base/ad-platform/campaign-creation/bidding-types/) section of this Knowledge Base for more information.
Before launching, fill out the final details. Give your campaign a name (only visible to you and other internal users). Set how long the campaign should run, either by picking an end date or letting it run continuously until you stop it. Choose your maximum daily, weekly, or monthly budget. You can also set a location for targeting, either automatically or manually. Once done, press launch to make your campaign active. Check the [Campaign Configuration](/en/knowledge-base/ad-platform/campaign-creation/bidding-types/) and [Campaign Targeting](/en/knowledge-base/ad-platform/campaign-targeting/) sections for more information.
Refer to the [Running Auctions](/en/knowledge-base/ad-server/auctions/)
section to learn more about how to get winners for sponsored listings.
***
# Common Use Cases
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/listings/use-cases
Sponsored Listings use cases
Sponsored listings boost product visibility by appearing in key customer locations:
## 1. Sponsored listings on search pages
Appear among search results, often at the top, when customers search for products.
## 2. Sponsored listings on category pages
Displayed within product lists on category pages, helping products stand out in their category.
## 3. Sponsored listings on carousels
Included in scrolling carousels, often on product pages, showcasing related products.
## 4. Sponsored listings as swimlanes
Placed in horizontal rows within pages, providing visibility even outside top positions.
## 5. Sponsored listings as related products and cross-sell pages
Shown in sections suggesting related items on product pages to interested customers.
***
# Managed Payments—Pre and Post-Paid
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/payments-billing/index
In Managed payment mode, marketplace administrators control the vendor's credit. This credit, like the example balance of \$59,394, isn't real money but a usable balance for vendor ad campaigns. This credit can be issued through either a pre-paid or post-paid arrangement.
## Pre and Post-Paid Arrangements
You can set up your billing with vendors in two ways:
* **Pre-paid:** You collect payment from the vendor first, then add credits to their account.
* **Post-paid:** You provide vendors with a line of credit (by topping up their wallet), and then invoice them monthly based on their ad spend.
Use our [Billing API](/en/ad-server/additional-apis/billing/) and our reporting dashboard to keep track of vendor balance usage.
## Use Cases
Pre-paid options are ideal for new vendors, allowing marketplaces to mitigate initial risks. They're also suited for smaller marketplaces that benefit from budget control or for funding specific, short-term ad campaigns.
On the other hand, post-paid options are often preferred for established, high-volume advertisers. These models allow for ongoing campaigns with monthly invoicing, simplifying accounting for both the marketplace and the advertiser.
***
# Self-Service Payments—Stripe
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/payments-billing/self-service-payments
Topsort also offers a "Self-Service Payments" capability through Stripe. This allows vendors to manage their own payments, track spending, and view billing information, while marketplaces benefit from automated payment workflows and transparent reporting. Vendors are charged when they reach a set credit limit or at the end of a billing cycle, with Topsort integrating with Stripe for transactions.
You need a Stripe account to use this capability.
## Admin Configuration Steps
Navigate to Settings → Payments. Talk to your Topsort sales representative to enable it.
Click "Connect Now" and follow the Stripe integration process.
After connecting Stripe, enable “Self-service” and set a credit limit for your vendors. Vendors will be charged when they reach this limit or at the end of the billing cycle.
Toggle the invitation setting to "Self-Service" and invite vendors.
Only new vendors without active campaigns or a balance will become self-service; others will remain managed.
## Vendor Setup
From the Vendor Dashboard, click "Manage Payments."
Click "Add a card" and enter your payment details.
You can now create campaigns. Your payment method will be charged when your credit limit is reached or at the end of the billing cycle.
## Payment Receipts and Notifications
Marketplace admins receive notifications whenever a charge is made to a vendor. They can check and download the receipts and their history directly from the Payments Tab.
Vendors will also receive notifications whenever a charge is made. When a payment fails vendors will also be notified.
## Frequently Asked Questions
1. **When is a vendor's credit card charged?**
* A vendor's credit card is charged every time they reach their set credit limit, or by the end of the billing cycle (monthly).
2. **Will campaigns stop immediately after a vendor reaches their credit limit?**
* No, campaigns will only pause after a failed charge.
3. **When do changes to the credit limit take effect?**
* Any adjustments to the credit limit will apply starting from the next billing cycle (monthly).
***
# Billing Tab
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/reporting-and-analytics/billing-tab
Marketplace dashboard users with an Admin or Finance role can view a breakdown
of auction activity and ad spend billed to their marketplace for the selected
month on this tab. To access the tab, open **Settings > Billing**.
The page includes:
* **Total ad spend**
* **Total auction calls**
* **Auction calls with winners**
* **Ad spend breakdown** by clicks, impressions, exclusive campaigns, and attributed purchases
Use the month selector to review prior billing periods.
## Finance tab vs. Billing tab
The [Finance tab](/en/knowledge-base/ad-platform/reporting-and-analytics/finance-reporting)
is designed for day-to-day operations, helping teams manage vendor wallet
balances, top-ups, and credits. The Billing tab provides a monthly summary of
marketplace activity, including auction volume and an itemized breakdown of
usage, making it easy to review historical billing periods and understand how
activity is distributed across billing categories.
***
# Custom Data Exports
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/reporting-and-analytics/custom-data-exports
Generate and download customized reports tailored to your needs
This is an add-on, and additional costs may apply. To learn more or request
access, speak with your Topsort contact.
Custom Data Exports let you build your own reports and download them, choosing
the dataset, dimensions, measures, filters, and date range that fit your needs
— without relying on predefined datasets or custom implementations.
## What you can include in a report
You build a report by combining the dimensions you want to break the data down
by with the metrics you want to measure. Some of the dimensions and metrics you
can work with include:
**Dimensions** — the attributes you group and filter by:
* Date and time
* Marketplace, vendor, and campaign
* Ad format
* Advertised product
* Page type, page ID, and page value
* Device
**Metrics** — the numbers you measure:
* Impressions and clicks
* Ad spend
* Attributed purchases and sales revenue
* Click-through rate (CTR) and conversion rate
* Cost per click (CPC)
* Return on ad spend (ROAS)
Exports are processed asynchronously: you request a report and download it as a
Parquet file once it is ready, which makes it practical to work with large
volumes of data. Parquet is a columnar format widely supported by analytics and
data tools.
## Glossary of Ad KPIs
Please refer to our [Glossary](/en/overview/glossary/) to review a list of common terms used in retail media.
***
# Data Room
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/reporting-and-analytics/data-room
How our Data Room works
This is an add-on. If you'd like to have access to it, speak with your Topsort
contact to learn more.
Data Room is like having the keys to the castle that allows you to access your
own data that lives within Topsort Database and create custom queries to get
whatever information you want, displayed according to your preferences. There
are two ways of leveraging Topsort's Data Room.
## Option 1. Via Topsort UI
We support embedded analytics in our platform. In your admin dashboard, you
can find the Data Room tab and access the Data Room UI directly from our
application. This allows you to create your custom visualizations and combine
them into dashboards, using a friendly non-technical tool called "Questions"
or running SQL queries directly.
These are the tables that can be made available in the Data Room:
* Ad Inventory
* Attributed Purchases
* Auctions Won Summary
* Behavior Summary By Hour
* Campaigns
* Vendor Balances
* Vendor Transactions
* Fill Rate Search
* Auction Zero Winners
* Slots Fill Rate
## Option 2. Via Datasource Connection
You can access the same database that powers the UI mentioned above directly,
so you can link it to your existing Data Lake, create custom ETL reports that
read from Topsort's data, or to combine data from multiple sources while still
using your business intelligence tool of preference.
After having your Snowflake account created by the Topsort team, you should be
able to connect to Snowflake using your credentials. In case you need
additional support on how to connect or use Snowflake, please check the links
below:
* [Connecting your snowflake account](https://docs.snowflake.com/en/user-guide/connecting)
* [Introduction to Snowflake](https://docs.snowflake.com/en/user-guide-intro)
* [Querying from snowflake](https://docs.snowflake.com/en/guides-overview-queries)
If you already have your own Snowflake account, Topsort can share your data
directly to it through Snowflake's secure data sharing, so you don't need a
separate Topsort-provided account. This option is available for enterprise
customers and may involve an additional cost. Speak with your Topsort contact
to enable it.
The Finance Tab is a central hub for managing and monitoring financial aspects
related to ad spend and vendor balances, organized into three sections:
Trends, Balance/Ad Spend Summary, and Activity Log.
## Trends Section
This section shows adspend over a definable period, allowing users to select
different timeframes for analysis.
## Balance and Ad Spend Summary
This section provides a financial summary of balances and aggregated ad spend,
with two distinct views: "Balance" and "Ad Spend."
In "Balance" mode, it displays the total marketplace balances. Users can
search vendors and adjust balances.
In "Ad Spend" mode, it shows total ad spend for a selected month. Users can
filter vendors, and a table presents "Vendor" and their "Ad Spend," along with
an action icon for further management.
Also, tools are available to bulk update vendor balances and to download
balance and ad spend as a CSV file.
## Activity Log
This section shows recent financial transactions. Each entry details the user,
activity description, transaction amount and date. You can also download a CSV
file with the activity log of the selected timeframe.
In the Marketplace UI, open **Analytics > Reports** to monitor marketplace
advertising performance, compare periods, and drill into vendors or campaigns.
The **Analytics** section also includes the [Insights Tab](/en/knowledge-base/ad-platform/reporting-and-analytics/insights-tab) for AI-generated insights about anomalous marketplace trends.
## Overview
The Reports tab gives you a single view of how ads are performing across your marketplace. The page is organized around a summary of core KPIs and a set of insight cards that highlight spend efficiency, vendor performance, conversion, engagement, and cost trends.
All headline metrics from the previous analytics experience remain available at the top of the page in a collapsible section, including total ad spend, impressions, clicks, purchases, and ROAS.
## Insight cards
Below the summary, insight cards group related metrics so you can scan performance at a glance. Each card shows absolute values for the selected period, percentage change versus the previous period, and, where relevant, a trend chart comparing the current and previous periods over time.
The page includes cards focused on:
* **Spend and return**: ROAS, ad spend, and promoted sales, with ROAS trends over time
* **Top vendors**: leading vendor performance, with sorting to compare vendors by metrics such as ad spend and promoted sales
* **Conversion**: conversion rate, purchases, and impressions
* **Click-through rate**: CTR and impressions, with CTR trends over time
* **Cost per click**: CPC and charged clicks, with CPC trends over time
Together, these cards make it easier to see whether changes are short-term fluctuations or part of a longer pattern, and which vendors are driving the most spend or sales.
## Filters
Filter the entire page by **ad format** and **date range** to focus on the placements and time window you care about.
You can also narrow the view to a specific **vendor name/id** or **campaign name/id**. When one of these filters is applied, all metrics and cards on the page reflect data aggregated for that vendor or campaign. You can answer performance questions for a single partner or campaign without leaving Reports.
## Glossary of Ad KPIs
Please refer to our [Glossary](/en/overview/glossary/) to review a list of common terms used in retail media.
## CSV Export
You can export the data that you see in the Reports tab, and can even customize which columns to download. Simply click on the purple export icon, choose which metrics and date range to include and download.
***
# Insights Tab
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/reporting-and-analytics/insights-tab
In the Marketplace UI, open **Analytics > Insights** to view AI-generated
insights that highlight anomalous trends in key marketplace metrics such as
ROAS, revenue, and CTR.
The left side of the page shows the **top three insights**, each with a severity level (**Info**, **Med**, or **High**) and grouped into one of four categories: **Monetization**, **Engagement**, **Conversion**, or **Demand**. Click **Ask Tomi** on any insight to learn more, investigate the underlying issue, and chat about possible solutions. The right side shows a history of past insights.
Insights help marketplace teams spot major performance changes immediately, such as CPC spikes, ROAS drops, or unusual spend shifts, and understand likely drivers so they can distinguish true demand problems from campaign mix or cost-structure issues. Severity labels and categories make it easy to prioritize what needs attention first.
This feature is automatically enabled for all clients and production environments.
For KPI dashboards and CSV exports, see the [Reports Tab](/en/knowledge-base/ad-platform/reporting-and-analytics/).
***
# Incrementality Measurement
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/reporting/incrementality-measurement
Methods for measuring the true incremental impact of advertising campaigns
## Overview
Incrementality measurement determines the true causal impact of advertising by
isolating conversions that would not have occurred without ad exposure. Per
IAB/MRC Retail Media Measurement Guidelines, incrementality testing provides
the most accurate measure of advertising effectiveness.
## What is Incrementality?
**Incremental lift** represents sales or conversions directly caused by
advertising, excluding those that would have happened organically. This
differs from attribution, which assigns credit for conversions but doesn't
prove causation.
**Example**: If 100 people who saw an ad made purchases, but testing shows 70
would have purchased anyway, the incremental impact is 30 conversions (30%
lift).
## Testing Methodologies
### 1. Randomized Controlled Trials (RCTs)
The gold standard for incrementality measurement:
Test group exposed to advertising while control group is held out
Compare conversion rates between groups
Incremental Lift = (Test Conversions - Control Conversions) / Control Conversions
**Advantages:**
* Most accurate causal measurement
* Eliminates selection bias
* Clear statistical significance
**Limitations:**
* Requires holdout group (lost opportunity)
* Minimum sample size needed
* May not reflect real-world conditions
### 2. Synthetic Control Methods
Creates artificial control group using historical data and machine learning:
Gather historical conversion patterns and user characteristics
Build predictive model of expected conversions without advertising
Compare actual results to synthetic control predictions
Measure difference between actual and predicted outcomes
**Advantages:**
* No holdout group required
* Can be applied retroactively
* Continuous measurement possible
**Limitations:**
* Requires robust historical data
* Model accuracy affects results
* Assumptions may not hold in all cases
### 3. Matched Market Tests
Compares similar geographic markets with different ad exposure:
1. **Market Selection**: Identify comparable markets by demographics, sales patterns
2. **Test Design**: Run campaigns in test markets, hold out control markets
3. **Analysis**: Compare lift between matched market pairs
4. **Scaling**: Extrapolate results to full population
**Advantages:**
* Real-world conditions maintained
* Good for regional campaigns
* Can test different strategies
**Limitations:**
* Finding truly comparable markets difficult
* External factors may affect results
* Geographic spillover possible
## Implementation in Topsort
### Enabling Incrementality Tests
Marketplaces can configure incrementality testing through:
```json theme={null}
{
"test_configuration": {
"methodology": "rct",
"test_split": 0.8, // 80% test, 20% control
"minimum_sample_size": 10000,
"measurement_period_days": 30,
"stratification": ["user_segment", "geographic_region"]
}
}
```
### Test Setup Process
Define your primary KPI (sales, new customers, etc.), expected lift range, and required confidence level.
Use statistical power calculators, account for expected variance, and include buffer for incomplete data.
Set test/control split ratio, stratification variables, and measurement window.
Check randomization balance, track exposure rates, and validate data quality.
Calculate incremental lift, determine statistical significance, and generate confidence intervals.
## Reporting Incrementality
### Standard Metrics
Reports include:
* **Incremental Conversions**: Additional conversions caused by advertising
* **Incremental Revenue**: Revenue directly attributable to ad exposure
* **iROAS**: Incremental Return on Ad Spend (incremental revenue / ad spend)
* **Lift Percentage**: Relative increase over baseline
* **Confidence Interval**: Statistical range of true effect
### Sample Report Format
```
INCREMENTALITY TEST RESULTS
━━━━━━━━━━━━━━━━━━━━━━━━━━
Test Type: Randomized Controlled Trial
Test Period: Oct 1 - Oct 31, 2024
Sample Size: 50,000 users (40,000 test / 10,000 control)
RESULTS:
─────────────────────────────
Test Group Conversion Rate: 4.2%
Control Group Conversion Rate: 3.1%
Incremental Lift: 35.5% (95% CI: 28.2% - 42.8%)
Statistical Significance: p < 0.001
Incremental Conversions: 440
Incremental Revenue: $44,000
iROAS: 4.4x
```
## Best Practices
### Test Design
1. **Pre-registration**
* Document hypothesis before testing
* Define success metrics upfront
* Commit to test duration
2. **Randomization Quality**
* Verify random assignment
* Check for pre-test differences
* Use stratification for balance
3. **Sample Size**
* Calculate required size for desired power
* Account for attribution window
* Include non-compliance buffer
### Common Pitfalls to Avoid
**Avoid these common mistakes:** - Stopping tests early based on interim
results - Changing test parameters mid-flight - Ignoring spillover effects
between groups - Using insufficiently powered tests - Not accounting for
seasonality
## Advanced Considerations
### Multi-Touch Incrementality
For campaigns with multiple touchpoints:
1. **Sequential Testing**: Measure incremental impact of each additional exposure
2. **Interaction Effects**: Assess how different ad formats work together
3. **Diminishing Returns**: Identify optimal frequency caps
### Long-term Effects
Measuring beyond immediate conversions:
* **Customer Lifetime Value**: Track incremental CLV over time
* **Brand Metrics**: Survey-based measurement of awareness/consideration
* **Halo Effects**: Impact on non-advertised products
### Cross-Channel Coordination
When running omnichannel campaigns:
* Coordinate test/control groups across channels
* Measure total incremental impact
* Identify channel interaction effects
## Integration with Attribution
### Complementary Insights
"Which ads get credit for conversions?"
"How many conversions were caused by ads?"
### Combined Reporting
Best practice includes both metrics:
* Attribution for tactical optimization
* Incrementality for strategic decisions
* Reconciliation of differences
## API Access
### Requesting Test Results
```javascript theme={null}
// Fetch incrementality test results
const testResults = await fetch("/api/incrementality/results", {
method: "POST",
body: JSON.stringify({
campaign_id: "camp_123",
test_id: "test_456",
include_confidence_intervals: true,
breakdown_by: ["product_category", "user_segment"],
}),
});
```
### Response Format
```json theme={null}
{
"test_summary": {
"methodology": "rct",
"test_group_size": 40000,
"control_group_size": 10000,
"measurement_period": "2024-10-01 to 2024-10-31"
},
"results": {
"incremental_lift": 0.355,
"confidence_interval": [0.282, 0.428],
"p_value": 0.0001,
"incremental_conversions": 440,
"incremental_revenue": 44000,
"iroas": 4.4
},
"quality_checks": {
"randomization_balance": "pass",
"sample_size_adequate": true,
"statistical_power": 0.95
}
}
```
## Frequently Asked Questions
1. **How long should incrementality tests run?**
* Minimum 2-4 weeks to capture full purchase cycle, longer for considered purchases.
2. **What's the minimum sample size needed?**
* Depends on expected lift and baseline conversion rate. Generally 10,000+ users per group.
3. **Can incrementality be measured without holdouts?**
* Yes, using synthetic controls or matched markets, though RCTs remain most accurate.
4. **How often should incrementality be tested?**
* Quarterly for ongoing campaigns, or when significant changes occur in strategy or market conditions.
***
# Invalid Traffic Prevention
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/reporting/sivt-filtration
How to prevent and manage invalid traffic in your marketplace
## Overview
Topsort reports all events as received from your marketplace. Marketplaces are
responsible for implementing traffic quality controls before sending events to
Topsort.
Invalid traffic—whether from bots, fraudulent clicks, or non-human activity—can impact campaign performance and advertiser trust. This guide covers best practices for preventing and monitoring invalid traffic.
## What is Invalid Traffic?
**General Invalid Traffic (GIVT)** - easier to detect:
* Known bots and crawlers
* Data center traffic
* Non-human activity patterns
* Bot networks
* Hijacked devices
* Proxy/VPN traffic
* Malware and adware
* Cookie stuffing
## Prevention Best Practices
### Before Sending Events to Topsort
Implement these controls in your marketplace:
**Traffic Source Controls**
* Vet publishers before allowing ad serving
* Monitor performance by traffic source
* Set minimum quality thresholds
**Security Measures**
* Require HTTPS for all ad serving
* Implement ads.txt to prevent unauthorized inventory
* Use rate limiting to prevent automated activity
**Filtering**
* Filter known bad IP addresses
* Remove duplicate events within short timeframes
* Validate user agents and referrers
* Require JavaScript execution for tracking
## Monitoring for Invalid Traffic
### Key Metrics
Watch for these warning signs:
* **CTR above 5%** (typical retail media: 0.5-2%)
* **Sudden traffic spikes** without explanation
* **Unusual conversion patterns** (too fast or too slow)
* **Geographic anomalies** from unexpected locations
### Using Topsort's Reporting API
Use the [Reporting API](https://api.docs.topsort.com/api-reference/reporting-api/get-marketplace-interactions-report) to analyze traffic patterns and identify anomalies in your data.
## If You Detect Invalid Traffic
1. Pause suspicious traffic sources immediately
2. Analyze the pattern to understand the issue
3. Contact Topsort support if adjustments are needed for affected campaigns
4. Implement filters to prevent similar traffic
## Frequently Asked Questions
**Does Topsort filter invalid traffic automatically?**
No. Topsort reports all events as received. Marketplaces must implement their own traffic quality controls.
**Can I exclude events from being sent to Topsort?**
Yes. Filter suspicious events before calling the `/events` API endpoint.
**What CTR should I consider suspicious?**
CTRs consistently above 5% warrant investigation. Typical retail media CTRs range from 0.5% to 2%.
***
# Reporting Transparency Requirements
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/reporting/transparency-requirements
IAB/MRC mandated transparency standards for retail media reporting
## Overview
In accordance with IAB/MRC Retail Media Measurement Guidelines, Topsort provides comprehensive transparency in all reporting to ensure advertisers have full visibility into campaign performance and measurement methodologies.
1. **Attribution Model Used**
* Last-click, last-impression, or multi-touch
* Model-specific rules and priorities
* Any customization applied by marketplace
2. **Attribution Windows**
* Click-through window duration (e.g., 7, 14, 30 days)
* View-through window duration if applicable
* Window start and end timestamps
3. **Viewability Standards Applied**
* Display: 50% pixels, 1+ second
* Video: 50% pixels, 2+ seconds
* Large format: 30% pixels, 1+ second
### Data Quality Indicators
Reports include data quality metrics and methodologies used for measurement validation.
Each report provides:
* Total impressions delivered
* Viewability validation methodology
* Data collection approach
* Quality assurance measures applied
### Measurement Limitations
All reports must include disclaimers about:
* Cross-device tracking limitations
* Identity resolution methodology
* Cookie/identifier persistence
* Data collection gaps
## Report Components
### Standard Metrics Section
Every campaign report includes:
```
CAMPAIGN PERFORMANCE SUMMARY
━━━━━━━━━━━━━━━━━━━━━━━━━━━
Measurement Period: [Start Date] - [End Date]
Attribution Model: [Model Type]
Attribution Window: [X days click] / [Y days view]
Viewability Standard: IAB/MRC Compliant
Data Quality: Validated per methodology
```
### Detailed Transparency Notes
Reports contain expandable sections for:
1. **Methodology Documentation**
* How impressions are counted
* Viewability measurement approach
* Conversion tracking methods
* De-duplication rules
2. **Data Sources**
* First-party vs third-party data
* Deterministic vs probabilistic matching
* Panel data extrapolation (if used)
* Modeling assumptions
3. **Incrementality Indicators**
* Whether incrementality testing was performed
* Test methodology (RCT, synthetic control, etc.)
* Confidence intervals if available
* Baseline vs incremental conversions
## API Response Format
When retrieving reports via API, transparency metadata is included:
* **Green indicators** for IAB/MRC compliant metrics
* **Yellow indicators** for estimated or modeled data
* **Red indicators** for non-compliant or incomplete data
### Hover Information
Interactive elements provide:
* Metric definitions on hover
* Calculation methodology
* Data collection timeframes
* Quality indicators
## Audit Trail Requirements
### Data Retention
Topsort maintains for audit purposes:
* Raw impression logs (90 days)
* Aggregated campaign data (24 months)
* Data quality validation logs (180 days)
* Attribution calculation details (12 months)
### Access Controls
Advertisers can request:
* Detailed methodology documentation
* Campaign-specific calculation logs
* Data quality validation details
* Data lineage reports
## Compliance Certifications
Reports indicate compliance with:
* **MRC Accreditation** for viewable impressions
* **IAB Tech Lab** measurement standards
* **TAG Certified Against Fraud** program
* **Privacy regulations** (GDPR, CCPA as applicable)
While maintaining core requirements, marketplaces can add:
* Custom KPIs with clear definitions
* Additional attribution models with documentation
* Proprietary metrics with methodology disclosure
* Industry-specific measurements with standards reference
### Report Scheduling
Automated reports can be configured with:
* Daily, weekly, or monthly delivery
* Custom date ranges
* Specific transparency level (summary vs detailed)
* Format preferences (PDF, CSV, JSON)
## Best Practices
### For Marketplaces
1. **Standardize Terminology**
* Use IAB/MRC definitions consistently
* Avoid proprietary terms without explanation
* Provide glossary in reports
3. **User Education**
* Provide metric interpretation guides
* Offer transparency documentation
* Host regular training sessions
### For Advertisers
1. **Review Transparency Sections**
* Understand attribution methodology
* Check data quality indicators regularly
* Note any limitations or disclaimers
2. **Compare Across Campaigns**
* Ensure consistent measurement
* Identify anomalies in data quality
* Track methodology changes
3. **Request Additional Detail**
* Use audit trail access rights
* Ask for methodology clarification
* Request custom transparency reports
## Frequently Asked Questions
1. **What if a metric doesn't meet IAB/MRC standards?**
* Non-compliant metrics are clearly labeled with explanation of variance from standards.
2. **How often are transparency requirements updated?**
* Requirements align with IAB/MRC guideline updates, typically annually with notice provided.
3. **Can transparency disclosures be hidden?**
* No, core transparency elements are mandatory and cannot be removed from reports.
4. **Are historical reports updated with new standards?**
* Historical data maintains original methodology with notes about standard changes.
***
# Self-Service via API
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/self-service-and-access/api-self-service
Using our APIs to create a self-service experience
If you already have a seller center, you can integrate our [Campaign API](/en/ad-server/additional-apis/campaign-api/) with your platform to enable self service directly in it. By leveraging our endpoints for creating, updating, retrieving and deleting campaigns, you can design your workflows for self-service campaign management with your rules and UX/UI design.
***
# User Authentication and Authorization
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/self-service-and-access/index
Understanding User Authentication and Authorization with Topsort
Topsort provides robust authentication options, including single sign-on (SSO) capacities, to manage how vendors and admin users access the platform. After successful authentication, users are authorized to the appropriate dashboard based on their permissions.
## Authentication Options
1. Email and password.
2. Social login (using existing Google and Microsoft credentials).
3. Single sign-on (SSO), integrated with your custom enterprise login system
## Authorization
After authentication, Topsort will authorize the user to the correct marketplace or vendor dashboard. Access is determined by where the user was created (user type) and their authorized permissions (user role).
An email address can have access to multiple vendor dashboards or multiple marketplace dashboards. But an email address cannot have access to both vendor and marketplace dashboards simultaneously.
## Single Sign-On (SSO)
SSO allows users to authenticate with Topsort using your organization's existing credentials. This offers improved user experience with centralized authentication by your organization. It also allows for customization while increasing productivity by eliminating multiple logins. The users will access your organization's login page instead of Topsort's for authentication.
Topsort uses [Auth0](https://auth0.com/) as the identity provider to manage user authentication and authorization. To use SSO, your system must comply with one of these protocols:
* OpenID Connect (OIDC)
* SAML 2.0
* OAuth 2.0
To get started with SSO, contact your Topsort account manager or support team.
***
# Roles and Permissions
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/self-service-and-access/roles-permissions
Understanding Roles and Permissions
Topsort utilizes a role-based access control (RBAC) approach to manage user permissions across dashboards. Roles are sets of permissions that can be assigned to users. Permissions define the specific actions a user can take within the Topsort platform. By assigning roles, you can efficiently manage user access across the two main interfaces: the Admin Dashboard for publishers/retailers and the Self-Service Dashboard for advertisers.
**Key Concepts**
* **Roles:** Collections of permissions that correspond to user functions (e.g., Admin, Sales).
* **Permissions:** Granular authorizations to perform specific actions on entities (e.g., create a campaign, view a report).
* **Scopes:** The domains or actions of the platform to which permissions apply (e.g., Campaigns, Reporting).
* **Actions:** The specific operations a user can perform on an entity within a scope (e.g., edit, read).
***
## Admin Dashboard Roles
Three default roles are available for the Admin Dashboard:
1. **Admin:** This role grants **full access** to all features and settings within the publisher/retailer account. An Admin can manage campaigns, view all data analytics, manage users and their permissions, handle financial aspects, configure ad formats, set target ROAS, manage approval workflows and audiences, and access all reporting functionalities. This role is intended for key personnel who require complete control over the retail media network.
2. **Sales:** This role is designed for **sales teams** who manage relationships with specific advertisers. A user with the Sales role has full access to a designated group of advertisers. This includes creating and managing campaigns, viewing analytics, and generating reports only for the advertisers assigned to them. This ensures that sales representatives can effectively support their clients without having access to the entire advertiser portfolio.
3. **Finance:** This role is designed for **finance and billing teams** who manage financial reconciliation across the retail media network. A user with the Finance role has marketplace-wide visibility into all advertisers. Finance users can access the Finance tab (ad spend trends, vendor balances, ad spend summaries, activity logs, and CSV exports), view analytics and campaign reporting, top up vendor wallets, invite vendor self-service users, and manage payment and platform billing settings. They cannot create or edit campaigns, manage marketplace users, configure ad formats, or access platform configuration areas such as API integration, custom branding, or the Data Room.
## Vendor Dashboard Roles
Two default roles are provided for the advertiser's self-service environment:
1. **Admin:** The Admin role for the vendor dashboard provides **full access** to all functionalities within the vendor's account. This includes managing campaigns, setting budgets, inviting new vendor users, viewing detailed reporting and billing information, and managing team members.
2. **Analytics:** This role provides **read-only access** to the vendor dashboard. A user with the Analytics role can view campaign performance, reports, and dashboards but cannot create or edit campaigns, manage users, or access billing information.
***
## **API Keys and Domains**
API keys allow for programmatic access to the Topsort platform, enabling integrations with your existing systems. Each API key is scoped to a specific domain, ensuring that access is limited to the intended set of functionalities.
The following domains are available for API key creation, with each domain representing a group of related entities and actions:
* **Catalog:** Manage product catalogs, including adding, updating, and removing items.
* **Auctions:** Make ad requests.
* **Events:** Track user events and interactions.
* **Campaigns / Assets / Webhooks:** Create, manage, and monitor advertising campaigns, upload assets, and manage webhook configurations.
* **Reporting:** Access and export performance data and reports.
* **Invitations / Users:** Manage user accounts and invite new users.
* **Segments:** Create and manage audience segments.
* **Billing:** Access billing information, invoices, and payment history.
* **Offsite:** Manage offsite advertising campaigns.
* **Toppie APIs:** Interact with Topsort's DSP.
* **Toptimize APIs:** Access and manage optimization features like quality scores, retrieval, and ranking.
* **Forecasting:** Utilize forecasting tools to predict campaign performance and inventory utilization.
***
## **Custom Roles**
To provide more granular and tailored access, Topsort supports the creation of custom roles. This allows retailers to define specific permission sets that align perfectly with the unique responsibilities of their team members.
### **How to Request a Custom Role**
The creation of new roles is a coordinated process between the retailer and the Topsort team. This ensures that permissions are configured correctly and securely.
1. **Define Your Needs:** Identify the specific tasks and responsibilities the new role will have. Determine which domains (e.g., Campaigns, Reporting) the user needs to access and what actions (e.g., read, edit, etc.) they should be able to perform.
2. **Contact Your Topsort Account Manager:** Reach out to your dedicated Topsort representative with the detailed requirements for the new role.
3. **Review and Implementation:** The Topsort team will review the requested permissions and work with you to finalize the role's scope.
4. **Deployment:** Once confirmed, Topsort will configure the new role in your account. It will then appear in your Admin Dashboard's user management section, ready to be assigned to users.
### **Examples of Custom Roles**
Here are some examples of custom roles that can be created to meet specific organizational needs:
#### **Analytics**
* **Purpose:** Provide read-only access to the core data and reporting sections of the dashboard.
* **Example Scopes & Permissions:**
* **Reporting:** `read`
* **Campaigns / Assets / Webhooks:** `read`
* **Users:** *No Access*
#### **Finance Manager**
* **Purpose:** To manage and audit all financial aspects of the retail media network without having access to campaign or user management.
* **Example Scopes & Permissions:**
* **Billing:** `read`
* **Reporting:** `read`
* **Campaigns / Assets / Webhooks:** *No Access*
* **Users:** *No Access*
#### **Merchandising Analyst**
* **Purpose:** To analyze product performance within ad campaigns and manage the product catalog for advertising eligibility, without being able to launch or edit campaigns.
* **Example Scopes & Permissions:**
* **Catalog:** `read`, `edit` (e.g., to tag items for ad eligibility)
* **Reporting:** `read`
* **Segments:** `read`
* **Campaigns / Assets / Webhooks:** `read` (to view campaign settings without editing)
***
## **Object-Level Permissions (Access Control)**
Beyond the broad definitions of roles, Topsort provides a more granular layer of security through instance-level permissions. The system combines Role-Based Access Control (RBAC) with instance-level control:
* **Role:** Defines the allowed **actions** (e.g., `campaigns:read`, `campaigns:edit`).
* **Instance Permission:** Defines the specific **objects** the action can be performed on (e.g., campaigns where `advertiser_id` = B).
This ensures that users and API keys only have access to the exact resources they are authorized for, enforcing the principle of least privilege.
### **How It Works**
Policies are attached to a user or API key to filter their access down to specific instances of an entity. For example, the **Sales** role inherently uses this system to limit a user's view to a specific group of advertisers. This can be extended to create highly specific access patterns.
Like custom roles, setting up these fine-grained policies is a coordinated process handled by the Topsort team to ensure proper and secure implementation.
### **Technical Examples**
* **User-to-Advertiser Access:**
* **Scenario:** A user `jane.doe@retailer.com` with a **Sales** role needs access to two specific advertisers: `advertiser-123` and `advertiser-456`.
* **Policy:** A policy is attached to Jane's user account that restricts all her scopes (read, write, etc.) across all scopes (Campaigns, Reporting) to only those instances associated with the specified advertiser IDs. Any attempt to access data from `advertiser-789` would be denied.
### **Config Files**
**Roles**
```json theme={null}
{
"roles": [
{
"name": "Admin",
"dashboard": "admin",
"description": "Provides unrestricted access to all features, settings, and data across the entire platform. Intended for key administrators.",
"permissions": [
{
"scope": "*",
"actions": [
"read",
"edit"
]
}
]
},
{
"name": "Sales",
"dashboard": "admin",
"description": "Provides full access to a specific list of advertisers. Requires an instance-level policy to define which advertisers the user can manage.",
"instance_level_scoping": true,
"permissions": [
{
"scope": "Campaigns",
"actions": [
"read",
"edit"
]
},
{
"scope": "Reporting",
"actions": [
"read",
"edit"
]
},
{
"scope": "Segments",
"actions": [
"read"
]
},
{
"scope": "Billing",
"actions": [
"read"
]
}
]
},
{
"name": "Analytics",
"dashboard": "admin",
"description": "Provides read-only access to platform-wide data and reports. Cannot make any changes.",
"permissions": [
{
"scope": "Reporting",
"actions": [
"read"
]
},
{
"scope": "Campaigns",
"actions": [
"read"
]
},
{
"scope": "Catalog",
"actions": [
"read"
]
}
]
},
{
"name": "AdvertiserAdmin",
"dashboard": "advertiser",
"description": "Provides full access within a vendor's account—manage campaigns, set budgets, invite users, and view analytics. Scoped to the vendor they belong to.",
"instance_level_scoping": true,
"permissions": [
{
"scope": "Campaigns",
"actions": [
"read",
"edit"
]
},
{
"scope": "Reporting",
"actions": [
"read",
"edit"
]
},
{
"scope": "Billing",
"actions": [
"read"
]
},
{
"scope": "Users",
"actions": [
"read",
"edit"
]
}
]
},
{
"name": "AdvertiserAnalytics",
"dashboard": "advertiser",
"description": "Read-only access to the vendor dashboard—view campaign performance, reports, and dashboards. Scoped to the vendor they belong to.",
"instance_level_scoping": true,
"permissions": [
{
"scope": "Reporting",
"actions": [
"read"
]
},
{
"scope": "Campaigns",
"actions": [
"read"
]
}
]
}
]
}
```
To enable self-service, marketplace admins or sales users can manage vendor users directly from the Admin Dashboard. Each vendor user is assigned a role that determines their level of access within the vendor dashboard.
Two roles are available for vendor users:
1. **Admin** — Full access to the vendor dashboard: manage campaigns, set budgets, invite other vendor users, and view analytics.
2. **Analytics** — Read-only access to the vendor dashboard: view campaign performance, reports, and dashboards without the ability to make changes.
Some banner ad creatives may still require marketplace approval.
## Managing Vendor Users
Marketplace admins and sales users can manage the full lifecycle of vendor users from the Admin Dashboard:
* **Invite users:** Add new users to a vendor's team and assign the appropriate role (Admin or Analytics).
* **Assign roles:** Choose the role that matches the vendor user's responsibilities.
* **Deactivate users:** Revoke a vendor user's access immediately when they no longer need it. Deactivated users lose access instantly.
## Vendor Dashboard Features
The vendor dashboard offers a centralized view for campaign management and analytics:
* **Performance monitoring:** Access real-time data and metrics about the performance of campaigns.
* **Campaign Management:** Create and review campaigns directly from the dashboard.
* **Team and Payments:** Invite team members and manage payment settings (when self-service payment is available through Stripe).
* **Support:** Access the help center and frequently asked questions.
***
# Whitelabel
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/self-service-and-access/whitelabel
Configuring whitelabel parameters
Topsort's white-labeling feature lets you customize the vendor dashboard to match your brand, creating a consistent experience for your advertisers.
## How It Works
Contact your Topsort account manager or support team to enable the feature. The tab “Custom Branding” will be enabled in the admin dashboard.
Once enabled, go to the Settings dropdown and select “Custom Branding”. Here, you can upload your logo, adjust colors, and modify other elements to match your brand.
* **Logo:** Upload your company logo. We recommend a size of 500x500px.
* **Marketplace Name:** Set the name that will appear on the dashboard.
* **Default Language:** Choose the default language for the dashboard.
* **Terms and Conditions URL:** Provide a URL to the terms and conditions of your marketplace. This link will be included in the vendor invitation signup flow.
* **Colors:**
* **Primary Color:** Used for the navigation bar, icons, lines in graphs, and links.
* **Secondary Color:** Used for some buttons and switches.
Click Save to apply your customizations to the vendor dashboard.
## Frequently Asked Questions
1. **How do I revert to the default Topsort branding?**
* Simply remove your custom branding settings and save.
2. **Can I customize the dashboard for different vendors?**
* White-labeling applies globally to all vendors on your platform.
3. **Is this feature available on all plans?**
* White-labeling is included with the **Enterprise** plan. If you're on a different plan and want to enable this feature, contact your Topsort account manager or support team.
**Sponsored Brands** is an advanced ad format that combines brand logos,
multiple creative assets, headlines, and multiple products. With three
pre-built templates, video support, and comprehensive analytics, it's designed
to build brand awareness and help customers discover your full product range.
## Key Features
* **Multiple products per campaign**: Include products in a single sponsored brand campaign for better product discovery
* **Video and enhanced creatives**: Upload videos (MP4) and images (JPEG, PNG, WEBP, GIF) up to 5MB per asset for more engaging ad experiences
* **Template-driven campaigns**: Choose from three pre-built templates: Product Collection (multiple products), Product Highlight (single product with creative), and Store Spotlight (drive store traffic)
* **Flexible pricing models**: Choose between cost-per-click (CPC) and cost-per-thousand-impressions (CPM) bidding
* **Enhanced destinations**: Direct shoppers to product pages, vendor pages, or custom URLs
* **Comprehensive analytics**: Monitor campaign performance with detailed metrics and promoted sales attribution
## Sponsored Brands Use Cases
### Brand Awareness Campaigns
* **Objective**: Increase brand visibility and recognition
* **Recommended Products**: 2-5 products representing your brand range
* **Creative Focus**: Strong brand logo, compelling headlines, high-quality visuals
* **Targeting**: Broad audience segments with brand affinity
* **Bidding**: CPM for maximum impression reach
### Product Discovery Campaigns
* **Objective**: Help customers discover specific products or product categories
* **Recommended Products**: 3-5 related products from the same category
* **Creative Focus**: Product-focused imagery, clear product benefits
* **Targeting**: Category-specific keywords and interested audiences
* **Bidding**: CPC to drive product page visits and conversions
### Video-Enhanced Campaigns
* **Objective**: Engage customers with dynamic video content
* **Recommended Products**: 1-3 products to maintain focus on video content
* **Creative Focus**: High-quality video (under 5MB) showcasing products in use
* **Targeting**: Video-engaged audiences and mobile users
* **Bidding**: CPM for video view optimization
## How It Works
## Campaign Management Features
### Campaign Analytics
Monitor campaign performance with comprehensive metrics:
* Impressions and clicks by campaign
* Promoted sales attribution with multi-product tracking
* Campaign-level performance insights and ROI analysis
## Getting Started
To begin using Sponsored Brands:
1. **Access the Admin Dashboard**: Navigate to the Sponsored Brands section under Ads Format
2. **Choose Template**: Select from Product Collection, Product Highlight, or Store Spotlight templates
3. **Create Your First Campaign**: Follow the template-driven campaign creation process
4. **Monitor Performance**: Use the enhanced analytics dashboard to track campaign success
Sponsored Brands auctions work by sending auction requests with placement
details and targeting triggers, then receiving structured responses containing
winning campaigns with all necessary creative assets and metadata.
## Available Templates
Sponsored Brands campaigns are built using one of three pre-built templates:
* **Product Collection**: Multiple products displayed on one landing page for comprehensive product discovery
* **Product Highlight**: Single product and a creative
* **Store Spotlight**: Drives traffic directly to a vendor's store page for brand awareness
## Auction Request
Auction requests for Sponsored Brands follow the standard auction format with
specific triggers for targeting and support for geolocation-based filtering:
```json theme={null}
{
"auctions": [
{
"winners": 2,
"placementId": "some-placement",
"triggers": {
"products": {
"ids": ["pmk_1", "pmk_8"]
},
"category": {
"id": "electronics"
},
"searchQuery": "cool electronics"
},
"geoTargeting": "santiago",
"opaqueUserId": "user-123",
"filter": {
"operator": "or",
"attributes": ["category:66e895c424dd8e36c1318b0c", "brand:nike"]
}
}
]
}
```
### Request Parameters
* **winners**: Number of sponsored brands campaigns to return
* **placementId**: Identifier for the sponsored brands placement slot
* **triggers**: Targeting criteria using one of:
* **products.ids**: Array of specific product IDs to target
* **category.id**: Product category for broader targeting
* **searchQuery**: Search terms for keyword-based targeting
* **geoTargeting**: Geographic location identifier for location-based campaign filtering
* **opaqueUserId**: Anonymous user identifier for personalization and enhanced targeting
* **filter**: *(Optional)* Narrows the auction to ads whose attributes match the given `key:value` pairs — for example a specific category, brand, or color. Attributes are matched against values configured on each ad's entity (product, category, brand, etc.). Ads that don't match are excluded before ranking, so filtered-out bids never win or get charged. Requires additional integration and configuration; contact your Topsort representative to enable it.
* **operator**: How to combine the attributes. Use `or` to keep ads matching **any** of the attributes (broader match), or `and` to keep only ads matching **all** of them (stricter match).
* **attributes**: Up to 5 attributes in `key:value` format. The attribute name and value are limited to 40 characters each.
### Geolocation Filtering Behavior
The auction system automatically filters campaigns based on geolocation targeting:
* **Location Match**: Campaigns with specific geolocation settings only participate when the `geoTargeting` field matches their configured locations
* **No Geolocation**: Campaigns without geolocation restrictions participate in all auctions regardless of the `geoTargeting` value
* **Multiple Locations**: Campaigns targeting multiple locations participate when the request matches any of their configured locations
* **Backward Compatibility**: Existing campaigns without geolocation continue to work as before
## Auction Response
The auction response returns winning sponsored brands campaigns with complete
creative assets and metadata:
```json theme={null}
{
"results": [
{
"winners": [
{
"rank": 1,
"resolvedBidId": "ChAGc-G66Wt7LKQEOcW8VBdIEhABjz_zDXx7db-ZYpxiwJ3DGhABjr4Lt_J0_a7Xv_uIfyOXIgUKATEQATDrrg8",
"productId": "pmk_1",
"type": "url",
"id": "www.topsort.com",
"vendorId": "vendor_id",
"content": {
"headline": "Campaign Headline",
"logo": "https://some.url.com/logo.jpeg"
},
"campaignId": "018f3ff3-0d7c-7b75-bf99-629c62c09dc3",
"productIds": ["pmk_1", "pmk_4", "pmk_8"]
}
],
"error": false
}
]
}
```
### Response Fields
#### Winner Object
* **rank**: Position ranking of the winning campaign
* **resolvedBidId**: Unique identifier for bid tracking and attribution
* **productId**: Primary product identifier for the campaign
* **type**: Campaign type (always "product" for sponsored brands)
* **id**: Campaign identifier
* **title**: Campaign title for display purposes
* **campaignId**: UUID of the sponsored brands campaign
* **productIds**: Array of all products included in the campaign (1-5 products)
#### Assets Array
Creative assets for rendering the sponsored brands ad:
* **url**: CDN URL for the asset
* **role**: Asset type ("image" for banner creative, "logo" for brand logo)
* **contentType**: MIME type of the asset
* **contentLength**: File size in bytes
* **width/height**: Asset dimensions in pixels
#### Content Object
Campaign content for rendering:
* **headline**: Campaign headline text
* **brandName**: Brand or vendor name
* **creative1**: Additional creative asset URL (videos, secondary images)
## Implementation Notes
### Rendering Flexibility
The creative assets, headline, and productIds are returned separately in the
auction response, allowing you to render these elements according to your
frontend design requirements. The assets array contains all necessary creative
components with clear role identification.
### Multi-Product Support
Sponsored brands campaigns can promote 1-5 products simultaneously. The
`productIds` array contains all products included in the campaign, while
`productId` represents the primary product for tracking purposes.
### Template Integration
While campaigns are built using available templates (Product Collection,
Product Highlight, Store Spotlight), the auction response provides all
necessary assets and content regardless of the template used, ensuring
consistent integration across all campaign types.
### Content Specifications
All creative assets (images and videos) uploaded for Sponsored Brands
campaigns must meet these requirements:
* **Supported formats**: JPEG, PNG, WEBP, GIF, MP4
* **Max file size**: 5MB per creative/video
***
# Create Sponsored Brands Campaigns
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/sponsored-brands/sponsored-brands-campaigns
Creating sponsored brands campaigns with template selection and enhanced features
Sponsored Brands is an ad format combining a brand logo, creative assets, a headline and multiple products. Its goal is to build brand awareness and help customers discover products.
## Campaign Creation Flow
All sponsored brands campaigns start from one of three available templates, then follow a streamlined creation process.
Begin by choosing from one of three pre-built sponsored brands templates:
* **Product Collection**: Multiple products on one landing page for comprehensive product discovery
* **Product Highlight**: Single product and a creative
* **Store Spotlight**: Drive traffic to a store page for brand awareness
** **
Configure your brand and creative assets:
* **Upload Brand Logo**: Add your brand logo following template specifications
* **Campaign Headline**: Create compelling headlines aligned with your campaign objectives
* **Additional Creatives**: Upload videos or additional images based on template requirements
* **Attach Products**: Select products to promote with your creatives
#### Content Requirements
* **Supported formats**: JPEG, PNG, WEBP, GIF, MP4
* **Max file size**: 5MB per creative/video
The creatives, headline and `productId` will be returned in the auction
request separately. You can render those elements the way it best fits your
needs in the frontend. Refer to the [Sponsored Brands
Auction](/en/knowledge-base/ad-platform/sponsored-brands/sponsored-brands-auction/)
section to learn more about auction requests and responses.
** **
Specify targeting and destination settings:
* **Targeting Configuration**: Set keywords, categories, and audience targeting
* **Destination URLs**: Choose where clicks should direct users (product pages, vendor pages, custom URLs)
* **Geographic Targeting**: Select from pre-configured locations to target specific regions, cities, or markets
* **Audience Segments**: Apply demographic or behavioral targeting
** **
### Geographic Targeting Details
Geographic targeting allows you to show your Sponsored Brands campaigns only to users in specific locations:
* **Location Selection**: Choose from locations configured by your marketplace administrator
* **Multiple Targeting**: Select multiple locations to reach broader geographic areas
* **Campaign Filtering**: Only users in targeted locations will see your campaigns during auctions
* **No Restrictions**: Leave geographic targeting empty to show campaigns to all users regardless of location
Geographic targeting options only appear if locations have been configured for your marketplace. Contact your administrator if geolocation options are not available.
Complete your campaign setup:
* **Campaign Name**: Provide a descriptive name for easy identification
* **Campaign Objective**: Choose your primary goal (brand awareness, clicks, conversions)
* **Campaign Duration**: Set start and end dates
* **Budget Settings**: Define daily or total campaign budgets
* **Bidding Strategy**: Select between [**BIDLESS™**](/en/knowledge-base/ad-platform/campaign-creation/bidding-types/), manual CPC, or CPM bidding
* **Budget Pacing**: Configure how budget should be distributed over campaign duration
** **
Review and launch your sponsored brands campaign:
* **Campaign Preview**: Review how your campaign will appear across different placements
* **Template Validation**: Ensure all required fields are completed correctly
* **Product Verification**: Confirm all selected products are active and destinations work
* **Creative Quality Check**: Verify uploads meet platform requirements
* **Deploy Campaign**: Launch and begin performance monitoring
## Best Practices
### Template Selection
* Choose **Product Collection** for showcasing product variety and driving category exploration
* Use **Product Highlight** for featuring a single product with compelling content that showcases product benefits
* Use **Store Spotlight** for brand building and directing traffic to your store
### Creative Quality
* Use high-resolution images and videos that showcase products clearly
* Ensure all creative elements align with your brand guidelines
* Keep headlines concise and focused on key value propositions
* Test different creative combinations to optimize performance
### Campaign Optimization
* Start with proven templates before customizing campaigns extensively
* Monitor which products drive the best results and adjust selection accordingly
* Regularly review campaign analytics and adjust targeting and bidding strategies
* Apply insights from successful campaigns to new campaign creation
Refer to the [Sponsored Brands Auction](/en/knowledge-base/ad-platform/sponsored-brands/sponsored-brands-auction/) section to learn more about how auction requests and responses work, and the [View Sponsored Brands Details](/en/knowledge-base/ad-platform/sponsored-brands/sponsored-brands-details/) section for campaign performance tracking.
You can check how your sponsored brands campaign is performing in the campaign
dashboard.
## Campaign Overview
The sponsored brands campaign details page provides a comprehensive view of
your campaign's performance and settings. When a campaign is newly created,
the dashboard shows the basic campaign information with minimal performance
data until the campaign begins generating impressions and clicks.
## Campaign Management Features
### Campaign Status Control
* **Campaign Toggle**: Use the green switch to quickly turn the entire campaign on or off
* **Budget Management**: Click the pencil icon to adjust campaign budget settings
* **Campaign Information**: View campaign name, template type, duration, and current status
### Creative Assets Overview
View all campaign creative components:
* **Brand Logo**: Display of uploaded brand logo
* **Campaign Headline**: Current headline text
* **Additional Creatives**: Videos or additional images used in the campaign
* **Template Type**: Shows which template the campaign uses (Product Collection, Store Spotlight, or Video)
### Product Management
* **Product Selection**: View all products (1-5) included in the campaign
* **Product Status**: Individual toggle switches to activate/deactivate specific products
* **Product Performance**: Individual product metrics when data becomes available
* **Product Links**: Destination URLs for each product in the campaign
## Performance Metrics
### Initial Campaign State
When a sponsored brands campaign is newly created, the dashboard displays:
* Campaign basic information and settings
* Creative asset preview
* Product list with active/inactive status
* Zero or minimal performance data until campaign gains traction
### Performance Data Development
As the campaign progresses, the following metrics become available:
* **Impressions**: Total number of times the sponsored brand ad was shown
* **Clicks**: Number of clicks on the sponsored brand creative or products
* **CTR (Click-Through Rate)**: Percentage of impressions that resulted in clicks
* **Spend**: Total campaign budget spent
* **CPM/CPC**: Cost metrics based on bidding strategy
* **Conversions**: Product purchases attributed to the campaign
If a product is set to active: "false" via API or product feed updates due to
lack of stock, it's automatically switched off in the campaign dashboard.
Refer to the [Catalog
Synchronization](/en/knowledge-base/ad-platform/catalog-management/catalog-synchronization/)
section for more information.
***
# Sponsored Brands Slot Configuration
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/sponsored-brands/sponsored-brands-slot-configuration
Configure sponsored brands ad slots and template assignments
Sponsored Brands slot configuration allows you to create and manage ad slots that determine where sponsored brands campaigns can be displayed. Unlike the previous single default slot, you now have the flexibility to create multiple slots with specific template assignments.
## Slot Configuration Overview
Sponsored brands slots define placement opportunities where campaigns can appear. Each slot can be configured with specific templates and targeting parameters to ensure campaigns display appropriately across your platform.
## Creating Sponsored Brands Slots
Navigate to the Ad Formats section in your admin dashboard and select Sponsored Brands slot management.
Configure the basic slot information:
* **Slot Name**: Descriptive name for easy identification
* **Slot ID**: Unique identifier used in auction requests
* **Template Assignment**: Select which template this slot will use:
* Product Collection
* Store Spotlight
* Video
Set up additional slot parameters:
* **Placement Rules**: Define where this slot can appear
* **Size Specifications**: Set dimensions and layout requirements
* **Targeting Options**: Configure audience and content targeting
* **Performance Goals**: Set optimization objectives for this slot
Link the slot to specific sponsored brands templates:
* **Template Restriction**: Campaigns using this slot must use the assigned template
* **Creative Requirements**: Template-specific asset requirements are enforced
* **Product Count Limits**: Template product limits (1-5) apply to campaigns in this slot
Review and activate your configured slot:
* **Validation**: Ensure all required fields are completed
* **Template Compatibility**: Verify template assignment works with placement requirements
* **Auction Integration**: Confirm slot ID is properly configured for auction requests
## Slot Management Features
### Multiple Slot Support
* **Flexible Placement**: Create multiple slots for different page locations or contexts
* **Template Specialization**: Assign specific templates to optimize for different placements
* **Performance Optimization**: Configure slots with different objectives and targeting
### Template Assignment Benefits
* **Consistent Experience**: Ensure specific placements always use appropriate templates
* **Creative Standards**: Maintain consistent creative quality across different slot types
* **Campaign Matching**: Automatically match campaigns to suitable slots based on template choice
### Advanced Configuration Options
* **Slot Priority**: Set priority levels for multiple slots in auction requests
* **Dynamic Assignment**: Allow flexible template usage when appropriate
* **Performance Tracking**: Monitor slot-specific performance metrics
Slot configuration changes may require coordination with your development team to update auction request implementations. Ensure proper slot IDs are used in placement requests to receive appropriate sponsored brands campaigns.
## Best Practices
### Slot Planning
* **Strategic Placement**: Create slots for high-visibility areas where sponsored brands perform best
* **Template Matching**: Assign templates that align with the placement context and user intent
* **Performance Monitoring**: Track slot performance to optimize template assignments
### Template Assignment Strategy
* **Product Collection Slots**: Best for category pages, search results, and product discovery areas
* **Store Spotlight Slots**: Ideal for homepage placements and brand-focused sections
* **Video Slots**: Optimize for mobile placements and content-rich environments
### Slot Optimization
* **Regular Review**: Monitor slot performance and adjust template assignments as needed
* **A/B Testing**: Test different template assignments to optimize slot performance
* **Campaign Feedback**: Use campaign performance data to improve slot configuration
## Integration with Auctions
Configured slots integrate directly with the sponsored brands auction system:
* **Placement Requests**: Use slot IDs in auction requests to target specific placements
* **Template Filtering**: Auction responses only include campaigns compatible with slot templates
* **Performance Attribution**: Track results back to specific slot configurations for optimization
Refer to the [Sponsored Brands Auction](/en/knowledge-base/ad-platform/sponsored-brands/sponsored-brands-auction/) section for details on using slot IDs in auction requests.
***
# Create Topsort Prompts Campaign
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/sponsored-prompts/create-sponsored-prompts-campaign
Configure and launch Topsort Prompt campaigns in Topsort UI and connect them to your chatbot.
## Before You Start
* Conversational Prompts is enabled in `Ad Formats > Prompts`
* Your chatbot agent is connected to Topsort Prompts MCP
* Catalog products are available and campaign-eligible
## Campaign Creation Flow
### 1. Open Topsort Prompts
Go to **Ad Platform** > **Topsort Prompts**, then select **Create campaign**.
### 2. Set Campaign Basics
* Campaign name
* Start and end dates
### 3. Define Prompt Targeting
Add the prompts or intents you want to sponsor. Focus on shopper-language prompts that represent clear buying intent.
Examples:
* "sports watch"
* "running watch under 60"
* "gift ideas for coffee lovers"
Matching is semantic, so prompt variations can still be eligible.
Tips for effective prompts:
* Use variations (e.g., "running shoes", "jogging sneakers", "athletic footwear")
* Be specific to reduce false matches
* Include brand terms if targeting brand searches
### 4. Select Products
Choose the products to return when a prompt match occurs. Confirm products are included in active sponsored listings campaigns (currently a requirement).
### 5. Review and Launch
Confirm settings and launch. Once active, chatbot prompts are checked against campaign intent in real time.
## What Happens at Runtime
When a marketplace connects its chatbot to Topsort's Topsort Prompt server and a shopper submits a prompt:
1. Topsort evaluates semantic prompt intent against active campaigns
2. If the user query matches a sponsored prompt, sponsored tiles are returned first and then organic tiles
3. If there is no sponsored match, Topsort returns organic product recommendations
# Overview
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/sponsored-prompts/index
Monetize chatbot discovery with blended sponsored and organic product recommendations.
**Topsort Prompts** is an ad format that helps marketplaces monetize chatbot conversations by adding sponsored product tiles to chatbot responses.
Marketplace chatbots are now a major product discovery surface. Shoppers use them for high-intent questions like gift ideas, replacements, and product comparisons. Topsort Prompts turns those moments into auction-eligible inventory while keeping recommendations useful and relevant.
## Why It Matters
* Monetizes chatbot discovery
* Preserves shopper trust with blended sponsored and organic recommendations
* Captures intent semantically, not only through strict keyword overlap
* Uses existing sponsored listings setup and operations
## What Topsort Prompts Does
When a shopper asks a product question in a chatbot connected to Topsort MCP, Topsort evaluates the prompt against active campaigns using semantic matching.
When a marketplace connects its chatbot to Topsort's Topsort Prompt server, Topsort returns products when users query for them. If the user query matches eligible sponsored products, sponsored tiles are returned first. Otherwise, Topsort returns organic recommendations.
This creates value for all sides:
* Shoppers get useful recommendations
* Advertisers reach high-intent users
* Marketplaces monetize conversational discovery
## How It Works
1. Marketplace enables Conversational Prompts in Topsort UI
2. Marketplace creates Topsort Prompt campaigns with prompts, products, targeting, and timing
3. Chatbot sends shopper prompts through Topsort MCP
4. Topsort semantically matches prompt intent to active campaigns
5. If a query matches eligible sponsored products, Topsort returns sponsored tiles first and then organic tiles; otherwise, it returns organic recommendations
### Semantic Matching Example
A campaign targeting `sports watch` can match prompts like:
* "Help me find a watch for running"
* "I need a fitness watch under 60"
* "Can you recommend a workout watch?"
### Where Are Metrics Reported?
Dedicated Topsort Prompts UI reporting is on the roadmap. In the meantime, teams can request ad hoc reporting or use their data room exports.
## Availability
Topsort Prompts is available now for all Topsort customers.
For setup and API integration details, see [Setup and Integration](/en/knowledge-base/ad-platform/sponsored-prompts/setup-and-integration).
For setup steps, see [Create Topsort Prompts Campaign](/en/knowledge-base/ad-platform/sponsored-prompts/create-sponsored-prompts-campaign).
# Setup and Integration
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/sponsored-prompts/setup-and-integration
Set up Topsort Prompts and integrate with Agent API or MCP.
## Integration Options
Use either of the following:
* **Agent API**: best for chat interfaces and multi-turn conversational search
* **MCP Server**: best for custom integrations and direct tool access
## Option 1: Agent API
The Agent API provides a conversational search experience with memory across sessions.
### Endpoint
```text theme={null}
POST /topsort_prompts/chat
```
### Headers
```http theme={null}
X-API-Key: YOUR_API_KEY
Content-Type: application/json
```
### Request Example
```json theme={null}
{
"query": "I need running shoes under $150",
"session_id": "user-session-123",
"max_results": 10,
"max_sponsored": 3,
"streaming": false
}
```
Key fields:
* `query` (required): natural language query
* `session_id` (optional): conversation continuity
* `user_id` (optional): user identifier
* `max_results` (optional, default `5`): total products
* `max_sponsored` (optional, default `2`): sponsored products
* `streaming` (optional, default `false`): NDJSON streaming mode
### Response Example
```json theme={null}
{
"text": "I found some great running shoes for you!",
"session_id": "user-session-123",
"data": {
"products": [
{
"id": "prod-123",
"name": "Nike Air Zoom Pegasus 40",
"price": 129.99,
"is_sponsored": true,
"resolvedBidId": "bid-456"
},
{
"id": "prod-456",
"name": "Adidas Ultraboost 22",
"price": 139.99,
"is_sponsored": false
}
],
"summary": {
"total_results": 10,
"sponsored_results": 1,
"organic_results": 9
}
}
}
```
### Streaming Mode
Set `streaming: true` to receive NDJSON events:
```jsonl theme={null}
{"event":"start","session_id":"user-session-123"}
{"event":"text_chunk","content":"I found some "}
{"event":"text_chunk","content":"great running shoes!"}
{"event":"done","session_id":"user-session-123","data":{}}
```
### Multi-turn Sessions
Reuse the same `session_id` for follow-up queries to preserve context.
## Option 2: MCP Server
If you are building your own agent, connect directly to the MCP server and call `search_products`.
### Connection
```text theme={null}
URL: https://mcp-server.api.topsort.ai/mcp
Transport: Streamable HTTP
```
```http theme={null}
X-API-Key: YOUR_API_KEY
```
### Tool: search\_products
Main parameters:
* `query` (required): natural language query
* `marketplace_id` (optional): marketplace UUID
* `max_results` (optional, default `5`)
* `max_sponsored` (optional, default `2`)
* `price_filtering` (optional, default `false`)
* `min_price` and `max_price` (optional, if filtering enabled)
Example call payload:
```json theme={null}
{
"query": "running shoes under $150",
"max_results": 10,
"max_sponsored": 3
}
```
## Product Response Fields
* `id`: product identifier
* `name`: product name
* `brand`: brand name
* `price`: numeric price
* `currency`: currency code (for example `USD`)
* `categories`: category list
* `image_url`: product image URL
* `similarity_score`: semantic relevance score
* `rank`: result position
* `is_sponsored`: sponsored flag
* `description`: product description
* `availability`: stock status
* `resolvedBidId`: sponsored bid ID for attribution
## Best Practices
### Sponsored Products
* Treat `is_sponsored: true` as paid placement
* Track `resolvedBidId` for attribution and analytics
* Clearly label sponsored placements in UI
### Session Management
* Generate a unique `session_id` per conversation
* Reuse session IDs across follow-up turns
* Start a new session for a new conversation
### Error Handling
* Use generous timeouts (`60`-`180` seconds) for complex queries
* Retry transient `5xx` errors with exponential backoff
* In streaming mode, handle error events gracefully
## Health Check
```bash theme={null}
curl https://your-api.example.com/catalog/health
```
```json theme={null}
{"status":"healthy","service":"catalog-agent-api"}
```
# Email Composer
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/tomi/email-composer
Generate marketplace emails from a prompt using live campaign and vendor data
**Tomi Email Composer** helps marketplace admins generate emails from a
prompt. The composer is connected to Topsort's APIs, so it can use your
marketplace data (such as campaign metrics and vendor performance) to draft
relevant, data-backed messages.
After Tomi generates a draft, you can choose from three tone variations,
refine the copy, and send the email through your default email client. Work
is saved automatically as a draft if you navigate away at any time.
## Key Benefits
Describe the email you need instead of writing it from scratch. Tomi drafts
subject and body content for you to review and edit.
Because the composer uses Topsort APIs, emails can reference live campaign
metrics, vendor performance, and other marketplace signals relevant to your
prompt.
Click **Send mail** to open your default email client with the subject and
body pre-filled. You send from your own mailbox.
## Getting Started
### Access
Tomi Email Composer is available in the **Marketplace Admin** sidebar under
**Email Composer** for marketplaces that have Tomi enabled. Topsort activates it
automatically; no separate setup is required.
### Prerequisites
* Marketplace Admin access
* Tomi enabled for your marketplace
## How It Works
Open **Email Composer** and enter a prompt describing the email you want to
write. You can tag vendors or campaigns in your prompt to scope the draft
to specific marketplace data.
Tomi generates a draft with a subject line and body.
Click **Send mail** to open your default email client with the subject and
body filled in.
Drafts are saved automatically. If you leave the composer and return later,
your work is preserved. Use **Save draft** after manual edits to persist
changes to subject, body, or the selected tone.
## Use Cases
### Vendor performance summary
*"Draft an email to @\[vendor name] summarizing their ad performance over the
last 90 days, highlighting top campaigns and suggesting ways to increase
spend."*
### Internal ad ops update
*"Draft an email for our ad ops team summarizing marketplace performance for
the last 30 days, including spend, ROAS, and top vendors."*
### Marketplace-wide optimization tips
*"Draft an email to all vendors sharing three common optimization opportunities
we have seen across recent campaigns, such as budget pacing and underperforming
placements."*
## Draft Management
* **Drafts list** — view, reopen, and delete saved email drafts
* **New draft** — start a fresh email from the composer home screen
* **Copy** — copy the active tone's body to your clipboard
* **Delete** — permanently remove a draft you no longer need
***
# Tomi for External Platforms
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/tomi/external-platforms
Tomi can be connected to external ad platforms, so retail media teams can use
our AI agent to analyze campaign performance, investigate trends, and surface
optimization opportunities from data outside of Topsort.
## What can Tomi help with?
When connected to an external ad platform, Tomi can help teams analyze and
monitor campaign performance using natural language.
Example workflows include:
* Investigating why a vendor, campaign, SKU, or category changed performance
* Summarizing vendor performance for internal reviews or vendor check-ins
* Flagging anomalies in spend, clicks, sales, ROAS, CTR, CPC, or conversion rate
* Surfacing optimization opportunities across campaigns and vendors
See our documentation on [Tomi Agent](/en/knowledge-base/ad-platform/tomi)
and [Tomi Insights](/en/knowledge-base/ad-platform/reporting-and-analytics/insights-tab)
to see what Tomi can do. The exact capabilities depend on the data available
from the external platform and the access model used for the integration.
## Why use Tomi instead of exporting data into Claude or ChatGPT?
Exporting reports into a general-purpose LLM can work well for simple and
infrequent analysis. Tomi is designed for repeatable, governed retail media workflows.
### Less manual reporting work
Many ad ops questions require more than one report export. For example, a user
may start by analyzing campaign performance, then realize they need keyword,
SKU, category, vendor, or budget pacing data that was not included in the
original export.
With a connected integration, Tomi can query the relevant data immediately
instead of requiring users to repeatedly export, reformat, and upload files.
### Built for recurring retail media workflows
Tomi can support workflows that are difficult to manage through ad hoc file uploads, such as:
* Proactively flagging anomalies in marketplace or campaign data and letting users investigate those anomalies through follow-up questions
* Generating opportunities to improve marketplace performance
* Providing prebuilt prompt templates for campaign pacing, vendor performance, SKU trends, budget waste, and optimization opportunities
### More secure and controlled
Using Tomi can reduce the need for users to download raw CSV files onto local
machines or upload sensitive reporting data into general-purpose tools.
Tomi can also support permissioned access, including restricting users to the
vendors, accounts, or datasets they are allowed to view.
## What access is required?
Topsort needs read-only access to either a sandbox account or a production
account.
Tomi does not require write access for analysis workflows, so it does not need
permission to change live campaigns, budgets, bids, creatives, or account
settings.
Topsort will work with your team to confirm the required data fields, access
model, and security requirements before connecting to any external platform.
Access can be scoped to the reporting data needed for the pilot, such as
campaign, vendor, product, spend, click, impression, sales, and ROAS data.
Topsort is SOC 2 Type 2 compliant and follows GDPR-aligned data protection
practices.
## What is the timeline to integrate?
If Topsort has already connected to the platform, setup can be completed in
minutes after access is provided. If the platform is new to Topsort, we may
need to build a connector first, which will take a few weeks.
***
# Tomi Agent
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/tomi/index
Topsort's AI agent for retail media ad operations
**Tomi** is Topsort's AI agent for retail media ad operations. It lets retail admins
**analyze and manage ad campaigns using natural language**.
Tomi is available in the sidebar of the **Marketplace Admin view** and
supports any language.
## The Problem Tomi Solves
As retail media programs grow, ad ops teams are expected to support more
advertisers, more campaigns, and more reporting requests without proportional
headcount growth.
Teams often spend hours pulling reports, comparing performance across time
periods, checking pacing, diagnosing ROAS changes, identifying underperforming
products or keywords, and preparing vendor-facing explanations. Tomi helps turn
that manual investigation work into a conversational workflow.
Tomi can also reduce campaign management overhead by helping users create,
update, pause, and resume campaigns through natural language.
## What Tomi Does
Tomi turns retail media operations into a conversational workflow. Ask questions
in plain language to investigate performance changes, flag anomalies, and surface
optimization opportunities across your marketplace data. When write actions are
enabled, Tomi can also draft campaign changes.
Identify best-performing products, understand category trends, and analyze
purchase behavior.
Create, view, update, pause, and resume Sponsored Listings campaigns through
natural language.
View AI-generated insights that highlight anomalous trends in key marketplace
metrics and debug with Tomi. [Learn more](/en/knowledge-base/ad-platform/reporting-and-analytics/insights-tab#insights-tab)
Target loyal or high-value customer segments, exclude recent purchasers, or
boost specific audiences.
## Key Benefits
Tomi helps identify which vendors, campaigns, SKUs, keywords, categories, or
placements are driving performance changes, so teams can focus on the areas
that need attention first.
Teams can investigate performance, summarize trends, and prepare vendor
updates without repeatedly pulling, joining, and reformatting reports.
Tomi can suggest next steps such as reviewing pacing, reallocating budget,
pausing inefficient spend, checking tracking issues, or preparing a
seller-facing explanation.
Teams can create, update, and optimize campaigns across more vendors through
a single conversational interface, without rebuilding from scratch each time.
For any write operations, users review and approve before anything goes live.
Nothing launches without human sign-off.
## Getting Started
### Prerequisites
* Marketplace Admin access
* At least one active vendor with products in the catalog
* Tomi enabled for your marketplace (contact your Topsort account team if you
don't see it in your sidebar)
### Accessing Tomi
Tomi is available directly within the **Marketplace Admin view**. Look for
the Tomi entry in the sidebar to open the chat interface. No separate login or
configuration is required.
## Use Cases
### Analytics
#### Diagnose underperforming campaigns
Prompt: *"Find the campaigns where performance looks bad at the campaign level for vendor X, then drill down into SKU and keyword to identify the likely cause."*
Tomi surfaces results across campaigns, SKUs, and keywords.
Prompt: *"Also dig into category and placement level data to see if that's where the issue is."*
Tomi shows additional results, revealing where the underlying issue is.
#### Investigate what changed for a seller
Prompt: *"What materially changed for seller X over the last 7 days that explains the change in sales or ROAS?"*
Tomi compares recent performance against prior periods and highlights the most important changes across many metrics.
Prompt: *"Which campaigns, SKUs, categories, or keywords contributed most to the change?"*
Tomi breaks down the results to show where the change is concentrated.
Prompt: *"Summarize the likely cause and what the ad ops team should do next."*
Tomi turns the analysis into a clear root cause hypothesis and a list of recommended actions, such as reviewing pacing, reallocating budget, pausing inefficient spend, checking tracking issues, or preparing a seller-facing explanation.
### Creating Campaigns
#### Create a campaign from top-performing SKUs in a category
Prompt: *"What are the top 10 performing SKUs in the gear category?"*
Tomi will return a list of products ranked by performance.
Prompt: *"Create a campaign for these products with a \$10k budget running
for the next two weeks."*
Tomi will ask where the ads should appear: specific keywords, product
categories, competitor product pages, or everywhere (always-on).
Tomi presents the proposed campaign configuration. Review and confirm to
launch.
If the selected SKUs span multiple vendors, Tomi will suggest creating a
separate campaign per vendor and confirm before proceeding.
#### Create a campaign with forecast validation
Prompt: *"Forecast performance for a campaign promoting our top home
appliance SKUs for \[vendor name] with a \$10k budget over the next 30
days."*
Tomi will return projected metrics including estimated ROAS, impressions,
and spend.
Prompt: *"Create the campaign if projected ROAS is above 4."*
If the forecast meets the threshold, Tomi will proceed to campaign creation.
If not, it will report back with the projected performance and wait for
further instruction.
### Managing Existing Campaigns
#### Pause underperforming campaigns
Prompt: *"What are my four most underperforming campaigns?"*
Tomi will rank campaigns by performance and return the weakest ones.
Prompt: *"Pause those campaigns."*
Tomi will confirm before making any changes.
***
# Ads for Vendors
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/vendor-management/ads-for-vendors
Creating ads for vendors
Vendors are the entities that promote the catalog items, serving as advertisers for your ad setup. Typically, they sell products or services within the marketplace, and with Topsort, they can effectively promote their products and brand to increase sales.
If the self-service is not enabled, you (as a marketplace admin) can create and manage ads for your vendors. This guide provides an overview of the basics of this process.
## Vendor View
You can access a vendor's detailed view by clicking on their name or logo in the main dashboard.
In the vendor view, you have access to all metrics, campaigns, financials and activity logs of the vendor.
The **Balance breakdown** tile provides an overview of the vendor's account balance. It includes:
* Account balance, being the sum of the balance of all wallets.
* Target spend, being the estimated daily budget that will be spent.
* The number of days remaining before a top-up is needed.
The top-ups can be done separately by wallet, in the wallets dialogue. Please visit the [Vendor Wallets](/en/knowledge-base/ad-platform/vendor-management/vendor-wallets/) documentation for more details.
The **Recent activity** log serves as a historical record of the vendor's activities. It includes different events, such as:
* Credit issued or burned
* Campaign created or deactivated
* Campaign changed
The Trends section shows real-time insights into the vendor's performance. Key metrics displayed include:
* Total Ad Spend
* Impressions
* Auctions Won
* CTR (Click-through Rate)
* ROAS (Return on Ad Spend)
* Clicks
* Promoted Sales
* CPC (Cost per Click)
## Campaign Management
From the vendor's specific page (Vendor View), you can create new campaigns on their behalf. At the bottom of the vendor's view, you have a list of all campaigns related to that vendor. This list includes campaign information, such as:
| Term | Definition |
| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Daily Budget | The maximum set amount that the vendor is willing to pay in a given day. Their budget will be paced (averaged) throughout the day. If the budget is spent, the vendor will not be considered for auctions until the following day. |
| Total Sales | The vendor's total sales revenue of products attributed to Topsort ads. |
| ROAS | The return on ad spend: how much revenue their ads generated per dollar spent on ads. For example, if you spend \$50 on ads and that generates \$2500 in sales, your ROAS is 50x. |
| Status | The indicator for which campaigns the vendors has active or inactive, shown green and grey respectively. You, the marketplace admin, can also turn campaigns on/off here. |
Click on any of these campaigns to get more detailed insights on that campaign’s performance.
***
# Customize Invites
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/vendor-management/customize-invites
Topsort's [Invitation
API](/en/api-reference/invitation-api/\[beta]-invite-vendors) grants full
control over your vendor onboarding, enabling customized invitation emails and
a seamless signup experience for your marketplace. This tool allows you to
manage the entire vendor invitation and registration process.
## How It Works
Invitations will expire after 30 days
***
# Vendor Creation
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/vendor-management/index
At Topsort, the vendor is your advertiser. If you operate a marketplace, this
means the vendor is the entity selling products on your platform. Vendors are
linked to your product catalog, and you can grant members access to their
analytics or self-service features. New vendors are automatically created when
you sync your catalog with Topsort.
Topsort also allows the creation of vendors using the user interface,
providing full parity with our existing [Catalog
API](/en/ad-server/catalog/). This feature addresses
customer requests for a simpler way to create first-party vendors, enabling
them to run campaigns and test the platform faster.
## How It Works
There is a simple form to create and bulk upload vendors. Every vendor has a
**name**, an **ID**, and an **optional picture**.
Once a vendor is created, its ID cannot be changed.
## Bulk Upload
A bulk upload tool is available, allowing up to 100 vendors to be created at once. If needed, a sample file can be downloaded.
To assign products from the catalog to a vendor, refer to our [**Ad Server - Catalog**](/en/ad-server/catalog/) documentation.
***
# Permission Levels
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/vendor-management/permission-levels
You can manage the vendor's type of access directly on the Vendor View. Every
member invited to a vendor will have the same permission. Topsort allows two
main ways for your vendors to interact with the platform:
* **Full access**: the invited members of the vendor can create and edit campaigns.
* **Analytics**: the invited member of the vendor can only see campaign performance metrics.
Check the [Self-Service](/en/knowledge-base/ad-platform/self-service-and-access/) section of this documentation for more details.
***
# Audiences per Vendor
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/vendor-management/vendor-scoped-audiences
Restrict audience segment visibility and activation to specific vendors
By default, audience segments in Topsort are global — they are visible and usable by all vendors on the marketplace. With vendor-scoped segments, retailers can restrict specific segments to only the vendors they choose, enabling tiered commercial models and preventing unauthorized access to sensitive or premium audiences.
**Managed by Topsort.** Vendor-scoped segments are configured by the Topsort team on your behalf. To enable this for your marketplace, share your segment-to-vendor mapping with your account team. A self-service API is planned for a future release.
## Segment Scoping
Segment scope is determined by vendor associations:
* **Global segment**: no vendors associated → visible to all vendors (default behavior)
* **Vendor-scoped segment**: associated with one or more vendors → only visible and usable by those vendors
A segment becomes global again if all vendor associations are removed. There is no explicit "global" flag — the absence of associations defines global scope.
## How Segments Are Filtered
When a vendor queries available segments or selects targeting for a campaign, the platform returns only the segments they are authorized to use:
| Context | Segments returned |
| ------------------- | ------------------------------------------------------ |
| No vendor context | All marketplace segments |
| With vendor context | Global segments + segments associated with that vendor |
Segments scoped to other vendors are never surfaced or returned.
## Activation Validation
Before a vendor can activate a segment in a campaign, the platform validates access:
* The segment is global, **or**
* The segment is explicitly associated with that vendor
If neither condition is met, activation is blocked at the service level. This enforcement applies to both campaign creation and campaign editing.
## Behavior After Vendor Removal
When a vendor association is removed from a segment:
* The segment immediately disappears from the vendor's available audiences
* The vendor cannot select the segment in new or edited campaigns
* **Existing campaigns** that already reference the segment continue to run unchanged — live delivery is not interrupted
## Backward Compatibility
* All existing segments are global by default — no data migration required
* Existing clients and integrations are unaffected
* Vendor scoping only takes effect when associations are explicitly configured
## Use Cases
**Premium audience protection**: A retailer has a high-value loyalty segment built for a specific brand partnership. With vendor scoping, only that brand's vendor account can see and activate the segment.
**Tiered commercial models**: Retailers can offer different tiers of audience access — standard segments available to all vendors, and premium segments gated to partners on elevated plans.
**Regulatory or contractual restrictions**: Certain audience lists may be subject to data sharing agreements limiting which vendors can use them. Vendor scoping enforces these restrictions at the platform level.
## Getting Started
To enable vendor-scoped segments for your marketplace, contact your Topsort account team with:
1. The segment IDs you want to scope
2. The vendor IDs that should have access to each segment
Topsort will configure the associations in your environment. Changes take effect immediately once applied.
## Related
* [Audience Segments Overview](/en/knowledge-base/ad-platform/campaign-targeting/segments/)
* [Segment Management](/en/knowledge-base/ad-platform/campaign-targeting/segments/management)
* [Vendor Management](/en/knowledge-base/ad-platform/vendor-management/)
***
# Vendor Wallets
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/vendor-management/vendor-wallets
Wallets give admin and vendors a better control over their advertising
budgets, enabling funds to be divided into different wallets. Each campaign
can only spend from its assigned wallet, but multiple campaigns can be linked
to the same wallet. This prevents overspending or unintentional use of funds.
Marketplace admins can configure and manage wallets for each vendor, and both
can create campaigns using the available wallets.
## How It Works
Wallets can be found on the main dashboard and within each vendor’s view, in the marketplace dashboard. The wallets dialogue allows marketplace admins to create, top-up and transfer balances as needed.
* Admins can create a wallet for a vendor
* Admins can add credit to each wallet independently.
* Admins can also transfer funds between wallets.
* During campaign creation, vendors and admins can select a specific wallet to fund that campaign. The wallet option appears only when the advertiser has more than one wallet.
* Once a wallet is assigned to a campaign, it can’t be changed to preserve budget integrity.
## Frequently Asked Questions
1. **Can I delete a wallet?**
* No. Wallets cannot be deleted in order to maintain a durable record of all financial transactions. To delete your wallet, you must contact your Topsort admin.
2. **What happens when a wallet is assigned to a vendor?**
* When a wallet is assigned to a vendor, both admins and vendors have the ability to create campaigns using the assigned wallet. Vendors can view their wallet balances in their dashboard but cannot transfer funds between wallets.
3. **Can a campaign be funded by multiple wallets?**
* No. Each campaign must be linked to a single wallet.
4. **What if a wallet's balance is too low to continue a campaign?**
* If a wallet's balance is insufficient to fund an ongoing campaign, you must top up or transfer the required funds into that wallet, preventing overspending.
5. **Can I use a wallet if my marketplace has self-service payments (via Stripe)?**
* No. Wallets are not available for marketplaces that use self-service payments.
6. **What happens if a wallet runs out of balance in the middle of a campaign?**
* If a wallet's balance is depleted mid-campaign, all campaigns funded by that wallet will automatically pause.
7. **Are wallets available for all versions of Topsort's public API?**
* No. Wallets are only available to marketplaces that use version 2 of Topsort's public API, which are sending events with the resolvedBidID of the auction.
8. **Where can I find more information about the public API for wallets?**
* You can find detailed documentation about the Topsort public API, including wallet functionality, at [/en/api-reference/introduction](/en/api-reference/introduction).
***
# Creating Video Ads
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/video-ads/index
Video ads are a new format designed to enhance the advertiser’s brand and product experience.
## How It Works
The campaign creation process is similar to that of [banner ads](/en/knowledge-base/ad-platform/banners/banner-ads-campaigns/):
Videos uploaded by vendors require approval from the marketplace admin.
## Video Requirements
* **Duration**: 6 to 20 seconds (shorter than 20s recommended)
* **Formats**: MP4 or MOV
* **Max size**: 200MB
## Auction Flow
During an auction request, marketplaces must send the slot ID and may include contextual information (e.g., category, keywords). The auction response will return the video URL for rendering.
### Sample Auction Response
```json theme={null}
{
"resultType": "banners",
"winners": [
{
"rank": 1,
"asset": [
{
"url": "https://customer-axfyyvfgsfxowp1c.cloudflarestream.com/6541f123389a4796889166a2b9491f09/manifest/video.m3u8"
}
],
"type": "vendor",
"id": "972776",
"resolvedBidId": "ChAGjBuGm-lyS6oE7YQebGh-EhABmTSoITB38Z2Nmqd_rVLpGhABmTLlo1V1wJNc17VoVGUKIgoKBjk3Mjc3NhADMJTpbDoBAUAFSAJQx7rhpZMz",
"vendorId": "972776",
"campaignId": "019934a8-2130-77f1-9d8d-9aa77fad52e9"
}
],
"error": false
}
```
The response includes an HLS manifest URL (`.m3u8`) that can be rendered using any HLS-compatible video player.
## Video Integration Options
### Use Your Own Video Player
Topsort's video ads are compatible with all players that support **HLS** and **DASH** formats. Below are implementation examples for each platform.
#### Web Implementation
```html theme={null}
```
#### iOS Implementation (Swift)
```swift theme={null}
import AVKit
import UIKit
class VideoAdView: UIView {
private var player: AVPlayer?
private var playerLayer: AVPlayerLayer?
func loadVideo(url: String, resolvedBidId: String) {
guard let videoURL = URL(string: url) else { return }
// Setup player
player = AVPlayer(url: videoURL)
playerLayer = AVPlayerLayer(player: player)
playerLayer?.frame = bounds
playerLayer?.videoGravity = .resizeAspectFill
layer.addSublayer(playerLayer!)
// Configure for autoplay
player?.isMuted = true
player?.play()
// Loop video
NotificationCenter.default.addObserver(
self,
selector: #selector(playerDidFinishPlaying),
name: .AVPlayerItemDidPlayToEndTime,
object: player?.currentItem
)
// Add tap gesture for clicks
let tap = UITapGestureRecognizer(target: self, action: #selector(handleTap))
addGestureRecognizer(tap)
}
@objc private func playerDidFinishPlaying() {
player?.seek(to: .zero)
player?.play()
}
@objc private func handleTap() {
// Report click event via Topsort SDK
}
}
```
#### Android Implementation (Kotlin)
```kotlin theme={null}
import com.google.android.exoplayer2.ExoPlayer
import com.google.android.exoplayer2.MediaItem
import com.google.android.exoplayer2.Player
class VideoAdView(context: Context) : PlayerView(context) {
private var exoPlayer: ExoPlayer? = null
fun loadVideo(url: String, resolvedBidId: String) {
exoPlayer = ExoPlayer.Builder(context).build().apply {
setMediaItem(MediaItem.fromUri(url))
repeatMode = Player.REPEAT_MODE_ONE // Loop
volume = 0f // Muted for autoplay
prepare()
play()
}
player = exoPlayer
useController = false // Hide controls
// Handle clicks
setOnClickListener {
// Report click via Topsort SDK
}
}
}
```
For detailed player documentation, see:
* [Web Player Guide](https://developers.cloudflare.com/stream/viewing-videos/using-own-player/web/)
* [iOS AVPlayer Guide](https://developers.cloudflare.com/stream/viewing-videos/using-own-player/ios/)
* [Android ExoPlayer Guide](https://developers.cloudflare.com/stream/viewing-videos/using-own-player/android/)
## Reporting and Metrics
Topsort tracks video impressions and clicks using [banners.js](http://localhost:4321/ad-platform/banners/bannersjs/).
### Impression Tracking
* **Viewable Impression (IAB/MRC Standard)**: 50% of pixels in view for 2+ consecutive seconds
* **Engagement Impression**: Video watched for at least 5 seconds
* Use the `resolvedBidId` from the auction response when reporting events
### Attribution and Billing Standards
Per IAB/MRC Retail Media Measurement Guidelines, Topsort uses **Viewable Impressions** (IAB/MRC Standard) for:
* **Attribution of outcomes**: Only impressions meeting MRC viewability standards (50% pixels visible for 2+ seconds) are eligible for attribution
* **Campaign billing**: Advertisers are charged based on viewable impressions
* **Performance reporting**: Primary metrics and ROAS calculations based on viewable impressions
**Note**: Engagement impressions (5+ seconds watched) are available as an additional engagement metric but are NOT used for attribution or billing purposes.
### Click Tracking
* Report click events when users interact with the video
* Include the `resolvedBidId` to properly attribute the click
* Navigate to the appropriate vendor/product page after reporting
### Important Considerations
* **Autoplay Requirements**: Videos must be muted to autoplay on most browsers
* **Loop Playback**: Videos should loop continuously while in view
* **Mobile Optimization**: Use `playsinline` attribute to prevent fullscreen on iOS
* **Performance**: Consider lazy loading for videos below the fold
Marketplaces can also configure custom impressions and clicks reporting logic as needed.
## Frequently Asked Questions
1. **What are the recommended upload settings for video uploads?**
* MP4 containers, AAC audio codec, H264 video codec, 30 or below frames per second
* moov atom should be at the front of the file (Fast Start)
* H264 progressive scan (no interlacing)
* H264 high profile
* Closed GOP
* Content should be encoded and uploaded in the same frame rate it was recorded
* Mono or Stereo audio (Stream will mix audio tracks with more than 2 channels down to stereo)
2. **What browsers does Stream work on?**
* You can embed the Stream player on the following platforms:
Browser
Version
Chrome
Supported since Chrome version 88+
Firefox
Supported since Firefox version 87+
Edge
Supported since Edge 89+
Safari
Supported since Safari version 14+
Opera
Supported since Opera version 75+
Mobile Platform
Version
Chrome on Android
Supported on Chrome 90
UC Browser on Android
Supported on version 12.12+
Samsung Internet
Supported on 13+
Safari on iOS
Supported on iOS 13.4+. Speed selector supported when not in fullscreen.
***
# Webhook Event and Payloads
Source: https://docs.topsort.com/en/knowledge-base/ad-platform/webhooks/event-payloads
Below is an example of a webhook event response for a campaign update. Common fields for all events are:
* `channel`: The type of the event that occurred
* `timestamp`: When the event occurred
* `id`: Unique id for the event which can be used for deduplication
* `payload`: The payload contains the details of the event and will vary depending on the event, which is covered in detail below
Triggered when a campaign is created. To see the full specification of the payload, see the [Campaign Create](/en/api-reference/campaign-api/create-campaign) API response.
Triggered when a campaign is updated. To see the full specification of the payload, see the [**Campaign Update by ID**](/en/api-reference/campaign-api/update-campaign-by-id) API response.
Webhooks provide real-time notifications for events, such as campaign creation, updates, or deletions. To receive these notifications, you must specify a publicly accessible URL capable of receiving HTTP POST requests.
## How It Works
When an event occurs, an HTTP POST request containing event details is sent to your specified URL. Your URL must return a 2xx HTTP status code for successful requests.
Webhooks are created via the Create Webhook API, where you define the triggering event using the channel field. Only one webhook is allowed per channel.
### Retries and Validation
If your webhook URL is unreachable, we will retry sending the request up to 5 times within 1 minute, using exponential backoff. Retries occur only for 5xx or 429 HTTP status codes.
To ensure the authenticity and integrity of webhook deliveries, you should validate the signature. Topsort generates a signature using your webhook secret and the event payload, including it in the X-TS-Signature-256 HTTP header.
You can set your webhook secret during creation; otherwise, one will be generated. Store your secret securely.
Topsort uses HMAC hex digest (starting with sha256=) to compute the signature. You must recompute the hash on your server and compare it to the X-TS-Signature-256 header to verify the signature.
### Example Signature Verification
```python theme={null}
import hmac
import hashlib
secret = "my-webhook-secret"
request = ... # incoming request from the webhook delivery
signature = hmac.new(
key=secret.encode(),
msg=await request.body(),
digestmod=hashlib.sha256,
).hexdigest()
expected_signature = "sha256=" + signature
incoming_signature = request.headers["X-TS-Signature-256"]
if not hmac.compare_digest(incoming_signature, expected_signature):
# The signature is not valid, do not process the delivery
else:
# The signature is valid, process the delivery
```
***
# Overview
Source: https://docs.topsort.com/en/knowledge-base/ad-server/attribution/index
Topsort offers transparent and targeted advertising with reliable metrics, powered by our advanced Ad-Purchase Attribution system, which accurately links purchases to customer interactions with ads.
## Ad-Purchase Attribution System
This system links purchases to ad interactions, optimizing campaigns for advertisers, and creating a feedback loop for our **BIDLESS™** algorithm. The link between ads and purchase is based on the user ID sent with the tracked event (click or purchase) and the purchase.
### Viewability Requirements for Attribution
Per IAB/MRC Retail Media Measurement Guidelines, only **viewable impressions** are eligible for attribution:
* **Display Ads (Banners)**: 50% of pixels visible for 1+ continuous second
* **Video Ads**: 50% of pixels visible for 2+ continuous seconds
* **Large Display Ads (242,500+ pixels)**: 30% of pixels visible for 1+ continuous second
Non-viewable impressions are excluded from attribution calculations, ensuring outcomes are only credited to ads that had a genuine opportunity to influence consumer behavior.
## Flexible Attribution by Ad Format
Our APIs let marketplaces customize attribution models at the ad format level, recognizing that different formats serve different purposes in the customer journey:
* **Sponsored Listings**: Typically drive immediate purchase decisions (bottom-funnel)
* **Sponsored Brands**: Influence consideration and brand awareness (mid-funnel)
* **Banner/Native/Video Ads**: Build awareness and discovery (top-funnel)
Each format can have its own:
* **Attribution Model**: Last-click or last-impression
* **Attribution Window**: 1-30 days
This granular control ensures accurate measurement of each format's true contribution to conversions.
### Example Configuration
| Ad Format | Attribution Model | Window | Use Case |
| ------------------ | ----------------- | ------- | ---------------------------- |
| Sponsored Listings | Last-click | 7 days | Direct response purchases |
| Sponsored Brands | Last-click | 14 days | Brand consideration period |
| Banner/Video Ads | Last-impression | 30 days | Awareness-driven conversions |
## Attribution Priority Rules
When multiple ad interactions occur within their respective windows:
1. **Clicks take priority over impressions**
2. **Direct attribution has priority over halo attribution**
3. Each conversion is attributed to **only one** ad interaction
This ensures clear, actionable insights while avoiding double-counting.
** **
***
# Auction Types
Source: https://docs.topsort.com/en/knowledge-base/ad-server/auctions/auction-types
Understanding different auction mechanisms in Topsort
## Sponsored Listings
Sponsored listings integrate promoted products into search results or category
pages. These auctions allow vendors to promote specific products within
relevant contexts. The `/auctions` endpoint is used to run these auctions.
There are three main types of sponsored listings:
1. **Sponsored listings from a set of products:** This allows auctions for a predefined set of product IDs. Only bids targeting these specific products will participate. You can also include custom quality scores for each product in the request, which are numbers between 0 and 1 indicating relevance.
2. **Sponsored listings on category pages:** These auctions are for products belonging to specific categories. Only bids that target products within the given categories will be considered. Categories can be specified using a single ID, multiple IDs (all categories), or disjunctions (at least one of the categories).
3. **Sponsored listings in search results:** These auctions are for products relevant to search queries. You can use the `searchQuery` parameter, or combine it with a predefined set of products to expand the list of bids.
## Sponsored Banners
Sponsored banners enable the creation of auctions for banner advertisements on
various pages, like homepages or landing pages. They can be used for homepage
sliders, featured brands, and carousels. The `/auctions` endpoint is used for
banner auctions, with the `type` field set to `"banners"`.
Banner auctions can be targeted based on:
1. **Landing Pages:** Create slots for high-traffic homepages or custom landing pages with unique SlotIDs, names, URLs, and image dimensions.
2. **Category and Search:** Allow vendors to target specific categories or keywords using the `categoryId` or `searchQuery` fields in the auction request.
3. **Carousels and Swimlanes:** Multiple banner winners can be requested for carousels or swimlanes by specifying the desired number of slots in the auction request.
## Video Ads
Video ads are designed to enhance brand and product experience by showing
products in action, boosting visibility, and engaging customers. Campaign
creation for video ads mirrors that of banner ads, allowing for video upload
and campaign configuration. Supported video formats include MP4 and MOV, with
a duration of 6 to 20 seconds and a maximum size of 200MB. Marketplaces send a
slot ID and optional details in the auction request and receive a video URL in
the response.
## Sponsored Brands
Sponsored brands auctions allow for the promotion of brands using assets,
text, and an associated product. The dedicated endpoint for these auctions is
`/auctions/sponsored-brand`. Key fields in the request include `winners`
(maximum number of winners), `placementId` (ID of the ad placement), and
`triggers.products.ids` (array of associated product ID).
## Travel Listings
Travel listings involve a new auction endpoint and campaign model specifically
designed for the travel use case, such as hotels and flights. This type of
auction considers unique parameters like `travel_window` (timeframe for
travel), `day_of_check_in`, and `types_of_travelers` (family, couple, solo,
group). These parameters can influence bid amounts through multiplier values.
The auction request for travel listings includes details such as `type`
(hotels or flights), `winners`, `products` (with IDs and optional quality
scores/prices), and a `travelContext` object with relevant travel-specific
information.
Check the [Auctions API](/en/ad-server/auctions/auctions-api) section in the
Integration Guide for more information and examples on how to create Auctions.
Topsort's Autobidding algorithm automates the management of bids for ads,
enabling marketplaces to optimize their operations for metrics such as ROAS.
By allowing the marketplace to set a target ROAS and monitor vendor activity,
this system effectively replaces the need for manual CPC or CPM definitions
with automatic optimization.
## How It Works
1. **Performance Monitoring:** Admins can monitor key performance metrics, including Return on Ad Spend (ROAS), Cost per Click (CPC), and Cost per Mille (CPM) trends.
2. **Target ROAS Adjustment:** The system allows marketplaces to set and adjust their Target ROAS based on their business objectives. Changes to Target ROAS can be tracked over time to understand performance trends and inform decisions.
3. **Reserve Prices:** The Autobidding Tab displays reserve prices for both sponsored listings and sponsored banners.
This shift to autobidding gives marketplaces total power and clear
information. It helps them grow and improve their ad business by using smart
technology instead of having to change bids by hand.
***
# Budget Carryover
Source: https://docs.topsort.com/en/knowledge-base/ad-server/auctions/budget-carryover
In Topsort, campaign budgets can have a "carryover" feature that allows for
potential overspending on a given day to compensate for previous
underspending. This mechanism helps campaigns utilize their full budget over
time.
## How Budget Carryover Works
If a campaign spends less than its set daily budget on previous days, the
unspent amount accumulates as "unused budget". This can happen due to factors
like low traffic or insufficient vendor funds. On a subsequent day, if
conditions improve and funds are available, the campaign is allowed to spend
up to double (2x) its usual daily budget to make up for the accumulated unused
budget.
For example, if a campaign has a daily budget of \$100 but only spends \$50 on
Day 1, it will have \$50 of unused budget carried over. On Day 2, if there's
more traffic, the campaign could potentially spend up to \$150 (\$100 daily
budget + \$50 carryover).
## Campaign Activation and Carryover
Even if a vendor's account has no funds when a campaign is initially
activated, the system still considers the campaign "active." During this
period, the campaign is technically accumulating unused budget because no
spending is occurring. Once funds are added to the vendor's account, the
campaign could spend up to 2x its daily budget, as it catches up on the
previously underspent day.
***
# GAM Demand Mediation
Source: https://docs.topsort.com/en/knowledge-base/ad-server/auctions/demand-mediation/gam-demand-mediation
Turn Unsold Inventory into Revenue with fast setup
### What is GAM Demand Mediation?
Earn incremental revenue from banner impressions that would otherwise go
unfilled - without changing your existing Topsort setup.
When Topsort has no demand for a banner slot, we automatically return a
Google Ad Manager (GAM) ad instead. You simply render it.
### Benefits
* **Monetize unsold inventory:** Marketplaces can earn revenue from banner ad slots even when there is no Topsort demand
* **Flexible demand sources:** Topsort can configure GAM placements to pull in demand from either open auction (non-endemic advertisers linking to other websites) or direct deals
### Who is it For?
Any Topsort marketplace worldwide with banner ad slots.
### Onboarding Process
If your marketplace is interested in GAM demand mediation, reach out to your
Topsort account team.
A typical integration takes only a few hours of a marketplace
engineer's time to set up and can be done live on a single call with
a Topsort integration engineer. The process follows these steps:
Select 2-3 banner ad slots and agree on content moderation policies.
Link Topsort and retailer accounts, and update ads.txt and
sellers.json. Topsort uses GAM's Multiple Customer Management
(MCM), which allows the Topsort GAM account to control other accounts (e.g.,
retailer accounts).
Simply add a very small code snippet to each ad slot to render either a
Topsort ad or a GAM ad.
Topsort will validate the integration.
### Example Response
When no Topsort demand is available for a banner slot enabled for GAM demand mediation,
the
auction endpoint
returns a GAM snippet in the winner's asset field. The retailer
renders this snippet to display a GAM banner ad.
Each entry in the asset array contains a
content field with a JSON string of type
gam\_snippet. The retailer should parse this content and render
the embedded HTML/JavaScript to display the GAM banner.
## Passback flow
The only development required by the marketplace is to add a small code
snippet to each ad slot they want to enable for GAM demand, so the page
renders a GAM tag if one is returned; otherwise, it renders the Topsort ad.
```javascript theme={null}
// response is response from Topsort auction endpoint
const { results } = await response.json();
const passback = results?.[0]?.winners?.[0]?.metadata?.passbacktag;
if (passback) {
const iframe = document.createElement("iframe");
document.getElementById("banner-slot-3")?.appendChild(iframe);
iframe.contentDocument.write(passback);
iframe.contentDocument.close();
} else {
// render normal Topsort ad
}
```
***
# Overview
Source: https://docs.topsort.com/en/knowledge-base/ad-server/auctions/demand-mediation/overview
Overview of third-party demand options in Topsort auctions
Topsort offers two ways to integrate third-party demand into your ad stack:
* **Sponsored Listings Demand Mediation** - For sponsored listings, pass bids from external demand sources (e.g., Criteo) into the Topsort auction where they compete directly against Topsort demand. The highest bid wins, regardless of source.
* **Banners Demand Mediation** - For banner ad slots, Topsort can return a Google Ad Manager (GAM) tag when no Topsort demand is available, earning the marketplace incremental revenue from programmatic ads.
***
# Sponsored Listing Demand Mediation
Source: https://docs.topsort.com/en/knowledge-base/ad-server/auctions/demand-mediation/sponsored-listing-demand-mediation
Bring external sponsored listing bids into Topsort auctions
### What is Sponsored Listing Demand Mediation?
Previously, Topsort auctions only received demand from Topsort sources (either
from vendors within a marketplace or via Toppie). With demand mediation,
Topsort can now pull demand from third-party sources.
The first third-party demand source integrated is Criteo, a
leading retail media ad platform with budgets from major brands around the
world. For each sponsored listing placement, a retailer fetches bids from
Criteo and passes them into Topsort. Topsort compares the Criteo bids with its
own bids and selects the winning bids among them.
Topsort can easily accommodate other demand sources beyond Criteo, as long as
their bids can be sent via the demandSources parameter of the
auction endpoint.
### How Billing Works
With demand mediation using Criteo:
* The retailer owns the Criteo account/instance, not Topsort
* Advertisers pay Criteo directly
* Criteo bills advertisers, takes its platform fee, and pays the retailer their revenue share
* Topsort bills the retailer separately (billing structure TBD)
### Benefits
Retailers can generate additional ad revenue through demand mediation:
* **Fill gaps:** When there's no Topsort demand for ad requests, Criteo demand may be available
* **Increase competition:** When Topsort demand exists, Criteo demand may bid higher, increasing overall revenue
### Who is it For?
While any client can add Criteo demand, this integration is most relevant for
clients likely to attract significant Criteo ad spend:
* **Large US marketplaces:** Many major US brands bid on retail media ads via tools like Pacvue and Skai, which in turn bid on Criteo inventory. This setup allows big brands to avoid direct integration with every retailer they want to advertise on.
* **Large LATAM marketplaces:** Criteo has a significant presence in Latin America, making this integration valuable for large LATAM marketplaces as well.
### Onboarding Process
To onboard a marketplace with demand mediation:
The marketplace should configure any placements they want to bring in Criteo
demand for in their Criteo account.
On page load, the marketplace needs to:
1. Fetch bids from Criteo for the placement
2. Send those bids to Topsort as an extra parameter in the auction request
Topsort returns the winning bids, which may include both Topsort and Criteo
winners.
If there are Criteo winners, the marketplace should report events to both
Topsort and Criteo.
### API Implementation
The auctions endpoint
has been extended to support external demand sources. Adding external demand
requires one new input field and two new response fields for auction winners.
The number of external bids is limited to 100 per auction request.
#### Request Changes
A new demandSources field has been added to the auctions object:
* **demandSources:** Array of `demandSource` objects
* **source:** Enum identifying the external demand source (e.g., `"criteo"`)
* **bids:** Array of `Bid` objects, one for each external bid
Each Bid object contains:
* **chargeType:** Enum (only `"CPC"` is supported in the first version)
* **entity:** Object with `type` and `id` fields identifying the sponsored product
* **bidAmount:** Bid amount in marketplace currency
* **metadata:** Free-form field for any metadata needed in the winner response (e.g., bid beacon URLs)
#### Response Changes
The Winner object has been updated with:
* **demandSource:** String identifying the source of the winning bid (e.g., `"topsort"` or `"criteo"`). Only appears when external bids are included in the request.
* **metadata:** For external bid winners, passes through the external bid's input metadata. Omitted for internal/Topsort bids.
For external bids, the `campaignId` field will be omitted from the winner
object.
#### Error Cases
New error cases specific to demand mediation:
* External demand is not authorized for the marketplace
* Invalid external bids (non-product entities, bad charge type, or negative bid amount)
* Too many external bids (more than 100)
* External demand with ad type other than listings
* Invalid external demand source (only Criteo is currently supported)
#### Example Request
```json theme={null}
{
"auctions": [
{
"type": "listings",
"slots": 2,
"category": {
"id": "paper"
},
"opaqueUserId": "user123",
"demandSources": [
{
"source": "criteo",
"bids": [
{
"chargeType": "CPC",
"entity": {
"type": "product",
"id": "product123"
},
"bidAmount": 0.75,
"metadata": {
"beaconUrls": ["https://example.com/beacon"],
"clickUrls": ["https://example.com/click"]
}
}
]
}
]
}
]
}
```
#### Example Response
```json theme={null}
{
"results": [
{
"resultType": "listings",
"winners": [
{
"demandSource": "criteo",
"type": "product",
"id": "product123",
"resolvedBidId": "UkoVYQoQBpaVc2jmdMO0BA4QS9VdHRIQAZgtj1MxeFGT5HL2fhBhKRoQBlhiMAUTfKyPJHhKpsqrQCIKCgZzdWJ3YXkQATCmFUDTBEgBUMXa8pu8Mw",
"rank": 1,
"metadata": {
"beaconUrls": ["https://example.com/beacon"],
"clickUrls": ["https://example.com/click"]
}
},
{
"demandSource": "topsort",
"campaignId": "01982d6e-8655-70e2-94e3-3e5e764b4753",
"type": "product",
"id": "product456",
"resolvedBidId": "zOzJwgoQBpaVfNrgdmeSBLgWZwYYmhIQAZgtboZVcOKU4z5edktHUxoQBlhiMAUTfKyPJHhKpsqrQCIQCgxwYW5lcmEtYnJlYWQQATCmFUDTBEgBUKH3-5u8Mw",
"rank": 2
}
],
"error": false
}
]
}
```
Topsort supports first-price and second-price auctions. Both consider the bid
amount and the quality score for ranking items. A quality score is a relevance
metric. It includes factors like estimated click likelihood.
## First-Price Auction
* Winning bidder pays their exact bid.
* Recommended for Auto-bidding.
* Algorithms optimize bids in real-time.
* Achieves efficient budget use through automated adjustments and quality score.
## Second-Price Auction
* Highest bidder pays the second-highest bid plus a small increment.
* Recommended for Manual bidding.
* Encourages competitive bidding without overpaying.
* Benefits high-quality items with better placement due to quality score and bid.
## Campaign Deduplication
When multiple campaigns bid on the same product, Topsort automatically
deduplicates auction results by entity (product or deeplink). Only one winner
per unique product will be returned in the auction response, regardless of how
many campaigns are targeting it.
The deduplication process works as follows:
* Campaigns are ranked by their combined bid amount and quality score.
* The highest-ranking campaign for each product wins the auction slot.
* If the same product appears in multiple campaigns, only the top-ranked instance is included in results.
* Subsequent auction positions are filled by the next highest-ranking unique products.
This ensures a better user experience by preventing duplicate products from
appearing in the same auction results, while still allowing the most
competitive bid for each product to win.
Topsort's pacing mechanism adjusts campaign spending based on marketplace
traffic, smoothing out the spend rate and delivering a more representative
exposure of ads. This mechanism distributes the budget throughout the day,
balancing impressions across low and high-traffic periods, and avoiding missed
opportunities due to early budget exhaustion.
## How Pacing Works
Topsort uses two mechanisms combined on the auto-bidding algorithm:
* **Throttling:** excludes campaigns from some auctions, using probabilistic
models.
* **Discount Pacing:** Decreases campaign bids to slow spending.
## Benefits of Pacing
Pacing creates smoother exposure by ensuring ads appear consistently
throughout the day, leading to stable engagement and click distribution. It
contributes to price stability by maintaining consistent prices and avoiding
volatile swings, resulting in improved campaign performance by ensuring
consistent visibility and reducing early budget depletion.
## Disabling Pacing
Deactivating pacing allows campaigns to spend their budget as fast as
possible. This provides greater visibility during high-traffic periods but
risks early budget depletion. It is suitable for time-sensitive promotions or
campaigns needing immediate exposure.
## Considerations
Advertisers with small budgets may experience aggressive pacing, which could
limit exposure during high-traffic moments, though Topsort does provide
real-time performance insights (ROAS and other metrics) to help advertisers
decide if they should increase their budgets.
Campaigns created with Total Budget are not subject to the pacing mechanism. Check [Campaign Budget Types](/en/knowledge-base/ad-platform/campaign-creation/budget-types/) for more information.
***
# Relevance
Source: https://docs.topsort.com/en/knowledge-base/ad-server/auctions/relevance
Relevance in Topsort's ad system means how well an ad matches what a user is
looking for. This is measured by an ad's Quality Score. A higher Quality Score
means a more relevant ad, which helps it rank higher in auctions, even if the
bid stays the same.
## How It Works
1. **Basic Mode:** Topsort calculates the Quality Score on its own. We mostly use the eCTR (estimated click-through rate), which is how likely someone is to click on an ad. This is based on past views and clicks.
2. **Enhanced Mode:** Marketplaces can share their own relevance information with Topsort. Topsort then mixes this with its own score to get the final Quality Score. Marketplaces can also give "boosts" to certain ads, like from small sellers, which helps their Quality Score.
Topsort uses an "explore-exploit" method. Most of the time, it shows the best
ads (exploit). But sometimes, it shows other ads (explore) to learn more about
them.
Reserve prices (also called bid floors) set the minimum acceptable prices for
your ad inventory, ensuring premium placements don't sell below their value.
## Why Reserve Prices Are Important
**Protect Your Inventory**: Prevent premium ad slots from being undersold in
low-competition auctions while encouraging higher bids from autobidding
campaigns.
* **Revenue Protection**: Maintain minimum yield from valuable ad placements
* **Market Efficiency**: Encourage competitive bidding
* **Inventory Optimization**: Differentiate pricing between premium and standard slots
## Types of Reserve Prices
### Sponsored Listings
Set minimum CPM and CPC per **product category** or **geolocation**:
**By Product Category:**
* e.g., **Electronics:** min $5 CPM, $0.50 CPC
* e.g., **Fashion:** min $3 CPM, $0.30 CPC
**By Geolocation:**
* e.g., **New York:** min $8 CPM, $0.65 CPC
* e.g., **California:** min $7 CPM, $0.60 CPC
* e.g., **Texas:** min $4 CPM, $0.35 CPC
### Banner Ads
Set minimum CPM and CPC per **specific slot**:
* e.g., **Homepage hero banner:** min $15 CPM, $1.00 CPC
* e.g., **Category page sidebar:** min $8 CPM, $0.60 CPC
## Setting Up Your Reserve Prices
As a marketplace retailer, you work with Topsort's data science team to establish appropriate reserve prices for your ad inventory. This collaborative approach ensures:
* **Strategic pricing** that balances revenue protection with fill rate optimization
* **Data-driven decisions** based on your marketplace's historical performance
* **Contextual validation** to ensure pricing changes make sense for your specific market
### Configuration Process
* Share details about your categories and ad slot performance
* Work with our data science team to set appropriate floors
* Topsort configures the reserve prices in your auction system
* Review performance and request adjustments as needed
**Expert Validation Required**: Reserve price changes are handled by Topsort's
data science team to ensure they align with your marketplace dynamics and
don't negatively impact overall performance.
### Reference Format
When discussing reserve pricing with Topsort, you can reference inventory using these formats:
#### For Sponsored Listings (category-based pricing)
```
# CSV file with
category_id,category_name,cpm_reserve_price,cpc_reserve_price
electronics,Electronics,8.50,0.75
fashion-women,Women's Fashion,5.00,0.45
fashion-men,Men's Fashion,4.50,0.40
home-garden,Home & Garden,6.00,0.55
beauty-personal-care,Beauty & Personal Care,7.00,0.65
sports-outdoors,Sports & Outdoors,5.50,0.50
toys-games,Toys & Games,4.00,0.35
automotive,Automotive,9.00,0.80
books-media,Books & Media,3.00,0.25
health-wellness,Health & Wellness,6.50,0.60
```
#### For Sponsored Listings (geolocation-based pricing)
```
# CSV file with
location_id,cpm_reserve_price,cpc_reserve_price
new-york,9.50,0.85
california,8.00,0.70
texas,5.50,0.45
florida,6.00,0.50
illinois,7.00,0.60
washington,8.50,0.75
massachusetts,9.00,0.80
georgia,5.00,0.40
north-carolina,4.50,0.35
virginia,6.50,0.55
```
#### For Banner Ads (slot-based pricing)
```
# CSV file with
external_slot_id,slot_description,cpm_reserve_price,cpc_reserve_price
homepage-hero,Homepage Hero Banner,15.00,1.20
homepage-sidebar,Homepage Sidebar Banner,8.00,0.70
category-top,Category Page Top Banner,12.00,1.00
category-sidebar,Category Page Sidebar,6.50,0.55
product-page-top,Product Page Top Banner,10.00,0.85
product-page-related,Product Page Related Products,7.00,0.60
search-results-top,Search Results Top Banner,11.00,0.95
search-results-sidebar,Search Results Sidebar,6.00,0.50
checkout-banner,Checkout Page Banner,13.00,1.10
footer-banner,Footer Banner (All Pages),4.00,0.35
mobile-sticky,Mobile Sticky Banner,9.50,0.80
cart-page-banner,Shopping Cart Banner,8.50,0.75
```
## Implementation
For technical details on how reserve prices integrate with auction logic, see the [Integration Guide](/en/ad-server/).
***
# Overview
Source: https://docs.topsort.com/en/knowledge-base/ad-server/index
Topsort helps marketplaces build their own advertising business. It gives them the tools to let their sellers and partner brands pay for better visibility, like placing their products at the top of search results or on banner ads across the site. Using a smart, auction-style system, Topsort ensures these ad spots go to the highest bidder while focusing on what shoppers are actually looking for. It's designed to be flexible and respects customer privacy by using the marketplace's own data instead of tracking users across the web.
Welcome to **Topsort's Knowledge Base** 👋. This body of knowledge provides
information on Topsort's suite of products designed to enhance the growth of
your retail media networks. You can choose the module and integration path
that best suits your needs. For more details on Topsort's offerings, please
refer to the [**Topsort Integration Guide**](/en/overview/).
Consider this your essential resource for launching, scaling, and optimizing
your retail media business. Whether you are new to advertising, upgrading
existing systems, or aiming to improve results with AI-powered tools, you will
find the necessary technical information here to connect with Topsort's
infrastructure.
## What is Topsort's Retail Media Infrastructure?
Topsort enables the creation of a unique advertising ecosystem through four
core components:
A comprehensive, ready-to-use solution for launching, growing, and
activating your advertising business. It includes tools for managing
campaigns, viewing reports, tracking results, and integrating ad displays.
Offers powerful APIs for customizing ads and integrating with existing
systems and software. This ensures a seamless experience for sellers while
allowing them to control ad relevance, audience targeting, and performance
improvement.
Provides smart tools and individual components to enhance your ad system,
including solutions for forecasting, retrieval, and attribution to address
challenges common to large online platforms.
Topsort's DSP for advertising agencies and brands, enabling campaign
management across multiple online retailers from a centralized platform with
real-time data and AI-powered enhancements.
Can't find what you're looking for on docs.topsort.com or topsort.com? Try the [**Support Portal**](https://help.center.topsort.com/servicedesk/customer/portal/1).
Delivery apps face unique challenges with low margins and high operational
costs. Topsort transforms your platform into a profitable advertising channel
for restaurants, CPG brands, and retail partners.
## Revenue Diversification Solutions
* **Restaurant and CPG Advertising:** Enable food brands and restaurant partners to sponsor placements during peak ordering times
* **Real-Time Optimization:** AI-driven algorithms that maximize vendor ROI while increasing platform revenue
* **Context-Aware Targeting:** Capitalize on the 60% of users who don't know what they want to order by influencing choice at the moment of decision
## Delivery-Specific Advantages
* Time-based bidding for meal periods and rush hours
* Location-radius targeting for local businesses
* Integration with delivery logistics for performance measurement
* Self-service tools that democratize advertising access for small restaurant partners
***
# Financial Services
Source: https://docs.topsort.com/en/knowledge-base/overview/by-industry/financial-services
Overview
Topsort empowers financial institutions and loyalty programs to launch
targeted ad campaigns. These campaigns sponsor offers like discounts, promo
codes, and cashback, leveraging personalization and custom targeting for
enhanced relevancy and engagement.
## Financial Media Capabilities
* **Transaction-Based Targeting**: Use first-party financial data to target customers based on actual purchase history, spending patterns, and lifecycle stages
* **Sponsored Offers Platform:** Enable brands to promote cashback offers, promo codes, and discounts with performance-based pricing models
* **Cross-Merchant Intelligence**: Provide advertisers with retail-agnostic spending insights unavailable through traditional retail media networks
## Financial Services Advantages
* Privacy-compliant data utilization with an established financial regulations framework
* High-intent, lower-funnel audience targeting based on actual spending behavior
* Performance measurement that tracks real incremental spend beyond campaign attribution
* Integration with existing rewards and offers programs
***
# Overview
Source: https://docs.topsort.com/en/knowledge-base/overview/by-industry/index
Whether you're a
[retailer](/en/knowledge-base/overview/by-industry/retailers/),
[marketplace](/en/knowledge-base/overview/by-industry/marketplaces/),
[delivery app](/en/knowledge-base/overview/by-industry/delivery-apps/),
[travel agency](/en/knowledge-base/overview/by-industry/travel-agencies/), or
[financial
institution](/en/knowledge-base/overview/by-industry/financial-services/),
Topsort is the go-to advertising infrastructure. It offers powerful AI-driven
optimization, omnichannel reach, seamless integrations, and flexible growth.
Continue reading to see how Topsort is supporting and enhancing the
advertising systems of various industries.
Topsort's marketplace solutions foster seller investment and platform growth,
empowering third-party sellers to compete effectively within a sustainable,
advertising-driven marketplace model.
## Marketplace Growth Accelerators
* **Seller Self-Service Tools**: AI-powered campaign management that enables long-tail sellers to succeed, with third-party sellers spending 3x more when given accessible tools
* **Pay-to-Play Optimization**: Transform your marketplace into a revenue engine where advertising investment drives both seller success and platform profitability
* **Omnichannel Reach**: Extend seller campaigns beyond your platform to social, search, and display networks
## Marketplace-Specific Features
* Dynamic commission structures based on advertising participation
* Seller onboarding automation with AI-driven campaign suggestions
* Cross-category promotional tools
* Competitive intelligence for seller positioning
***
# Retailers
Source: https://docs.topsort.com/en/knowledge-base/overview/by-industry/retailers
Overview
Topsort enables retailers to launch sophisticated advertising campaigns that
turn product discovery into profitable advertising inventory.
## Why Retail Brands Choose Topsort
* **Category Page Optimization**: Convert high-traffic category pages into premium advertising real estate with customizable auction controls
* **Vendor Demand Generation**: Drive advertiser participation from your supplier ecosystem while maintaining control over ad quality and placement
* **Performance-Based Revenue**: Create new income streams through sponsored product placements without compromising user experience
## Retail-Specific Solutions
* [Floor price](/en/knowledge-base/ad-server/auctions/reserve-prices/) controls for sustainable margins
* Brand safety tools for premium positioning
* Advanced incrementality measurement to prove advertising value beyond basic ROAS
* Seamless integration with existing e-commerce platforms
***
# Travel Agencies
Source: https://docs.topsort.com/en/knowledge-base/overview/by-industry/travel-agencies
Overview
Topsort enables travel platforms to monetize every touchpoint of this extended
decision process.
## Travel-Specific Advertising Solutions
* **Destination Marketing**: Enable hotels, airlines, and destination marketing organizations to sponsor prime placement during high-intent search moments
* **Package Promotion Tools**: Flight and hotel sponsored listings that drive strategic route promotion and package bookings
* **Seasonal Campaign Management**: Leverage travel seasonality with dynamic bidding for peak booking periods and special events
## Travel Platform Benefits
* Cross-channel advertising from onsite to offsite inventory, including YouTube, Samsung Smart TV, and connected TV platforms
* Co-op advertising tools for destinations, hotels, and airlines to share marketing costs
* First-party traveler data activation for precise audience targeting
* Non-endemic brand opportunities in adjacent categories like financial services and luggage
## Customer Story: Despegar
For over 25 years, Despegar has been revolutionizing the tourism industry
through technology across Latin America. Today, the company serves more than
30 million customers across 19 countries, operating multiple brands including
Best Day, HotelDO, and Viajes Falabella.
Seeking to enhance their monetization capabilities, Despegar partnered with Topsort to implement a comprehensive travel media auction platform. The results transformed their advertising business:
* **10x–30x growth** in ad revenue within the first year
* **1 month integration** time with full platform deployment
* **Real-time programmatic bidding** for hotels and airlines with sponsored listings
* **Self-service campaigns** enabling travel suppliers to easily manage their own advertising
Topsort's modular, API-first approach allowed Despegar to maintain full
control over ad placements while leveraging advanced auction technology. The
platform supports both managed service flows and self-service options, giving
Despegar flexibility in how they work with their advertising partners.
Contact your sales representative to obtain access to your sandbox
environment. You'll be granted access to
[app.topsort.com](http://app.topsort.com), where you can explore all our
features, [manage vendors](/en/knowledge-base/ad-platform/vendor-management/),
[create campaigns](/en/knowledge-base/ad-platform/campaign-creation/),
generate API Keys, and review integration logs.
By default, you'll have 14 days to evaluate the platform. Talk with your sales
representative if you need more time or when you're ready to upgrade.
***
# Knowledge Base
Source: https://docs.topsort.com/en/knowledge-base/overview/index
This is your central hub for learning how to use and make the most of
Topsort's Retail Media Infrastructure. The documentation is structured to give
a clear understanding of every aspect of our [**Ad
Platform**](/en/knowledge-base/ad-platform/) and [**Ad
Server**](/en/knowledge-base/ad-server/) products, including:
1. Get started with our solutions, understanding our basic concepts, including
[catalog
synchronization](/en/knowledge-base/ad-platform/catalog-management/catalog-synchronization/),
[vendor management](/en/knowledge-base/ad-platform/vendor-management/), [user
permissions](/en/knowledge-base/ad-platform/vendor-management/permission-levels/),
[payment and billing](/en/knowledge-base/ad-platform/payments-billing/)
options.
2. Learn how to create, manage, and optimize campaigns, including all ad
formats ([sponsored listings](/en/knowledge-base/ad-platform/listings/),
[banners](/en/knowledge-base/ad-platform/banners/banner-ads-campaigns/),
[video](/en/knowledge-base/ad-platform/video-ads/), and [sponsored
brands](/en/knowledge-base/ad-platform/sponsored-brands/)) and all campaign
configuration options (e.g.,
[targeting](/en/knowledge-base/ad-platform/campaign-targeting/)).
3. Understand [performance
metrics](/en/knowledge-base/ad-platform/reporting-and-analytics/) and
[reports](/en/knowledge-base/ad-platform/reporting-and-analytics/finance-reporting/).
4. Explore advanced features that optimize your campaign performance and
improve your results.
5. Explore
[self-service](/en/knowledge-base/ad-platform/self-service-and-access/) and
[white
label](/en/knowledge-base/ad-platform/self-service-and-access/whitelabel/)
options.
Also, you'll be able to explore all the functionalities of our DSP for brands and agencies ([**Toppie**](/en/knowledge-base/toppie/)).
[**Toppie**](/en/knowledge-base/toppie/): Topsort's DSP for advertising
agencies and brands, enabling campaign management across multiple online
retailers from a centralized platform with real-time data and AI-powered
optimization.
If you're looking for technical details on connecting Topsort with your
systems using low-code libraries or APIs, please refer to our [Integration
Guide](/en/overview/).
***
# Managed vs Self-Service
Source: https://docs.topsort.com/en/knowledge-base/overview/managed-self-service
Understanding the difference between Managed and Self-Service
Topsort supports both **Managed** and **Self-Service** advertising models. You can choose the best fit for your marketplace based on your vendor relationships, internal staff, or strategy.
## Managed Advertising
In the managed model, the marketplace team is responsible for setting up and maintaining all vendor campaigns, handling execution, reporting, and optimization. This model works well when vendors already rely on the marketplace for promotional services or the marketplace prefers to keep control of the flows.
The admin dashboard gives admins real-time access to campaign performance across all vendors. Admins and ad ops staff can also create campaigns, add credits, and view metrics such as ad spend, impressions, clicks, and conversions.
## Self-Service Advertising
In the self-service model, advertisers can create and manage campaigns, set campaign budgets, and monitor performance. The self-service dashboard provides vendors with real-time performance data and campaign history. It also includes tools to manage team members and access help resources. While most campaign types can be managed independently, banner creatives may still require marketplace approval.
At the same time, in the self-service model, the admin keeps all the managed mode tools and access, still being able to create and manage campaigns for their self-service vendors. The self-service mode can be activated on a vendor level. Please refer to the [Self-Service](/en/knowledge-base/ad-platform/self-service-and-access/) section for more details.
## Choosing the Right Model
Many marketplaces use a hybrid approach, starting with Managed advertising and gradually offering Self-Service options as vendors become more confident.
***
# Creating a Campaign
Source: https://docs.topsort.com/en/toppie/creating-a-campaign
Step-by-step guide to creating Sponsored Listings campaigns in Toppie
To create a Sponsored Listings campaign, the user follows a three-step process.
Select the products available for your account from the global catalog.
Products are filtered based on your account's defined brands and categories.
Select your bidding strategy (manual bidding is not available). The strategy options are:
* **Brand Exposure** - Maximize visibility and impressions
* **Balanced ROAS** - Balance between exposure and return on ad spend
* **High Conversion** - Optimize for conversions and sales
Each option is mapped to a target ROAS range, which varies by account.
Complete your campaign setup:
* Name your campaign
* Set a budget (daily, weekly, or monthly)
* Specify the campaign duration
* Launch!
We only support automatic targeting, which means Toppie will show the
product wherever it deems relevant, regardless of the auction type
(category, search query, or product list).
## How Campaign Distribution Works
Once the campaign is launched, Toppie creates child campaigns in each retailer using an internal vendor. All agency campaigns will go through the same internal vendor per retailer.
* If a product from the selected family is available on the marketplace, a campaign gets created
* The budget is distributed between child campaigns based on expected traffic, spend, and ROAS
* If you edit a campaign, changes apply to all child campaigns
* New products added to a marketplace catalog are **not** automatically included in existing campaigns
Users cannot select specific marketplaces. Toppie's goal is to spend your
budget in the most effective way, delivering the target ROAS across all
available marketplaces.
## Campaign Analytics
The agency account user can see how their campaigns are performing with these metrics:
| Metric | Description |
| --------------- | --------------------------------------- |
| **Clicks** | Total ad clicks across all marketplaces |
| **Impressions** | Total ad impressions |
| **Ad Spend** | Total amount spent on the campaign |
| **Average CPC** | Average cost per click |
| **Sales** | Total attributed sales |
| **Conversions** | Number of conversion events |
Halo attribution is available when marketplaces have it active.
# Getting Access
Source: https://docs.topsort.com/en/toppie/getting-access
How agencies and retailers can get started with Toppie
Agencies and brands gain access to a platform where they can create campaigns across multiple retailers.
**Account Organization:**
* Agencies are organized into brand-category accounts
* Example: "Unilever - Colombia - Home Care", "Unilever - Colombia - Nutrition"
* Each account has its own balance and metrics
* Agencies can invite users at the agency level
**Account Configuration:**
For each account, agencies must define:
* Currency for billing and reporting
* Country/geographic market
* Brands they can promote
* Product categories for campaigns
Topsort maps marketplace products that match these filters and makes them available through the Global Catalog.
Marketplaces need to integrate with Topsort to participate in Toppie.
**Integration Requirements:**
* Catalog, auctions, and events integration (see [Ad Server](/en/ad-server) documentation)
* Ideally, send all events (both sponsored and organic)
**Retailer Dashboard:**
* View demand from Toppie campaigns
* Manage vendors and advertisers
* Access aggregated metrics from Toppie
**Note:** Toppie campaigns compete alongside your own advertisers' campaigns in the auction.
## Agency Account Structure
| Component | Description |
| -------------- | ------------------------------------------- |
| **Currency** | The currency used for billing and reporting |
| **Country** | Geographic market for the account |
| **Brands** | The brands the agency can promote |
| **Categories** | Product categories available for campaigns |
## Retailer Integration
Retailers need to complete the standard Topsort integration:
1. **Catalog Integration** - Sync your product catalog with Topsort
2. **Auction Integration** - Connect your ad placements to the auction system
3. **Events Integration** - Send impression, click, and conversion events
For detailed integration instructions, see the [Ad Server](/en/ad-server)
documentation.
# About Toppie
Source: https://docs.topsort.com/en/toppie/index
Programmatic Retail Media Exchange
Toppie is Topsort's demand-side ad exchange, allowing brands and agencies to
easily create sponsored listings and banner campaigns across different
marketplaces. It solves the fragmentation problem currently faced by agencies,
supporting both sponsored listing and banner ads.
With Toppie, agencies can create campaigns choosing products from a Global
Catalog, setting a bidding strategy, defining a budget and launching. We will
handle the delivery of the campaigns to all marketplaces automatically,
optimizing delivery based on the campaign goals. Metrics are consolidated into
a unified dashboard.
For the retailers, Toppie will help monetize underperforming placements with
low code integrations. And if the retailer is already on the network, it's
plug and play. For reporting, retailers will be able to see aggregated metrics
for all campaigns created by Toppie.
## Key Features
Create campaigns across multiple retailers from a single platform
Access products from all connected marketplaces in one unified catalog
Automated bidding strategies optimized for your campaign goals
Consolidated metrics and reporting across all marketplaces
## Next Steps
Learn how agencies and retailers can get started with Toppie
Step-by-step guide to launching your first Toppie campaign
Integrate with Toppie programmatically using our API
# Toppie API
Source: https://docs.topsort.com/en/toppie/toppie-api
Integrate with Toppie programmatically using our API
The Toppie API enables secure, programmatic access to Toppie's unified retail media platform. Whether you're automating campaign management, building custom dashboards, or integrating Toppie data into existing workflows, the API provides the foundation for scaling retail media operations beyond the UI.
The Toppie API provides public endpoints to manage and analyze agency accounts, campaigns, and financial activity across multiple retail partners.
View the complete API documentation with all available endpoints
## Key Benefits
* **Automate Campaign Operations** - Build workflows to manage campaigns across retailers without manual intervention
* **Custom Integrations** - Connect Toppie data to BI tools and internal systems
* **Secure Access Control** - Role-based permissions for data and capabilities
## API Capabilities
The Toppie API provides comprehensive functionality through the following endpoints:
Upload, update, and manage product catalogs across retail partners. Keep inventory synchronized and ensure accurate product information for your campaigns.
Create, modify, pause, and delete campaigns programmatically. Set budgets, targeting parameters, and bidding strategies for both Sponsored Listings and Banner Ads.
Retrieve real-time performance data including impressions, clicks, conversions, ROAS metrics, and ad spend. Generate custom reports with specific date ranges and metric selections.
Track account balances, view transaction history, and manage billing programmatically. Implement custom budget allocation algorithms based on performance metrics.
## Authentication
All Toppie API requests require authentication using API keys with token-based authentication. This ensures secure access to your campaigns and data.
### Getting Your API Key
Access **Settings** in your Toppie dashboard navigation
Choose **API Integration** from the left-hand navigation menu
Click the **"+ New API Key"** button to generate a new key
Copy and save your API key immediately—it will only be displayed once for security reasons
### Using Your API Key
Include your API key in the `Authorization` header of each request:
```bash theme={null}
curl -X GET "https://api.topsort.com/toppie/v1/campaigns" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
```
### Security Best Practices
**Security Guidelines:**
* Never share API keys in code repositories or public channels
* Rotate keys regularly for enhanced security
* Use environment variables or secure vaults to store keys
* Monitor API usage for any unusual activity
* Implement proper access controls in your applications
## Common Use Cases
Automate campaign creation, budget adjustments, and performance optimization based on predefined rules and triggers. Build workflows that respond to performance thresholds or market conditions.
**Example scenarios:**
* Automatically pause campaigns when ROAS drops below target
* Create new campaigns based on product catalog updates
* Adjust bids dynamically based on time of day or inventory levels
Pull Toppie performance data into existing business intelligence tools or custom dashboards for unified reporting across all marketing channels.
**Example scenarios:**
* Sync daily campaign metrics to Google Sheets or Excel
* Feed data into Tableau, Looker, or Power BI dashboards
* Aggregate retail media performance with other marketing channels
Sync product catalogs automatically and maintain up-to-date inventory across all retail partners, ensuring campaigns always promote available products.
**Example scenarios:**
* Sync product availability from your PIM system
* Update pricing and promotions across all campaigns
* Remove out-of-stock products from active campaigns
Implement custom budget allocation algorithms based on performance metrics and business objectives to maximize returns across retail partners.
**Example scenarios:**
* Reallocate budgets to top-performing retailers
* Implement custom pacing algorithms
* Coordinate spend across multiple campaigns and retailers
## API Documentation
For complete API reference documentation including endpoint specifications, parameters, request/response examples, and error handling guidelines, visit the [Toppie API Reference](/en/api-reference/toppie-api/).
# Product Updates
Source: https://docs.topsort.com/en/changelog
Stay up to date with the latest features, improvements, and releases from Topsort
## [Banners Preserve Resolution](/en/changelog/2026-07-17-aspect-ratio-image-cropping)
Banner campaigns no longer downscale images to slot size
July 17, 2026
Ad Platform
Enhancement
***
## [Catalog Dev Tools](/en/changelog/2026-07-10-catalog-dev-tools)
Monitor product feed catalog sync health and debug ingestion issues from Dev Tools > Catalog
July 10, 2026
Ad Platform
New Feature
***
## [Audience Exclusions](/en/changelog/2026-07-09-audience-exclusions)
Exclude specific audience segments from sponsored listings and banner campaigns to improve targeting precision, budget efficiency, and incremental sales
July 9, 2026
Ad Platform
New Feature
***
## [Billing Tab](/en/changelog/2026-06-26-billing-tab-and-finance-role)
New tab provides monthly summary of billable activity
June 26, 2026
Ad Platform
New Feature
***
## [Charts in Tomi](/en/changelog/2026-06-19-charts-in-tomi)
Tomi can now show interactive charts generated from your prompts
June 19, 2026
Ad Platform
Enhancement
***
## [Tomi Email Composer](/en/changelog/2026-06-12-tomi-email-composer)
Generate emails from a prompt leveraging all of your marketplace data
June 12, 2026
Ad Platform
New Feature
***
## [AI Insights](/en/changelog/2026-05-30-ai-insights)
New tab surfaces AI generated insights about anomalous marketplace trends
May 30, 2026
Ad Platform
New Feature
***
## [Analytics Redesign](/en/changelog/2026-05-29-analytics-reports-redesign)
Redesigned Analytics > Reports with insight cards, period comparisons, trend charts, and vendor name/id or campaign name/id filters
May 29, 2026
Ad Platform
Enhancement
***
## [Campaign Drafting](/en/changelog/2026-05-18-campaign-drafting)
Save and resume banner campaign creation in the same browser
***
## [In-Store Self-Service](/en/changelog/2026-04-22-in-store-self-service)
Vendors can now launch in-store digital display campaigns from the same self-service UI they use for onsite ads
April 22, 2026
Ad Platform
New Feature
***
## [Topsort Prompts](/en/changelog/2026-04-21-sponsored-prompts)
Monetize marketplace chatbot discovery by serving up sponsored and organic product recommendations within chat
April 21, 2026
Ad Platform
New Feature
***
## [Tomi Analytics](/en/changelog/2026-04-17-tomi-analytics)
Tomi now answers performance, campaign, and marketplace analytics questions in natural language, with KPI trends, forecasting, and search across campaigns, products, and vendors
April 17, 2026
Ad Platform
New Feature
***
## [Revamped Banner Flow](/en/changelog/2026-04-13-revamped-banner-flow)
A streamlined banner campaign creation experience with multi-creative, multi-slot assignment, manually or via AI
April 13, 2026
Ad Platform
Enhancement
***
## [Ad Format Configuration](/en/changelog/2026-04-12-ad-format-configuration)
View campaigns, configure charge types, and manage self-service access directly from each Ad Format page
April 12, 2026
Ad Platform
Enhancement
## [Audience Builder](/en/changelog/2026-03-26-audience-builder)
A centralized Audiences tab for creating, viewing, and managing all audience segments in the marketplace UI, with three methods to build audiences: CSV upload, behavioral targeting, and combined lists
March 26, 2026
Ad Platform
New Feature
***
## [GAM Demand Mediation](/en/changelog/2026-03-19-gam-demand-fallback)
Monetize unsold banner inventory by automatically returning Google Ad Manager tags when no Topsort demand is available
March 19, 2026
Ad Server
New Feature
***
## [Tomi](/en/changelog/2026-03-13-tomi)
AI agent for retail media ad operations. Create and manage Sponsored Listings campaigns through natural language.
March 13, 2026
Ad Platform
New Feature
***
## [Audiences per Vendor](/en/changelog/2026-03-06-audiences-per-vendor)
Retailers can now restrict audience segments to specific vendors, preventing unauthorized access to premium or private audiences
March 6, 2026
Ad Server
New Feature
## [Vendor User Management](/en/changelog/2026-03-02-vendor-user-management)
Marketplace admins and sales teams can now manage vendor users, assign roles, and control access directly from the Admin Dashboard
March 2, 2026
Ad Platform
New Feature
## [Category Hierarchy: path Field Now Preferred](/en/changelog/2026-02-26-category-path-field)
The `path` field is now the recommended way to define category hierarchies. The `parentId` field remains fully supported with no plans for removal.
February 26, 2026
Catalog API
Clarification
***
## [Demand Mediation](/en/changelog/2026-02-20-demand-mediation)
Integrate external demand sources like Criteo into Topsort auctions — third-party bids compete directly against Topsort demand, increasing fill rates and ad revenue
February 20, 2026
Ad Server
New Feature
***
## [Build Smarter Audiences from Your Existing Segments](/en/changelog/2026-02-09-audience-builder)
Combined Lists Audience Builder—create precise targeting audiences by merging your uploaded customer lists
February 9, 2026
Ad Platform
New Feature
***
## [Schedule Your Sponsored Listings Like a Pro](/en/changelog/2026-02-05-dayparting-sponsored-listings)
Dayparting lets you control exactly when your sponsored listings appear, so you're spending budget during peak shopping hours
February 5, 2026
Ad Platform
New Feature
***
## [Know Which Banners Actually Work](/en/changelog/2026-02-03-banner-asset-metrics)
Per-asset performance metrics for banner campaigns show you exactly which creative is driving results
February 3, 2026
Ad Platform
New Feature
## [User Management UI](/en/changelog/2026-01-30-user-management-ui)
Enhanced user management with filters, inline editing, invitation controls, and quick actions
January 30, 2026
Ad Platform
New Feature
Update
***
## [Easier, More Powerful Sponsored Products Creation](/en/changelog/2026-01-28-easier-campaign-creation)
A completely redesigned campaign creation flow that guides you through product selection, budgeting, and targeting in clear steps
January 28, 2026
Ad Platform
Improvement
***
## [Enhanced Campaign Activity Logger](/en/changelog/2026-01-23-enhanced-activity-logger)
See exactly when budget changes, targeting updates, and other campaign modifications happened—with visual markers on your performance charts
January 23, 2026
Ad Platform
New Feature
***
## [Analytics Role for Marketplace Users](/en/changelog/2026-01-21-analytics-role)
Read-only access for data analysis without operational permissions
January 21, 2026
Ad Platform
New Feature
## [Sponsored Brands: Multi-Slot Campaigns](/en/changelog/2025-12-30-sponsored-brands-multiple-slots)
Manage multiple Sponsored Brand placements within a single campaign for streamlined operations
December 30, 2025
Ad Platform
Improvement
***
## [Frequency Cap with Clicks](/en/changelog/2025-12-22-frequency-cap-clicks)
Set frequency caps based on clicks or impressions for Banner and Video ads
December 22, 2025
Ad Platform
New Feature
***
## [Company Switcher](/en/changelog/2025-12-19-company-switcher)
Switch between vendor company accounts without separate logins
December 19, 2025
Ad Platform
New Feature
***
## [View Switcher](/en/changelog/2025-12-05-view-switcher)
Switch between marketplace and vendor perspectives without leaving your session
December 5, 2025
Ad Platform
New Feature
## [Vendor Analytics: General Availability](/en/changelog/2025-12-05-vendor-analytics-global-availability)
Vendor Analytics is now available to all marketplaces and vendor users
December 5, 2025
Ad Platform
Improvement
## [Sponsored Brands: Campaign Data Download](/en/changelog/2025-12-03-sponsored-brands-download-button)
Export performance data from Sponsored Brands campaigns with the new download button
December 3, 2025
Ad Platform
Improvement
## [Banner Ads: Fallback Image Upload](/en/changelog/2025-12-02-banner-fallback-image-upload)
Upload fallback images directly for banner ad slots instead of providing URLs
December 2, 2025
Ad Platform
Improvement
## [Sponsored Brands: Targeting Updates](/en/changelog/2025-12-01-sponsored-brands-targeting-updates)
Sponsored Brands campaigns now support audience targeting, bulk product upload, and product ID search for streamlined campaign creation and precise targeting
December 1, 2025
Ad Platform
Improvement
## [Banner Ads: Exclusive Position Control](/en/changelog/2025-12-01-banner-exclusive-position-control)
Choose specific positions (1-10) for exclusive Banner campaigns to control ad placement in auction results
December 1, 2025
Ad Platform
Improvement
## [Sponsored Brands Geolocation Targeting](/en/changelog/2025-11-20-sponsored-brands-geolocation)
Enhanced Sponsored Brands with geolocation targeting capabilities for precision audience reach based on user location
November 20, 2025
Ad Platform
Improvement
## [In-Store Ads](/en/changelog/2025-11-13-instore-ads)
Connect with external CMS platforms to manage physical screen advertising campaigns for omnichannel retail media
November 13, 2025
Ad Platform
New Feature
## [Attribute-Based Product Filtering for Sponsored Listings](/en/changelog/2025-11-06-attribute-based-product-filtering)
Filter sponsored products by attributes to display only relevant variants in auctions with configurable AND/OR logic
November 5, 2025
Ad Platform
New Feature
## [Manual Category Exclusion for Sponsored Listings](/en/changelog/2025-11-06-manual-category-exclusion)
Exclude specific categories from campaigns while maintaining products in their catalog structure with hierarchical category display
November 5, 2025
Ad Platform
Improvement
## [Negative/Excluding Audiences API](/en/changelog/2025-10-29-negative-excluding-audiences)
Maximize campaign ROI by excluding users who don't match your targeting criteria
October 28, 2025
Ad Server
New Feature
## [Topsort MCP Server](/en/changelog/2025-10-23-mcp-server-support)
Connect AI assistants directly to Topsort's API documentation for accurate, real-time integration support
October 22, 2025
Ad Server
New Feature
## [Vendor Analytics](/en/changelog/2025-10-03-vendor-analytics)
New analytics tab provides transparent campaign performance insights for vendors with comprehensive reporting capabilities
October 2, 2025
Ad Platform
New Feature
## [AI Image Resizing for Banner Ads \[Alpha\]](/en/changelog/2025-09-18-ai-image-resizing)
Automatically resize banner images with AI technology for optimal placement
September 25, 2025
Ad Platform
New Feature
## [Data Genie](/en/changelog/2025-09-18-data-genie)
AI-powered conversational analytics for marketplace admins to get insights and data visualizations
September 17, 2025
Ad Platform
New Feature
## [Sponsored Listings Forecasting](/en/changelog/2025-09-11-sponsored-listings-forecasting)
See expected campaign performance with forecasting insights during campaign creation
September 10, 2025
Ad Platform
New Feature
## [Reserve Prices Per Geolocation](/en/changelog/2025-09-04-reserve-prices-geolocation)
Set minimum pricing controls for ad inventory based on geographic locations to optimize revenue across different markets
September 3, 2025
Ad Server
New Feature
## [Broad Keyword Matching](/en/changelog/2025-09-03-keyword-broad-matching)
Enhanced keyword targeting with broad match type support
September 2, 2025
Ad Platform
Improvement
## [Offsite Audiences API](/en/changelog/2025-08-30-offsite-audiences-api)
Create and manage custom audiences for offsite advertising campaigns
August 29, 2025
Ad Server
New Feature
## [Toppie Catalog Tab](/en/changelog/2025-08-28-toppie-catalog-tab)
Global Product Catalog for unified product management across the entire Topsort Network
August 27, 2025
Toppie
New Feature
## [Sponsored Brands V2](/en/changelog/2025-08-14-sponsored-brands-v2)
Enhanced sponsored brands with multiple products, video support, and advanced targeting - initial release for admin dashboard
August 13, 2025
Ad Platform
New Feature
## [Campaign API - Sponsored Listings Enhancements](/en/changelog/2025-08-13-sponsored-listings-api-enhancements)
The Campaign API now supports audience targeting and frequency capping for sponsored listings campaigns.
August 12, 2025
Ad Server
Improvement
## [Audience Targeting for Sponsored Listings](/en/changelog/2025-08-13-sponsored-listings-audience-targeting)
Target specific user segments with sponsored listings campaigns using filtering and boosting strategies
August 12, 2025
Ad Platform
New Feature
## [Frequency Cap for Sponsored Listings](/en/changelog/2025-08-13-sponsored-listings-frequency-cap)
Control impression frequency to improve user experience and campaign efficiency
August 12, 2025
Ad Platform
New Feature
## [Toppie Banners](/en/changelog/2025-08-13-toppie-banners)
Enabling agencies to run banner advertising campaigns across multiple retail partners
## [Toppie Analytics](/en/changelog/2025-08-06-toppie-analytics)
Comprehensive campaign performance analytics for agencies and retailers to understand demand and optimize performance
August 5, 2025
Toppie
New Feature
## [Banners—Slot Reserve Prices for Manual Bidding](/en/changelog/2025-08-05-banners-add-slot-reserve-prices-manual)
Set minimum CPM and CPC reserve prices per banner slot to ensure optimal revenue thresholds
August 4, 2025
Ad Platform
Improvement
## [Link Products to Banner Campaigns](/en/changelog/2025-08-05-link-product-to-banners)
Connect specific products to banner campaigns for enhanced targeting, relevance, and attribution
August 4, 2025
Ad Platform
New Feature
## [Listings—Category Reserve Prices for Manual Bidding](/en/changelog/2025-08-05-listings-add-category-reserve-prices-manual)
Manual bidding validation now includes category-level reserve prices alongside marketplace minimums
August 4, 2025
Ad Platform
Improvement
## [Toppie Campaigns Tab](/en/changelog/2025-08-04-toppie-campaign-tab)
Centralized campaign management interface for viewing, filtering, and managing all your Toppie campaigns
August 3, 2025
Toppie
New Feature
## [Campaign Migration](/en/changelog/2025-07-30-campaign-migration)
Comprehensive migration guides for seamless platform transitions
July 29, 2025
Ad Platform
New Feature
## [Enhanced Exclusive Campaign Logic](/en/changelog/2025-07-30-exclusive-campaign-logic)
Advanced fill rate distribution for multiple exclusive banner campaigns on the same ad slot
July 29, 2025
Ad Platform
Improvement
## [Banner Templating](/en/changelog/2025-07-24-banner-templating)
Create standardized, reusable banner ad templates to streamline campaign creation and maintain brand consistency
July 23, 2025
Ad Platform
New Feature
## [German Language Support](/en/changelog/2025-07-23-add-deutsch-language)
German language options now available across Admin and Self Service platforms
July 22, 2025
Ad Platform
New Feature
## [Salesforce Integration](/en/changelog/2025-07-21-salesforce-integration)
Connect your SFCC-based marketplace directly to Topsort's auction engine for sponsored products and banner ads
July 20, 2025
Ad Server
New Feature
## [Toppie API Keys](/en/changelog/2025-07-17-toppie-api-keys)
Programmatic access to manage campaigns and analytics across retail media networks
July 16, 2025
Toppie
New Feature
## [Attribution by Ad Format](/en/changelog/2025-07-10-attribution-by-ad-format)
Configure attribution models and windows for each ad format to better measure performance
July 9, 2025
Ad Platform
New Feature
## [Banner Improvements](/en/changelog/2025-07-03-banner-improvements)
New metrics and slot configuration for banner ads
July 2, 2025
Ad Platform
Improvement
## [Vendors Metadata](/en/changelog/2025-07-02-vendors-metadata)
Vendors Metadata is a new feature that allows you to manage vendor specific attributes through metadata.
July 1, 2025
Ad Platform
New Feature
## [Product Creation via UI](/en/changelog/2025-05-28-product-creation-via-ui)
Marketplace admins can now create and update products directly from the Admin Dashboard UI.
May 27, 2025
Ad Platform
New Feature
## [SDKs Upgrade](/en/changelog/2025-05-14-sdks-upgrade)
Upgrades of our Low Code SDKs for iOS and Android, adding callbacks logic to the banner components.
May 13, 2025
Ad Server
Improvement
## [Audience Filtering & Enhanced Event Data](/en/changelog/2025-05-01-audience-filtering-trial-expiration-ai-predictions-enhanced-event-data)
CDP audience segments for targeted banner ads, a sandbox trial expiration, and Events API enhancements
April 29, 2025
Ad Server
New Feature
## [CDP integration](/en/changelog/2025-04-30-cdp-integration)
Add CDP integration to Topsort and use your segments to target users in campaigns
April 22, 2025
Ad Server
New Feature
## [Public API Improvements](/en/changelog/2025-04-16-public-api-improvements)
Add Frequency Cap to Public API and create new reporting endpoint for attributed purchases
April 15, 2025
Ad Server
Improvement
## [New Vendor Creation UI](/en/changelog/2025-04-09-new-vendor-creation-ui)
Admins can now create vendors using the UI without
April 8, 2025
Ad Platform
Improvement
## [Wallets for Budget Control](/en/changelog/2025-04-09-wallets-for-budget-control)
Wallets are now supported in the UI allowing admins to create separate balances per vendor.
April 8, 2025
Ad Platform
New Feature
## [Frequency Cap for Banners](/en/changelog/2025-03-13-frequency-cap-for-banners)
Limit the number of times a user sees the same ad within a given timeframe
March 12, 2025
Ad Platform
New Feature
## [Custom Mails for Vendor Notifications](/en/changelog/2025-02-28-custom-mails-for-vendor-notifications)
Custom Mails allows marketplaces to personalize vendor email notifications, ensuring a branded and consistent communication experience
February 27, 2025
Ad Platform
New Feature
## [Keyword Phrase Matching](/en/changelog/2025-02-12-keyword-phrase-matching)
Keyword phrase matching is crucial for improving campaign targeting accuracy, enhancing relevance for shoppers, and maximizing ROAS for advertisers
February 11, 2025
Ad Platform
Improvement
## [Travel Targeting](/en/changelog/2025-01-03-travel-targeting)
Advertisers can now target users based on travel windows, traveler types, and other criteria.
January 2, 2025
Ad Platform
New Feature
## [CPA (cost-per-action) Charge Type](/en/changelog/2024-12-30-cpa-cost-per-action-charge-type)
Advertisers can now choose CPA Charge Type for sponsored listings so they are only charged when a conversion is attributed.
December 29, 2024
Ad Platform
New Feature
## [New Budget Options for Banner Ads](/en/changelog/2024-12-10-new-budget-options-for-banner-ads)
Advertisers can now choose between daily, weekly, monthly, or total budgets for banner ads campaigns, providing greater flexibility and control.
December 9, 2024
Ad Platform
Improvement
## [Enhanced roles and permissions](/en/changelog/2024-11-22-enhanced-roles-and-permissions)
Introduced granular Role-Based Access Control (RBAC), allowing Key Account Managers to manage vendor-specific campaigns and data with tailored permissions, improving security and workflow efficiency.
November 21, 2024
Ad Platform
Improvement
## [Kotlin SDK 1.1.0](/en/changelog/40-october-8-2024)
We are proud to announce the release of our latest Kotlin SDK, designed to enhance developer productivity and streamline application development. This new library is now available on Maven Central, making it easier than ever for developers to integrate into their projects using Gradle.
October 7, 2024
Ad Server
Improvement
## [Better attribution and improvements](/en/changelog/40-october-7-2024)
We are pleased to announce two new features designed to enhance user tracking and ad campaign precision. These updates will empower marketplaces and advertisers to better track user behavior, optimize ad spend, and increase campaign effectiveness.
October 6, 2024
Ad Server
Improvement
## [Banner improvements](/en/changelog/41-october-7-2024)
This release introduces several new features designed to enhance flexibility, control, and effectiveness of ad campaigns for retailers and advertisers. This provide greater control over campaign performance, budget allocation, and overall user experience.
October 6, 2024
Ad Platform
Improvement
## [Better reporting](/en/changelog/42-october-7-2024)
We have introduced several updates to improve visibility, reporting, and analysis for both marketplaces and vendors. These updates enable better analysis, campaign optimization, and more accurate reporting.
October 6, 2024
Ad Platform
Improvement
## [New tools to provide a seamless integration experience](/en/changelog/37-october-4-2024)
We are excited to announce several key updates aimed to improve integration processes and enhancing usability across our platform.
October 3, 2024
Ad Server
Improvement
## [New and improved SDKs](/en/changelog/38-october-4-2024)
We are thrilled to introduce new SDKs and features designed to simplify and speed up the integration of Topsort for retailers and marketplaces.
October 3, 2024
Ad Server
Improvement
## [New ad formats](/en/changelog/39-october-4-2024)
We are excited to announce the launch of new ad formats on Topsort. These formats are designed to help brands and agencies create more engaging and effective advertising campaigns across the Topsort Ad Network.
October 3, 2024
Ad Platform
New Feature
## [Better integration with current systems](/en/changelog/33-october-3-2024)
We've introduced three key improvements to streamline integration and data management. Campaign Change Webhook reduces API polling by notifying users of campaign updates in real-time; Campaign ID in Auction Responses allows clients to map auctions to internal campaigns for better tracking and analysis; and Product Metadata in Catalog enables custom fields for enhanced product organization and advertiser experience.
October 2, 2024
Ad Server
Improvement
## [Enhanced vendor experience](/en/changelog/34-october-3-2024)
We are excited to announce several updates aimed at enhancing the vendor experience on Topsort. These improvements focus on making the onboarding process smoother, improving communication, and offering more flexibility through Single Sign-On (SSO) integration.
October 2, 2024
Ad Platform
Improvement
## [Improve security and support](/en/changelog/35-october-3-2024)
We are excited to announce key updates to the Topsort platform, focusing on enhanced security and an improved customer support experience. These updates are designed to give marketplace users more control over access to information and make it easier for clients to find the help they need.
October 2, 2024
Ad Platform
Improvement
## [New: Toppie](/en/changelog/36-october-3-2024)
Toppie serves as a new investment channel for agencies and brands, which enables them to reach several marketplaces from one place. We are super excited not only to help agencies and brands optimize their operations but also Topsort’s retailers by giving them the opportunity to access new demand and gain additional ad revenue.
October 2, 2024
Ad Platform
New Feature
## [Enhanced Security Features](/en/changelog/32-july-12-2024)
These updates reflect our commitment to enhancing both the security features of our platform and the flexibility with which users can manage their advertising campaigns. We are continually striving to improve our platform to meet the needs of our diverse user base.
July 11, 2024
Ad Server
Improvement
## [Quick reporting UI enhancements](/en/changelog/31-july-2-2024)
The Topsort Dashboard centralizes essential data in real-time, giving you everything you need in one place. We’re constantly innovating to present information more effectively, helping you make better decisions and adding value.
June 25, 2024
Ad Platform
Improvement
## [Campaign management enhancements](/en/changelog/30-june-3-2024)
At Topsort, we’re always thinking about how to make processes smoother and more efficient for our users. Whether it’s enhancing the way you manage your ad campaigns or streamlining your financial transactions, our goal is to make your experience as seamless as possible. Today, we’re excited to introduce two powerful new features designed to elevate your marketing efforts and operational efficiency: Total Budget Control and Self-Service Payments.
June 2, 2024
Ad Platform
Improvement
## [New: Sponsored Brands and Self-service Payments](/en/changelog/29-may-1-2024)
At Topsort, we’re continually innovating to enhance your experience and extend your capabilities within the digital marketplace. This month, we’re excited to introduce two powerful new features designed to streamline your operations and amplify your success: Sponsored Brands and Self-Service Payments.
March 31, 2024
Ad Platform
New Feature
## [New: Custom Branding for Vendor Dashboards](/en/changelog/28-january-5th-2024)
Today we are really excited to announce some new Topsort Product features. Every Product decision we take is intended to get us one step closer to our mission of democratizing advanced monetization technology through simple, easy-to-use products.
January 27, 2024
Ad Platform
Improvement
## [Enhancements to platform experience](/en/changelog/27-september-18th-2023)
This week, we’ve rolled out pivotal updates to enhance your ad platform experience. Now you can set Target ROAS at the campaign level directly in the admin dashboard. We also launched category-specific Reserve Prices, and advanced editing for Sponsored Listings.
September 17, 2023
Ad Platform
Improvement
## [Enhancements to Autobidding Control](/en/changelog/26-august-28th-2023)
This week, we’ve enhanced the Autobidding Control for direct Target ROAS adjustments for vendors. Additionally, we’ve expanded banner attribution, refined the vendor dashboard, and standardized dashboard data to UTC time. These updates underscore our dedication to optimizing the Topsort platform experience.
August 27, 2023
Ad Platform
Improvement
## [New: Multi-creative banners](/en/changelog/25-july-28-2023)
This week, we unveiled a feature that allows the creation of multi-creative banner campaigns via our dashboard. We’ve improved monitoring, provided detailed campaign configurations, and targeting info for better campaign management. Plus, we’ve streamlined onboarding and added customizable time zones for a personalized user experience.
July 27, 2023
Ad Platform
New Feature
## [New: Advanced Analytics](/en/changelog/24-july-14-2023)
This week Topsort introduces Advanced Analytics, enabling users to access granular data, create custom dashboards, and make data-driven decisions. Simplified sandbox switching and a Kotlin library for easy event reporting further enhance the user experience.
July 13, 2023
Ad Platform
New Feature
## [Improvements to API key organization](/en/changelog/23-june-1-2023)
This week, we introduced the ability for admins to add labels to API keys for improved organization and launched new metrics within the campaign view for deeper insights into campaign performance. These features aim to enhance workflow efficiency and provide valuable data for more informed decision-making.
May 31, 2023
Ad Server
Improvement
## [New: Autobidding control](/en/changelog/22-may-22-2023)
This week, we launched a new Autobidding Control feature in the admin dashboard, providing enhanced control and insights for ad businesses. We also introduced the beta version of the Products Tab, facilitating easy access and management of product catalogs, and some improvements for campaign creation and monitoring.
May 21, 2023
Ad Platform
Improvement
## [New: Exclusive Banners](/en/changelog/21-april-5-2023)
This week’s update brings the Exclusive Banners for fixed tenancy and premium offerings, and Improved Reporting for deeper insights into banner ad performance. These enhancements aim to streamline campaign creation, meet vendor demands, and provide valuable analytics for your ad business.
April 4, 2023
Ad Platform
New Feature
## [New: Analytics dashboard](/en/changelog/20-march-27-2023)
This week, we launched a new Analytics tab on the dashboard that provides marketplace admins with an overview of ad performance metrics, including aggregated data on the marketplace level and detailed data per vendor. We also introduced a new navigation design, the ability to share marketplace content standards with vendors, and a new campaign type called “CPM Listings Campaign.” We are sure that these features will improve the ad management experience and streamline your workflows.
March 26, 2023
Ad Platform
Improvement
## [Banner improvements](/en/changelog/19-march-8-2023)
We have revamped the banner experience with improvements around the core areas of banner ads: Configuration, Campaign Creation, and Targeting. In addition to a smoother and more coherent banner ads experience, you can now create exclusivity with your placements for a premium offering. We also implemented SSO for easier login and launched a new API to simplify vendor invitations.
March 7, 2023
Ad Platform
Improvement
## [New: Multi-marketplace logins](/en/changelog/18-january-9-2023)
We started this year by releasing two significant features. The multi-marketplace login allows marketplace admins seamlessly switch between different countries, business functions, or languages. We also released the banner ads flow that has a better user experience with a simpler UI and allows serving multiple banner ads on landing pages.
January 8, 2023
Ad Platform
Improvement
## [New: Vendor Activity Logs](/en/changelog/17-december-23)
This week we released Activity Logs to help you stay in the know about your vendors’ activity and provide faster support! We also added the campaign tab on the vendor dashboard for easier campaign management.
December 21, 2022
Ad Platform
Improvement
## [New: Reporting API](/en/changelog/16-december-5)
Recently, Topsort has released the new Reporting API that makes reporting easier on the marketplace, vendor, campaign, and product level. Marketplaces can now use the Reporting API to get daily or aggregated behavior summary data. We also added new vendor metrics to help marketplace admins have better insight into vendor performance.
December 4, 2022
Ad Server
New Feature
## [More vendor permission changes](/en/changelog/15-november-17-2022)
This week, the Topsort team released additional vendor permission settings for marketplace admins, added a search feature to the campaigns list, deployed a campaign relaunch feature, and made campaign pages more informative with campaign status notifications. We also added information boxes and tooltips to clarify how different budget types work.
November 16, 2022
Ad Platform
Improvement
## [Vendor permission changes](/en/changelog/14-november-1-2022)
Now you can manage vendor dashboard permissions within the admin dashboard. We also added a product search feature to the campaigns and deployed upgrades to the /events endpoint. We made changes in the API documentation and improved the help center experience within the vendor dashboard.
October 31, 2022
Ad Platform
Improvement
## [New: Sales Training Module](/en/changelog/13-october-18-2022)
This week we launched the Sales Training module on the admin dashboard, launched Analytics access for vendors, added email notifications for the rejected banner ads, and deployed some UI changes to make it easier to monitor your balance and ad spend and configure banner ads.
October 17, 2022
Ad Platform
Improvement
## [Campaign status notifications](/en/changelog/12-october-5-2022)
This week we released some updates to keep marketplaces and vendors notified of their campaign status changes and added a button to refresh dashboard metrics. We also improved the logs service performance.
October 4, 2022
Ad Platform
Improvement
## [New: Personalized seller notifications](/en/changelog/11-september-28-2022)
Now you can send personalized notifications to sellers when their balance is running low or runs out. That way they can top up easily, and keep their campaigns running. We also implemented some data visualization fixes, made campaign end dates visible, and added sorting to the transactions report.
September 27, 2022
Ad Platform
Improvement
## [New: Filtering API and Schema Validator](/en/changelog/10-sept-23-2022)
This week, the Topsort team released new features related to API Logs to make it easier for developers to troubleshoot issues. Now you can filter errors by API and see the cause of an error quicker with our Schema Validator
September 22, 2022
Ad Server
Improvement
## [New: Ad reviews UI](/en/changelog/9-aug-31-2022)
Welcome back to another product update! We’ve improved the ad reviews interface and user flows, so that marketplace users can easily review banner ad campaign requests at scale. Our new “manage” tab organizes the requests by status: pending approval, approved, rejected, and rejected with feedback.
August 30, 2022
Ad Platform
Improvement
## [New: Topsort status updates](/en/changelog/8-aug-16-2022)
This week, we set up Topsort Status Updates for all our users. Be in the loop about any downtimes and incidents with our platform using the status page. 🚧🛠
August 15, 2022
Ad Platform
Improvement
## [New: Billing API](/en/changelog/7-aug-9-2022)
Recently, Topsort has released the new Billing API that makes billing operations easier and more transparent for marketplaces and vendors. Marketplaces can now use the Billing API to check a vendor’s balance, their credit history, issue free credits, and manage credit limits. API Logs also got a revamp!
August 8, 2022
Ad Server
New Feature
## [New: API Logs for developers](/en/changelog/6-july-26-2022)
This week, the Topsort team releases the API Logs module for developers to troubleshoot issues quicker than ever before. This first launch in developer tools aims to bring transparency and clarity into the API integrations process for marketplace engineering teams. 🧑🔧
July 25, 2022
Ad Server
Improvement
## [Vendor onboarding improvements](/en/changelog/5-july-21-2022)
Topsort has updated the vendor experience in two ways. First, a vendor’s first-time sign-up process now includes more fields for the user to specify their preferences and business roles. Secondly, the vendor dashboard now has a budget timer.
July 20, 2022
Ad Platform
Improvement
## [Marketplace UI improvements](/en/changelog/4-july-12-2022)
This week, Topsort has updated our marketplace UI to improve your user experience. We’ve added a new way to view how many members are dedicated to a vendor account on Topsort. We’ve also moved “Ad Reviews” next to “Configurations” so that marketplace representatives can manage every setting related to banner ads all in one place.
July 11, 2022
Ad Platform
Improvement
## [More improvements to banner ads](/en/changelog/3-july-1-2022)
This week, Topsort released many improvements for banner ad configurations and campaign creation. Marketplaces and advertisers can now advertise on mobile as well. We also implemented the Kafka platform to improve real-time analytics for our users and empower them to create campaigns with confidence.
June 30, 2022
Ad Platform
Improvement
## [New: Banner ad campaigns](/en/changelog/2-june-15-2022)
We’re excited to announce our newest release: Banner Ad campaigns (new and improved)! You can now run auction-based banner ads anywhere on your marketplace website! We’ve also built a whole Banner Ad Configuration module to support banner ad campaign creation.
June 14, 2022
Ad Platform
New Feature
## [New and improved banner ads](/en/changelog/1-march-2022)
We released a bunch of improvements around creating and running Banner Ads in March. Check out our new Banner Ads creation and approval cycles. 🔄 ✅ Boleto is also now a payment option for our Brazilian friends! 💰💱
March 26, 2022
Ad Platform
Improvement
# Banner Improvements
Source: https://docs.topsort.com/en/changelog/2025-07-03-banner-improvements
New metrics and slot configuration for banner ads
July 2, 2025Ad PlatformImprovement
# Viewability Metrics in Banner Ad Campaigns
**Why It's Important**
These new metrics provide a much deeper and more accurate understanding of how users are interacting with banner ads. Previously, it was difficult to know if an ad that was served was actually seen by the user. With viewability data, we can now differentiate between an ad being simply delivered and an ad being genuinely viewed. This is a critical distinction for accurately measuring ad effectiveness and ROI.
## Key Benefits
**Accurate Performance Measurement**:
Understand the true reach and impact of your campaigns by focusing on viewable impressions, not just total impressions. Adjust your campaign configuration to achieve the best results.
**Improved Optimization**:
Identify high-performing and underperforming ad placements. If an ad has high impressions but low viewability, it may be placed in a location that users rarely scroll to.
## How to Use
1. In your campaign reports for banner ads, you will now see four new tiles: "Win Percentage," "Auctions Won," "Viewable Impressions," and "Viewability."
2. Monitor these metrics alongside your other campaign data (like clicks and CPM) to get a complete picture of performance.
3. Use the data to find any issues with your targeting options or adjust your bidding strategy.
# Reserve Prices for Banner Ad Slots
**Why It's Important**
This feature gives retailers more control over the value of their ad inventory. In an auction-based environment, setting a floor price is crucial to prevent inventory from being sold for less than its perceived value. This is especially important for premium ad slots that are in high demand.
## Key Benefits
**Protect Inventory Value**:
Prevent your premium ad slots from being undersold in low-bid auctions.
**Increase Ad Spend and Revenue**:
By setting a minimum price, you encourage autobidding campaigns to bid higher, which can lead to increased overall ad spend and revenue.
**Maximize Yield**:
Strategically set reserve prices based on demand, seasonality, or slot performance to maximize the yield from your ad inventory.
## How to Use
1. Share with Topsort a file with slot ids and reserve prices.
2. Enter the minimum CPM and CPC you are willing to accept for that slot.
3. Our autobidding system will not place a bid below this price for that specific slot.
```
#CSV file with
external_slot_id,cpm_reserve_price,cpc_reserve_price
slot-top-landing,10,15
```
# Attribution by Ad Format
Source: https://docs.topsort.com/en/changelog/2025-07-10-attribution-by-ad-format
Configure attribution models and windows for each ad format to better measure performance
July 9, 2025Ad PlatformNew Feature
**Why It's Important**
Different ad formats serve different purposes in the customer journey. A banner ad creates awareness at the top of the funnel, while a sponsored listing drives immediate purchase decisions. Using the same attribution model for all formats doesn't accurately reflect their true contribution to conversions. This update allows you to tailor attribution logic to match how each format actually influences customer behavior.
## What's New
We're introducing the ability to customize attribution models and windows for each ad format independently:
* **Sponsored Listings**
* **Sponsored Brands**
* **Banner/Native/Video Ads** (grouped together)
Each format can now have its own:
* **Attribution Model**: Last-click or last-impression
* **Attribution Window**: 1-30 days
## Key Benefits
**Accurate Performance Measurement**:
Measure the true impact of each ad format based on its role in the customer journey. Banner ads that influence purchases weeks later will now get proper credit.
**Smarter Budget Allocation**:
Discover which ad formats truly drive conversions when measured correctly. Reallocate spend to formats that deliver higher ROAS under appropriate attribution windows.
**Format-Specific Optimization**:
Optimize each ad format based on its actual contribution pattern. Upper-funnel formats can be evaluated on longer-term impact rather than immediate conversions.
## How It Works
### Attribution Models Available
* **Last-Click**: Credits the last ad clicked before conversion (default for all formats)
* **Last-Impression**: Credits the last ad viewed, even without a click
### Attribution Rules
1. Each conversion is attributed to **only one** ad interaction
2. **Priority order**:
* Clicks take priority over impressions
* Direct attribution has priority over halo attribution
3. Attribution window can be set from **1 to 30 days** per format
## Getting Started
1. Contact your Topsort account team to discuss your attribution strategy and goals.
2. We'll help you configure appropriate models and windows for each ad format based on your business needs.
3. Monitor performance in your reports, which will clearly show which attribution model and window are applied to each metric.
4. Adjust settings as needed based on performance data and seasonal patterns.
## Example Use Cases
### Scenario 1: Revealing Banner Ad Value
A retailer discovers their banner ads frequently contribute to conversions 2-3 weeks after impression. By extending the attribution window from 7 to 30 days, they uncover that banner ads drive 3x more conversions than previously measured, leading to increased banner investment.
### Scenario 2: Optimizing Format Mix
Using last-impression attribution for video ads with a 14-day window, while keeping last-click for sponsored listings with a 7-day window, provides clearer insights into each format's role. This leads to a 25% improvement in overall ROAS through better budget allocation.
## Important Considerations
* **Reporting Transparency**: All reports will clearly indicate which attribution model and window are used for each format
* **eCVR Integration**: Attribution calculations are fully integrated with our predictive models
* **Configuration Flexibility**: Settings can be adjusted as you learn more about your customers' behavior patterns
## Questions?
Contact your Topsort account manager to discuss how customizable attribution models can help you better understand and optimize your ad performance across all formats.
# Toppie API Keys
Source: https://docs.topsort.com/en/changelog/2025-07-17-toppie-api-keys
Programmatic access to manage campaigns and analytics across retail media networks
July 16, 2025
Toppie
New Feature
**Why It's Important**
API keys enable secure, programmatic access to Toppie's unified retail media platform. Whether you're automating campaign management, building custom dashboards, or integrating Toppie data into your existing workflows, API keys provide the foundation for scaling your retail media operations beyond the UI.
## What's New
We're rolling out API keys for Toppie, our demand-side platform that streamlines retail media buying across multiple retailers. All Toppie API endpoints will now require secure, **token-based authentication.**
## Key Benefits
**Automate Campaign Operations**:
Build workflows that create, manage, and optimize campaigns across multiple retailers without manual intervention.
**Custom Integrations**:
Connect Toppie data to your BI tools, reporting dashboards, or internal systems for unified retail media analytics.
**Secure Access Control**:
Role-based permissions ensure team members only access the data and capabilities they need.
## How to Create API Keys
1. Navigate to **Settings** in your Toppie dashboard
2. Select **API Integration** from the left-hand navigation
3. Click the **"+ New API Key"** button
4. **Important:** Copy and save your API key immediately—it will only be displayed once for security
5. Store your API key in a secure location (password manager, secrets management system, etc.)
## Using Your API Keys
Once you have your API key, you can start making requests to the Toppie API. Include your key in the request headers for authentication.
### Example Request
```bash theme={null}
curl -X GET https://api.topsort.com/toppie/v1/campaigns \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-H "Content-Type: application/json"
```
### Available Endpoints
Explore the full capabilities of the Toppie API:
* Product Catalog Access
* Campaign Lifecycle Management
* Advanced Analytics and Reporting
Visit our [Toppie API Reference](/en/api-reference/toppie-api/%5Bbeta%5D-get-toppie-campaigns) for complete documentation.
## Questions?
Contact your Toppie account manager for assistance with API integration or to discuss advanced use cases for programmatic campaign management.
# Salesforce Integration
Source: https://docs.topsort.com/en/changelog/2025-07-21-salesforce-integration
Connect your SFCC-based marketplace directly to Topsort's auction engine for sponsored products and banner ads
July 20, 2025Ad ServerNew Feature
We've added a comprehensive **Salesforce Commerce Cloud (SFCC) Integration** that enables SFCC-based marketplaces to seamlessly connect with Topsort's auction engine. Display bid-ranked sponsored products and banner ads directly within your native storefront experience.
## Key Benefits
**Native User Experience**:
Sponsored products and banners integrate seamlessly into your existing SFCC storefront without disrupting the customer journey
**Monetize Product Listings**:
Generate revenue from vendor bids while maintaining your marketplace's native look and feel
**Real-Time Optimization**:
Dynamic placement optimization based on Topsort's auction logic maximizes both user experience and revenue
**Minimal Setup Required**:
Quick implementation with just API credentials and simple auction calls in key pages
## Integration Features
### Sponsored Products
Transform your category and search pages with bid-ranked sponsored listings that feel native to your storefront.
**How It Works**
* Hooks into SFCC's category and search page controllers to send product context to Topsort
* Receives a ranked list of sponsored products from the auction engine
* Reorders visible listings based on real-time auction results
### Banner Ads
Monetize premium placements throughout your storefront with sponsored banner advertisements.
**How It Works**
* Integration sends requests to Topsort's `auction` endpoint including banner slot information
* Topsort responds with ranked banner creatives based on auction results
* Banners render in designated slots on homepage, search, or category pages
## Implementation
1. **Configure API Credentials** - Set up your Topsort API credentials in your SFCC environment
2. **Inject Auction Calls** - Add auction calls to key storefront pages (search, category, homepage)
3. **Map Product Context** - Send relevant product and page context to Topsort's auction engine
4. **Render Results** - Display auction-ranked sponsored products and banners in your storefront
5. **Test & Optimize** - Monitor performance and adjust placements for optimal results
## Resources
Get started with some documentation and code:
* [**SFCC Integration Guide**](/en/ad-platform/plugins/salesforce/) - Setup instructions
* [**GitHub Repository**](https://github.com/Topsort/salesforce-topsort-auctions) - Implementation
***
The Salesforce Commerce Cloud integration is available now. Contact your Topsort representative to begin implementation and start monetizing your SFCC marketplace with sponsored products and banner ads.
# German Language Support
Source: https://docs.topsort.com/en/changelog/2025-07-23-add-deutsch-language
German language options now available across Admin and Self Service platforms
July 22, 2025Ad PlatformNew Feature
We've added **German language support** to both the Retail Media Platform (Admin) and Self Service interfaces, making our platforms more accessible to German-speaking users across Europe and beyond.
## Key Benefits
**Enhanced Accessibility**:
German-speaking retailers and vendors can now navigate the platform in their preferred language
**Improved User Experience**:
Localized interface reduces friction and increases platform adoption for German markets
**Market Expansion**:
Support for German-speaking regions opens opportunities for broader platform adoption
**Consistent Localization**:
Complete translation across all platform features and interfaces
## Platform Availability
### Retail Media Platform (Admin)
German language support is now available for:
* Campaign management interfaces
* Analytics and reporting dashboards
* Settings and configuration pages
* User management and billing sections
### Self Service Platform
German localization includes:
* Vendor marketplace interface
* Product catalog management
* Performance analytics
* Account settings and preferences
## How to Use
1. Log into your Admin or Self Service dashboard
2. Navigate to your **Account Settings** or look for the language selector in the top navigation
3. Select **Deutsch (German)** from the available language options
4. The interface will refresh with German translations
5. Language preference is saved automatically for future sessions
***
German language support is available now across both platforms. Contact your Topsort representative if you need assistance with language settings or have feedback on the German translations.
# Banner Templating
Source: https://docs.topsort.com/en/changelog/2025-07-24-banner-templating
Create standardized, reusable banner ad templates to streamline campaign creation and maintain brand consistency
July 23, 2025Ad PlatformNew Feature
**Why It's Important**
Banner ads often consist of multiple customizable elements—headlines, images, buttons, descriptions, pricing—that can vary significantly across different placements and campaigns. Without standardization, maintaining brand consistency and streamlining ad creation becomes challenging and time-consuming. Banner ad templates solve this by providing reusable frameworks that teams can quickly customize while ensuring design consistency across all campaigns.
## What's New
Introducing **Banner Templating**—a powerful feature that lets you create standardized, reusable templates for your banner advertising campaigns. These templates enable teams to quickly build native-style banner ads following a structured, repeatable framework while maintaining design consistency.
## Key Benefits
**Streamlined Ad Creation**:
Build campaigns faster using pre-designed templates with customizable fields. No need to recreate ad structures from scratch for each campaign.
**Brand Consistency**:
Maintain uniform design standards across all banner ad placements while allowing for necessary customization per campaign.
**Flexible Customization**:
Configure templates with various field types—text, images, links, buttons—to match your specific placement requirements and creative needs.
## How It Works
Create templates by uploading a preview image and CSV configuration file that defines your customizable fields. Once created, advertisers can select templates when building banner campaigns and fill in the specific details for each campaign.
For detailed step-by-step instructions, visit our [Native Ads—Banner Templating](/en/knowledge-base/ad-platform/banners/native-ads-banners-templating/) guide.
## Getting Started
Banner templating is available now in the Ad Platform. Navigate to **Banner Ads > Templates** to start creating your first template, or contact your Topsort account manager for guidance on template strategies that align with your advertising goals.
# Campaign Migration
Source: https://docs.topsort.com/en/changelog/2025-07-30-campaign-migration
Comprehensive migration guides for seamless platform transitions
July 29, 2025Ad PlatformNew Feature
**Why It's Important**
Transitioning to a new ad platform shouldn't mean starting from scratch. Our new campaign migration documentation provides clients with clear pathways to transfer both their existing campaign structures and historical performance data, ensuring business continuity and accelerating time-to-optimization on Topsort.
## What's New
We've added campaign migration documentation to help clients seamlessly transition from their current ad platforms to Topsort. This includes two complementary migration approaches:
* **[Campaign Migration](/knowledge-base/ad-platform/campaign-migration/)**: Transfer campaign structures, settings, and configurations through automated CSV-based processing
* **[Historical Data Migration](/knowledge-base/ad-platform/campaign-migration/cold-start/)**: Import performance metrics to accelerate machine learning models and reduce cold start periods
## Campaign Migration Process
The documentation covers the complete migration lifecycle:
**Data Assessment and Planning**: Evaluate existing campaigns and develop migration strategy
**Export and Preparation**: Standardized CSV format requirements and data mapping
**Sample Testing**: Validate migration process with small campaign batches
**Full Migration**: Automated script-based processing with proper tracking
**Verification**: Quality assurance and go-live procedures
### Required Campaign Data
Essential fields include vendor IDs, campaign names, targeting settings, budget configurations, and product identifiers—all processed through our automated migration scripts.
## Historical Data Migration
For clients looking to minimize performance disruption:
**Performance Metrics Import**: Campaign performance, product-level data, and user behavior events
**Model Training Acceleration**: Use historical data to train machine learning algorithms before go-live
**Continuous Optimization**: Combine historical patterns with real-time data for optimal performance
### Success Metrics
* **Reduced Cold Start**: Learning time decreased from 4 weeks to 1-2 weeks
* **Performance Continuity**: Maintain campaign effectiveness within 10-15% of historical levels
* **Model Accuracy**: 20-30% improvement in prediction accuracy compared to cold start scenarios
## Risk Mitigation
The documentation includes comprehensive contingency planning:
* **Rollback Procedures**: Quick reversal capabilities with automated campaign removal
* **Backup Strategies**: Original data preservation throughout the process
* **Phased Approach**: Manageable batch processing for large migrations
## Getting Started
Clients interested in campaign migration can:
1. **Review the documentation** to understand requirements and process
2. **Contact their account manager** to discuss migration scope and timeline
3. **Assess current data availability** and export capabilities
4. **Plan migration phases** based on business priorities and technical requirements
## Questions?
Contact your account manager to discuss how campaign migration can ensure a smooth transition to Topsort while maintaining advertiser satisfaction and campaign performance.
# Enhanced Exclusive Campaign Logic
Source: https://docs.topsort.com/en/changelog/2025-07-30-exclusive-campaign-logic
Advanced fill rate distribution for multiple exclusive banner campaigns on the same ad slot
July 29, 2025Ad PlatformImprovement
**Why It's Important**
Sell the same premium ad slot to multiple exclusive advertisers simultaneously with fill rate percentages, maximizing revenue while providing predictable exposure.
## What's New
* **Multiple campaigns with proportional distribution**: Run multiple exclusive banner campaigns on the same slot with automatic impression distribution based on fill rate percentages
```
Slot: Homepage Banner
- Campaign A: 20% fill rate
- Campaign B: 30% fill rate
- Campaign C: 15% fill rate
Total: 65% exclusive, 35% auction-filled
```
## Key Benefits
**Maximize Slot Revenue**:
Sell the same premium ad slot to multiple advertisers simultaneously, increasing overall slot monetization and revenue per placement.
**Advertiser Exposure**:
Provide advertisers with predictable fill rates while allowing multiple brands to share high-value inventory.
**Automatic Optimization**:
System automatically handles proportional distribution and scaling, eliminating manual inventory management complexity.
## Setting Up Exclusive Campaigns
1. **Create first exclusive campaign**: Set up your exclusive banner campaign with desired fill rate percentage
2. **Create additional campaigns**: Add more exclusive campaigns targeting the same slot-trigger combination
3. **Configure fill rates**: Set appropriate fill rate percentages for each campaign (system handles scaling automatically)
4. **Monitor distribution**: Track campaign performance to ensure fill rates meet expectations
5. **Adjust as needed**: Modify fill rate percentages or add/remove campaigns to optimize slot performance
# Toppie Campaigns Tab
Source: https://docs.topsort.com/en/changelog/2025-08-04-toppie-campaign-tab
Centralized campaign management interface for viewing, filtering, and managing all your Toppie campaigns
August 3, 2025ToppieNew Feature
We've released the **Campaigns Tab** in Toppie, providing a centralized hub for managing all your advertising campaigns across retail media networks. This new interface streamlines campaign oversight and enables efficient performance monitoring from one unified dashboard.
## Key Benefits
**Unified Campaign View**:
See all your Sponsored Listings and Banner Ads campaigns in one organized interface
**Real-Time Monitoring**:
Track ad spend, ROAS, and daily budgets with live performance updates
**Quick Campaign Control**:
Instantly activate, pause, or modify campaigns without navigating between pages
**Smart Filtering**:
Filter by campaign type, status, or search by name to find campaigns quickly
**Detailed Analytics Access**:
Click into any campaign for comprehensive performance data and trend analysis
## Campaign Management
### Core Features Available
* Campaign filtering by type (All, Sponsored, Banners)
* Real-time performance metrics display
* Campaign status management (Active/Inactive toggles)
* Search functionality across all campaigns
* Direct access to detailed campaign analytics
### How to Use
1. Navigate to the **Campaigns** tab in your Toppie dashboard
2. Use filter tabs to view specific campaign types or see all campaigns
3. Monitor key metrics (Ad spend, ROAS, Daily Budget) directly from the list view
4. Toggle campaign status using the Active/Inactive controls
5. Click on any campaign name to access detailed performance analytics and settings
***
The Campaigns Tab is available now in your Toppie dashboard. Talk to your Topsort representative about optimizing your campaign management workflow and exploring advanced features within the new interface.
# Banners—Slot Reserve Prices for Manual Bidding
Source: https://docs.topsort.com/en/changelog/2025-08-05-banners-add-slot-reserve-prices-manual
Set minimum CPM and CPC reserve prices per banner slot to ensure optimal revenue thresholds
August 4, 2025Ad PlatformImprovement
We've added **slot-level reserve prices** for banner campaigns, allowing marketplaces to set minimum **CPM** and **CPC** thresholds for individual banner slots. This granular control ensures optimal monetization while maintaining campaign performance standards.
## Key Benefits
**Granular Revenue Control**:
Set specific minimum bid thresholds for each banner slot based on placement value and performance
**Intelligent Fallback Logic**:
Slots without specific reserve prices automatically inherit marketplace-level reserve settings
**Campaign Validation**:
Manual bidding campaigns receive clear warnings when bids fall below slot reserve thresholds
**Centralized Management**:
All slot reserve prices are stored and managed through central services for consistency
## How It Works
### Reserve Price Hierarchy
When evaluating banner campaigns, the system follows this priority order:
1. **Slot Reserve Price** - If set, this takes precedence
2. **Marketplace Reserve Price** - Used as fallback when no slot-specific price exists
### Campaign Impact
* **Manual Bidding Campaigns**: Must meet or exceed slot reserve prices to participate in auctions
* **Autobidding Campaigns**: Bid amounts automatically adjust to meet minimum slot requirements
* **Exclusive Campaigns**: Unaffected by reserve price restrictions
## Setting Slot Reserve Prices
To set or update reserve prices for your banner slots, please follow these steps:
1. **Prepare a CSV File**: Create a configuration file listing the `slot_id` and your desired minimum `cpm_reserve_price` and `cpc_reserve_price` reserve prices for each banner slot.
2. **Contact Your Representative**: Share the CSV file with your Topsort account manager. Our team will handle the configuration and apply the new thresholds.
3. **Monitor Performance**: After the changes are live, monitor your campaign participation and slot revenue to ensure the new reserve prices are meeting your goals.
## Validation and Warnings
When creating or editing manual bidding campaigns, the system will:
* Check bid amounts against relevant slot reserve prices
* Display warnings like "Maximum \[CPM/CPC] must be at least \$\[slot reserve price]" when thresholds aren't met
* Prevent campaign participation if bids remain below minimum requirements
***
Slot reserve prices for banner campaigns are available now. Contact your Topsort representative to optimize your slot pricing strategy and maximize banner ad revenue.
# Link Products to Banner Campaigns
Source: https://docs.topsort.com/en/changelog/2025-08-05-link-product-to-banners
Connect specific products to banner campaigns for enhanced targeting, relevance, and attribution
August 4, 2025Ad PlatformNew Feature
We've added the ability to **link products to banner campaigns**, enabling advertisers to connect their banner ads with specific products for improved targeting, performance tracking, and attribution. This feature increases campaign relevance while providing better insights into product-driven advertising impact.
## Key Benefits
**Enhanced Targeting Precision**:
Banner campaigns automatically target relevant categories and keywords based on linked products
**Improved Attribution**:
Direct product linking enables accurate attribution without additional tracking complexity
**Automatic Trigger Generation**:
System automatically creates targeting triggers from product data, keywords, and categories
**Performance Insights**:
Track campaign performance at the individual product level for optimization opportunities
## How Product Linking Works
### Campaign Creation Flow
When creating banner campaigns, advertisers can now select up to **200 products** to associate with their campaign. Product selection is optional and can be done manually or via CSV upload.
### Automatic Targeting
Based on selected products, the system generates **"Automatic" targeting**:
* **Landing Page Slots**: Products used for attribution only
* **Category/Search Slots**: Product IDs, categories, and keywords become campaign triggers
* **Keyword Assignment**: Automatically includes marketplace-assigned keywords for selected products
### Product Availability
The auction response includes all selected products, with marketplaces responsible for filtering unavailable items during display.
## Setting Up Product-Linked Campaigns
1. **Create Banner Campaign** - Start the standard banner campaign creation process
2. **Select Products** - Choose up to 200 products manually or upload via CSV
3. **Configure Automatic Targeting** - System generates triggers based on product data
4. **Add Manual Targeting** - Optionally supplement with additional categories and keywords
5. **Launch Campaign** - Banner ads will target based on both automatic and manual triggers
## Attribution and Reporting
With product linking, all linked products are considered for **direct attribution** when purchases are reported, eliminating the need for complex tracking. Your campaign reporting will include both campaign-level metrics (impressions, clicks, ad spend, ROAS) and detailed product-level performance data.
***
Product linking for banner campaigns is available now in your campaign creation flow. Contact your Topsort representative to explore how product-linked banner campaigns can improve your advertising performance and attribution accuracy.
# Listings—Category Reserve Prices for Manual Bidding
Source: https://docs.topsort.com/en/changelog/2025-08-05-listings-add-category-reserve-prices-manual
Manual bidding validation now includes category-level reserve prices alongside marketplace minimums
August 4, 2025Ad PlatformImprovement
We've enhanced **manual bidding validation** for sponsored listings to include category-level reserve prices. The system now validates bids against both marketplace and category reserve prices, ensuring optimal revenue protection across all product categories.
## Key Benefits
**Category-Specific Protection**:
Different product categories can have tailored reserve prices based on their market value and performance
**Flexible Validation Logic**:
Products in multiple categories only need to meet the reserve price of one category, not all
**Clear Error Messaging**:
Advertisers receive specific feedback showing the minimum required bid for their target categories
**Enhanced Revenue Control**:
Marketplaces can optimize pricing strategies at the category level for maximum monetization
## How Validation Works
### Reserve Price Hierarchy
When setting manual bids, the system validates against:
1. **Marketplace Reserve Price** - Global minimum threshold
2. **Category Reserve Prices** - Category-specific minimums
### Multi-Category Logic
For products spanning multiple categories, the bid must meet **at least one** category's reserve price requirement, providing flexibility while maintaining revenue protection.
## Updated Validation Process
1. Advertiser sets a manual bid for their sponsored listings campaign
2. System retrieves reserve prices for the marketplace and all relevant product categories
3. Bid is validated against both marketplace and category minimums
4. If the bid falls below requirements, an error displays: **"Min bid is \$\[category reserve price]"**
5. Campaign cannot proceed until bid meets minimum threshold requirements
## Error Messages
When bids don't meet requirements, advertisers will see specific guidance:
* **Below marketplace minimum**: "Min bid is \$\[marketplace reserve price]"
* **Below category minimum**: "Min bid is \$\[category reserve price]"
* **Below both**: The higher of the two minimums is displayed
***
Category reserve price validation for manual bidding is active now across all sponsored listings campaigns. Work with your Topsort representative to configure category-specific reserve prices that optimize both advertiser participation and marketplace revenue.
# Toppie Analytics
Source: https://docs.topsort.com/en/changelog/2025-08-06-toppie-analytics
Comprehensive campaign performance analytics for agencies and retailers to understand demand and optimize performance
August 5, 2025ToppieNew Feature
We've launched **Toppie Analytics**, providing comprehensive visibility into campaign performance for both agencies running campaigns and retailers hosting them. The new analytics suite enables data-driven optimization and builds transparency across the entire Toppie ecosystem.
## Key Benefits
**Campaign Optimization**:
Understand what's working and adjust strategies in real-time
**Budget Allocation Insights**:
Make informed decisions about spending across marketplaces and products
**Platform Transparency**:
See exactly how advertising spend translates to results
**Demand Insights**:
Make informed decisions about spending across marketplaces and products
**Reduced Manual Reporting**:
Access all performance data directly within the platform
## For Agencies and Brands
### Core Metrics Available
* Ad spend and budget utilization across retail partners
* Impressions and reach by marketplace
* Clicks and click-through rates (CTR)
* Purchases and conversion rates (CVR)
* Revenue and return on ad spend (ROAS)
### Campaign Management
1. Filter by specific brands or individual campaigns
2. Select custom date ranges for analysis
3. Choose which columns to display
4. Sort by any metric for quick insights
5. Download reports for external analysis
## For Retailers and Marketplaces
Retailers can now view performance analytics for Toppie campaigns running on their platforms, including:
* Campaign performance metrics from agency demand
* Revenue generated from Toppie campaigns
* Impression and click data for campaigns on their inventory
* Insights into which products and categories are driving the most agency demand
***
Talk to your Topsort representative about getting access to Toppie analytics feature in the [**Retail Media Platform**](https://www.topsort.com/retail-media) or in your Toppie dashboard and start exploring campaign performance data from your perspective in the ecosystem.
# Skai Integration - Multi-Retailer Campaigns
Source: https://docs.topsort.com/en/changelog/2025-08-12-skai-integration
Omnichannel advertising platform integration enabling multi-retailer sponsored listings campaigns with centralized management and automated optimization
August 11, 2025ToppieNew Feature
We've launched **Skai Integration** for Toppie, enabling brands and angencies to create and manage sponsored listings campaigns across multiple retailers simultaneously through Skai's omnichannel advertising platform. This integration brings automated budget distribution, global product level performance tracking, and centralized campaign management to the Topsort Network.
**Partnership Expansion**
This integration enables Skai's brands and agencies to reach LATAM markets through
Topsort's growing network of B2C retailers, with plans to expand globally as
the Topsort Network strengthens.
## Key Benefits
**Multi-Retailer Campaign Management**:
Create "parent" campaigns that automatically generate "child" campaigns
across Topsort retailers with unified budget and performance tracking
**Automated Budget Distribution**:
Smart budget allocation across retailers with dynamic adjustments based on
performance and ad spend patterns
**Global Catalog Mapping**:
Automatic mapping of advertiser products to retailer catalogs ensures
campaigns only target relevant inventory
**API-First Integration**:
Complete campaign management and reporting available via APIs for seamless
integration with Skai's platform
## How Multi-Retailer Campaigns Work
### Parent-Child Campaign Structure
When creating a campaign through Skai, the system creates a hierarchical structure:
* **Parent Campaign**: Defines overall strategy including products, bidding strategy, duration, and total daily budget
* **Child Campaigns**: Individual campaigns created for each retailer with retailer-specific product mappings and budget allocations
### Automatic Budget Distribution
The system intelligently distributes daily budgets among child campaigns and adjusts allocation every few hours based on:
* Ad spend performance
* Retailer-specific conversion rates
* Available inventory and competition
***
## Getting Started: Connecting Skai and Toppie
To enable the integration, brands and agencies must obtain a Toppie API Key to connect their Skai account to the Topsort Network. The onboarding process is managed jointly by Skai and Topsort.
1. **Contact Skai**
Reach out to your Skai representative to express interest in the Topsort multi-retailer integration.
2. **Account Creation by Topsort**
Skai will notify the Topsort team, who will then create a dedicated account for your brand on the Toppie platform.
3. **Generate Your API Key**
Once your account is ready, we will provide you with access to generate a Toppie API Key. You can find instructions on how to do this in our [API Keys guide](/en/changelog/2025-07-17-toppie-api-keys/).
4. **Activate the Integration**
Provide the newly generated API key to Skai. They will use it to complete the setup, linking your accounts and enabling multi-retailer campaign management.
***
## Campaign Management Features
1. **Campaign Creation**
* Select up to multiple products from your catalog
* Set bidding strategy and daily budget
* Define campaign name and duration
2. **Retailer Selection & Validation**
* System validates product availability across the Topsort Network
* Retailers where products are not available or not eligible are excluded from campaign activation
3. **Automated Launch & Distribution**
* Parent campaign creates child campaigns for each valid retailer
* Budget automatically distributed based on retailer potential
* Real-time budget adjustments based on performance data
4. **Performance Monitoring**
* Track parent campaign metrics across all retailers
* Drill down into each product metrics such as impressions, clicks, attributed sales, CPC, ROAS, among others
* Monitor budget utilization and adjustment patterns
***
## Advanced Campaign Controls
### Parent Campaign Editing
* **Budget Management**: Increase budgets anytime
* **Product Management**: Add/remove products with automatic child campaign updates
* **Duration Control**: Extend end dates; modify start dates before campaign begins
* **Pause/Resume**: Pausing parent campaigns automatically pauses all child campaigns
## Agency & Account Management
### Automated Account Setup
Skai triggers automatic account creation including:
* Agency and brand account provisioning
* User account setup with appropriate permissions
* Product catalog mapping to retailer inventories
### Comprehensive Reporting
Enhanced reporting provides:
* **Campaign-Level Metrics**: Impressions, clicks, sales, ad spend, ROAS, CPC across all retailers in the campaign
* **Budget Utilization**: Track how budget is being spent, monitor product performance, and identify opportunities to add products or adjust strategy if objectives are not being met
## API Integration Features
The Skai integration provides comprehensive API access for:
* **Campaign Operations**: Create, edit, pause, and resume campaigns programmatically
* **Product Catalog**: Access advertiser product catalogs and retailer mappings
* **Performance Data**: Retrieve detailed metrics per product
* **Configuration Management**: Access campaign settings, bids, and targeting parameters
## Target Markets & Expansion
### Initial Focus
* **LATAM Markets**: Primary focus on Latin American B2C and B2B retailers
* **Retail Categories**: Grocery stores, pharmacies, supermarkets, and delivery apps
* **Product Types**: Consumer goods and grocery products (restaurants excluded initially)
### Future Expansion
* **Global Reach**: Expansion planned as Topsort Network grows internationally
* **Travel Sector**: Integration with travel agencies planned
* **Enhanced Verticals**: Additional categories as network expands
***
The Skai integration is now live and available through Skai's platform. Contact your Skai representative to begin creating multi-retailer campaigns and expanding your reach across the Topsort Network.
# Campaign API - Sponsored Listings Enhancements
Source: https://docs.topsort.com/en/changelog/2025-08-13-sponsored-listings-api-enhancements
The Campaign API now supports audience targeting and frequency capping for sponsored listings campaigns.
August 12, 2025Ad ServerImprovement
The **Campaign API** has been enhanced to support audience targeting and frequency capping for **Sponsored Listings** campaigns, giving developers programmatic access to advanced campaign controls.
## Key Enhancements
**Audience Targeting**:
Apply user segment filters to include or exclude specific audiences from
your sponsored listings campaigns.
**Frequency Capping**:
Control how often users see your ads within a specific timeframe to prevent
ad fatigue.
## Audience Targeting via API
Configure audience segments and bid multipliers during campaign creation:
```bash title="Create Campaign with Audience Targeting" theme={null}
curl --request POST \
--url https://api.topsort.com/public/v1/campaign-service/campaigns \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data '{
"adFormat": "listing",
"name": "Targeted Sponsored Listing",
"campaignType": "manual",
"chargeType": "CPC",
"budget": {
"amount": 1000,
"type": "daily"
},
"targetingFilters": {
"isActive": true,
"targetingFilters": [
{
"segmentId": "DFJ9R4",
"type": "user_segment"
},
{
"segmentId": "984103",
"type": "user_segment"
}
]
},
"multiplierConfig": {
"isActive": true,
"multipliers": [
{
"multiplier": 2.5,
"segmentId": "DFJ9R4",
"type": "user_segment"
}
]
}
}'
```
The audience targeting configuration supports up to three segments with OR logic and bid multipliers between 1.0x and 5.0x for boosting strategies.
## Frequency Cap via API
Configure impression limits using the campaign restrictions endpoint:
```bash title="Create Frequency Cap" theme={null}
curl --request POST \
--url https://api.topsort.com/public/v1/campaign-service/campaigns/{campaign-id}/restrictions \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data '{
"limit": 10,
"restrictionTypeId": 1
}'
```
```json title="Response" theme={null}
{
"campaignId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"createdAt": "2025-08-13T05:31:56Z",
"id": 123,
"limit": 10,
"marketplaceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"restrictionType": {
"frequencyType": "daily",
"id": 1,
"interactionType": "impressions",
"level": "campaign"
},
"status": "active",
"updatedAt": "2025-08-13T05:31:56Z"
}
```
Retrieve existing frequency caps for a campaign:
```bash title="Get Campaign Restrictions" theme={null}
curl --request GET \
--url https://api.topsort.com/public/v1/campaign-service/campaigns/{campaign-id}/restrictions \
--header 'Authorization: Bearer '
```
***
These enhancements are now live in the Campaign API. To learn more, check out the [Campaign API reference](/en/api-reference/campaign-api/get-campaigns).
# Audience Targeting for Sponsored Listings
Source: https://docs.topsort.com/en/changelog/2025-08-13-sponsored-listings-audience-targeting
Target specific user segments with sponsored listings campaigns using filtering and boosting strategies
August 12, 2025Ad PlatformNew Feature
**Audience targeting is now available for sponsored listings campaigns**, expanding beyond the previous automatic targeting approach. You can now select up to three audience segments per campaign and choose between filtering and boosting strategies to optimize campaign performance.
This feature brings the advanced targeting capabilities previously exclusive to banner and video campaigns to sponsored listings, enabling more precise audience reach and improved campaign efficiency across all ad formats.
## Targeting Strategies
Choose between two distinct approaches for audience targeting:
**Filtering Logic**: Restrict your sponsored listings to appear only to users within your selected audience segments. This approach ensures precise targeting but may limit overall reach to users who don't match your segment criteria.
**Boosting Logic**: Increase bid competitiveness for users within target segments while still allowing ads to serve to broader audiences. Set multipliers between 1.0x and 5.0x to boost bids for high-value segments without excluding other potential customers.
## Segment Selection
Select up to three audience segments per campaign using OR logic. When multiple segments are chosen, users matching any of the selected segments will be included in your targeting. This flexibility allows you to combine complementary audience characteristics for broader yet precise targeting.
## Campaign Integration
Audience targeting integrates seamlessly with existing sponsored listings features including frequency capping, budget management, and performance tracking. The targeting configuration appears in your campaign details with full editing capabilities, allowing you to adjust segments and strategies without campaign interruption.
The feature maintains backward compatibility with automatic targeting. Existing campaigns continue operating with automatic placement logic while new campaigns can leverage audience targeting for enhanced precision and control.
# Frequency Cap for Sponsored Listings
Source: https://docs.topsort.com/en/changelog/2025-08-13-sponsored-listings-frequency-cap
Control impression frequency to improve user experience and campaign efficiency
August 12, 2025Ad PlatformNew Feature
We've added **frequency capping for sponsored listings campaigns**, allowing advertisers to control how often their ads are shown to the same user. This feature helps optimize ad spend while improving user experience by preventing ad fatigue.
Frequency capping enables you to set impression limits per user over specific time periods, ensuring your campaigns maintain effectiveness while respecting user attention. The feature is available during campaign creation and can be edited anytime after launch.
## Configuration Options
The frequency cap settings allow precise control over ad exposure:
**Impression Limits**: Set the maximum number of times your sponsored listing can appear to the same user. This prevents overexposure and helps maintain campaign relevance across your target audience.
**Time Period Selection**: Choose between daily or weekly frequency windows. Daily caps reset every 24 hours, while weekly caps reset every seven days, giving you flexibility based on your campaign strategy.
**Toggle Control**: Enable or disable frequency capping as needed. When disabled, your sponsored listings will compete for impressions without user-level frequency restrictions.
## Campaign Management
Once configured, frequency cap settings appear in your campaign details page with full editing capabilities. You can adjust impression limits, change time periods, or disable frequency capping entirely without pausing your campaign.
The frequency cap feature integrates seamlessly with your existing campaign optimization strategies. When frequency limits are reached for specific users, the auction system automatically prioritizes showing your ads to new audiences within your targeting parameters.
This enhancement gives sponsored listings campaigns the same level of exposure control previously available only for display advertising, creating consistent campaign management experiences across all Topsort ad formats.
# Toppie Banners
Source: https://docs.topsort.com/en/changelog/2025-08-13-toppie-banners
Enabling agencies to run banner advertising campaigns across multiple retail partners
August 12, 2025ToppieNew Feature
We've launched **Banner Campaigns on Toppie**, enabling agencies to run banner (display) advertising campaigns across multiple retail partners from a single platform while providing marketplaces with a new premium revenue stream.
## Key Benefits
**Centralized Banner Management**:
Run banner campaigns alongside sponsored listings with unified reporting and
budget controls
**Simplified Campaign Setup**:
Upload creatives, select products to sponsor, and launch across multiple
marketplaces in a single flow
**Automatic Creative Optimization**:
Our design team resizes uploaded creatives to match available slot
dimensions across partner marketplaces
**Product-based Targeting**:
Target based on your product catalog without manual keyword setup, targeting
is automatically inferred from selected products
**Purchase Attribution**:
Track when banner clicks lead to purchases of campaign products using
marketplace-specific attribution windows
## How It Works
1. ### Campaign Creation
Agencies upload banner creatives (following standard IAB size recommendations), select products from their catalog to sponsor, and set campaign **name**, **budget**, and **duration**. Toppie automatically creates child campaigns for each relevant marketplace.
2. ### Approval and Launch
Each child campaign goes through the marketplace's standard approval flow. Marketplaces set banner destinations during this approval process before campaigns go live.
### Attribution Model
Purchases are attributed when users click on a banner and later buy a product included in the campaign, using each marketplace's attribution window for measurement.
## For Marketplaces
Monetize high-visibility banner slots with better targeting and real-time measurement. Set destinations during the campaign approval flow and benefit from product-based targeting that ensures relevant ads for your audience.
***
To see the full banner creation flow on Toppie check out the documentation [here](/knowledge-base/toppie/agencies-brands/toppie-banners)
# Sponsored Brands V2
Source: https://docs.topsort.com/en/changelog/2025-08-14-sponsored-brands-v2
Enhanced sponsored brands with multiple products, video support, and advanced targeting - initial release for admin dashboard
August 13, 2025Ad PlatformNew Feature
**Why It's Important**
**Sponsored Brands** transforms how you create brand awareness campaigns by
allowing multiple products, video creatives, and sophisticated targeting
options.
## What's New
* **Multiple products per campaign**: Include multiple products in a single sponsored brand campaign for better product discovery
* **Video and enhanced creatives**: Upload videos alongside traditional banner images for more engaging ad experiences
* **Flexible pricing models**: Choose between cost-per-click (CPC) and cost-per-thousand-impressions (CPM) bidding
* **Enhanced destinations**: Direct shoppers to product pages, vendor pages, or custom URLs
## Key Benefits
**Enhanced Product Showcase**:
Feature multiple products in a single campaign, helping shoppers discover
your full product range and increasing engagement.
**Rich Creative Formats**:
Use videos or multiple images with customizable layouts to create compelling
ad experiences that capture attention.
**Template-Driven Efficiency**:
Leverage pre-built templates or create custom templates that ensure
consistent campaign structure and requirements.
**Comprehensive Campaign Control**:
Manage the complete campaign lifecycle from template creation through
performance analytics in the admin dashboard.
## Template and Campaign Management
### Template Selection
Choose from predefined templates that define campaign structure:
* **Creative options**: Select templates with video support or multiple image layouts
* **Pre-configured fields**: Templates include predefined field names and descriptions for easy creative identification
* **Slot integration**: Link slots to one of the available templates for optimal performance
### Campaign Analytics
Monitor campaign performance with comprehensive metrics:
* Number of active campaigns per vendor
* Ad spend tracking
* Impressions and clicks
* Promoted sales attribution
* Campaign-level performance insights
***
This update to Sponsored Brands is now available in your Ad Platform. Contact your account manager to learn how you can leverage this ad format to drive brand awareness and customer acquisition.
# Toppie Catalog Tab
Source: https://docs.topsort.com/en/changelog/2025-08-28-toppie-catalog-tab
Global Product Catalog for unified product management across the entire Topsort Network
August 27, 2025ToppieNew Feature
We've launched the **Toppie Catalog Tab**, featuring a Global Product Catalog that provides centralized product management across all retail partners. This unified catalog eliminates SKU complexity and ensures consistent product data throughout the Topsort Network, streamlining campaign creation and performance tracking.
## Global Product Catalog Features
### Centralized Product Database
The Global Product Catalog creates a single source of truth for your product data, automatically managing the complexity of different retailer identifiers and catalog structures.
### AI-Powered SKU Mapping
* **Automatic Product Matching** - AI connects your products to equivalent items across retail partner catalogs
* **Cross-Retailer Consistency** - Same product targeting logic works across all retail partners
* **Validation Workflow** - Review and confirm mappings to ensure accuracy
## Catalog Management Options
### Upload Methods
* **CSV Upload** - Standard product data files with required fields
* **API Integration** - Real-time catalog synchronization
* **Manual Entry** - Direct product addition through the interface
### Required Product Information
* Product Name and SKU/Product ID
* Category and Brand classification
* Product descriptions and image URLs
* Optional pricing information for enhanced mapping
## Using the Catalog Tab
1. **Upload Product Catalog** - Import your master catalog via CSV, API, or manual entry
2. **Review AI Mapping** - Confirm automatic product matches across retail partner catalogs
3. **Validate Mappings** - Ensure product connections are accurate for all retailers
4. **Create Campaigns** - Select products from your unified catalog for any campaign type
5. **Monitor Performance** - Track how the same products perform across different retail environments
### Catalog Updates and Maintenance
* **Scheduled Sync** - Automatic updates via API integration
* **Manual Updates** - Replace or append catalog data through CSV uploads
* **Individual Product Edits** - Modify specific product details directly in the interface
### Campaign Integration Benefits
* **Multi-Retailer Campaigns** - Consistent targeting across all retail partners
* **Automatic Retail Mapping** - System handles SKU differences transparently
* **Unified Attribution** - Proper product-level tracking regardless of retailer-specific identifiers
* **Simplified Product Selection** - No need to map products individually for each retailer
***
The Toppie Catalog Tab is now available in your Toppie dashboard. This Global Product Catalog foundation enables seamless campaign management and unified performance tracking across the entire Topsort Network.
# Offsite Audiences API
Source: https://docs.topsort.com/en/changelog/2025-08-30-offsite-audiences-api
Create and manage custom audiences for offsite advertising campaigns
August 29, 2025
Ad Server
New Feature
**Why It's Important**
**Offsite advertising** extends your reach beyond your platform by targeting
your customers across external channels like Google and Meta. This creates a
unified advertising ecosystem that maximizes customer touchpoints throughout
their journey.
The new **Offsite Ads API** enables you to create and manage custom audiences for advertising campaigns outside of your platform. Upload user lists to extend your targeting reach across external advertising channels like Google Ads and Meta.
## What's New
* **Audience job creation**: Submit custom user lists for offsite targeting campaigns
* **Secure file uploads**: Get presigned URLs for safe CSV file transfers
* **Multi-platform support**: Currently supports Google Ads and Meta advertising platforms
* **Job tracking**: Monitor audience creation status with unique job identifiers
## Key Benefits
**Extended Reach**:
Target your existing customers and prospects across external advertising
platforms to maximize campaign reach.
**Secure Uploads**:
Upload audience data safely using presigned URLs with automatic expiration
for enhanced security.
**Multi-Channel Targeting**:
Create audiences for multiple DSPs including Google Ads and Meta from a
single API endpoint.
## How It Works
The API creates offsite audience jobs in three steps:
1. **Submit audience details** including name, description, and target DSP
2. **Upload CSV file** using the provided presigned URL within one hour
3. **Track job progress** using the returned job identifier
The API returns a job ID and presigned URL for file upload. Use the presigned URL with a PUT request and `Content-Type: text/csv` header to upload your audience data.
***
This release expands targeting capabilities beyond your platform. Learn more about the [Offsite Ads API](/en/api-reference/offsite-ads-api) in our documentation, or explore our [offsite and in-store advertising concepts](/knowledge-base/offsite-and-instore/) to understand how these capabilities fit into your broader advertising strategy.
# Broad Keyword Matching
Source: https://docs.topsort.com/en/changelog/2025-09-03-keyword-broad-matching
Enhanced keyword targeting with broad match type support
September 2, 2025Ad PlatformImprovement
We've added **Broad Match** support to keyword targeting, expanding your campaign reach by matching related search queries beyond exact and phrase matches.
## Key Benefits
**Expanded Reach**:
Capture relevant searches with variations and synonyms of your keywords
**Discovery**:
Find new search terms and customer intent patterns automatically
**Flexible Control**:
Use alongside exact and phrase matching for comprehensive targeting strategies
## How Broad Match Works
Broad match allows your ads to show for search queries that are related to your keywords, including:
* **Synonyms** and related terms
* **Variations** in word order
* **Related searches** that indicate similar intent
* **Singular and plural** forms
This match type provides the widest reach while maintaining relevance to your target keywords.
***
Broad match is now available across all ad formats alongside existing exact and phrase match types. Learn more about [keyword targeting](/knowledge-base/ad-platform/campaign-targeting/keywords/) in our knowledge base.
# Reserve Prices Per Geolocation
Source: https://docs.topsort.com/en/changelog/2025-09-04-reserve-prices-geolocation
Set minimum pricing controls for ad inventory based on geographic locations to optimize revenue across different markets
September 3, 2025Ad ServerNew Feature
**Why It's Important**
Different geographic markets have varying levels of competition, purchasing
power, and advertiser demand. Setting uniform reserve prices across all
locations can result in missed revenue opportunities in high-value markets or
reduced fill rates in lower-demand areas. Geographic-based reserve pricing
allows retailers to optimize their inventory pricing strategy based on
regional market dynamics.
## What's New
Introducing **Reserve Prices Per Geolocation**—an advanced pricing control feature that enables you to set minimum CPM and CPC rates for your ad inventory based on specific geographic locations. This builds upon our existing category-based reserve pricing system to provide even more granular control over your ad revenue optimization.
## Key Benefits
**Regional Revenue Optimization**:
Maximize revenue by setting higher reserve prices in premium markets while
maintaining competitive rates in emerging regions.
**Market-Specific Strategy**:
Tailor your pricing approach to match local advertiser demand, competition
levels, and market maturity across different geographic areas.
**Fill Rate Balance**:
Optimize the balance between revenue protection and inventory fill rates by
adjusting pricing to regional market conditions.
## How It Works
Configure reserve prices for sponsored listings by geographic location using the same collaborative approach as category-based pricing. Your Topsort data science team will help establish location-specific minimum CPM and CPC rates based on regional market analysis and historical performance data.
Similar to category-based reserve pricing, you can provide location-based pricing data in CSV format with location IDs, names, and corresponding reserve price values. The system integrates seamlessly with existing geotargeting capabilities to apply appropriate pricing during auctions.
For complete implementation details, see our updated [Reserve Prices](/en/knowledge-base/ad-server/auctions/reserve-prices/) documentation.
## Getting Started
Geographic reserve pricing is available now as an extension to our existing reserve pricing system. Contact your Topsort account manager to discuss location-based pricing strategies that align with your marketplace's regional performance goals and market dynamics.
# Sponsored Listings Forecasting
Source: https://docs.topsort.com/en/changelog/2025-09-11-sponsored-listings-forecasting
See expected campaign performance with forecasting insights during campaign creation
September 10, 2025Ad PlatformNew Feature
We've introduced **Sponsored Listings Forecasting** to help advertisers make informed campaign decisions by showing expected performance metrics before launch. This feature integrates directly into the campaign creation flow, providing data-driven insights on impressions, clicks, and sales projections based on your campaign configuration.
## Key Benefits
**Data-Driven Planning**:
See projected impressions, clicks, and sales before launching campaigns
**Budget Optimization**:
Test different budget amounts and ROAS targets to maximize campaign
performance
**Configuration Testing**:
Compare different campaign setups to find the most effective approach
**Timeline Insights**:
View daily and total projections, with monthly aggregation for longer
campaigns
**Informed Decision Making**:
Launch campaigns with confidence based on performance forecasts
## How Forecasting Works
The forecasting engine analyzes your campaign parameters to provide realistic performance projections:
### Required Campaign Parameters
* **Selected Products** - Which products you're promoting
* **Target ROAS** - Your desired return on ad spend (**BIDLESS™** strategy)
* **Budget Configuration** - Amount and budget type (daily/total)
* **Campaign Duration** - Start and end dates
* **Targeting Parameters** - Selected triggers including target ID and type
### Forecasted Metrics
* **Daily Impressions** - Expected ad views per day
* **Daily Clicks** - Projected click-through performance
* **Daily Sales** - Anticipated conversion volume
## Using Campaign Forecasting
1. **Configure Campaign Parameters** - Set up your campaign with products, budget, ROAS target, and targeting options
2. **Generate Forecast** - The system automatically calculates expected performance based on your configuration
3. **Review Projections** - Analyze daily and total metrics including impressions, clicks, and sales
4. **Test Configurations** - Adjust parameters to see how changes impact projected performance
5. **Optimize Setup** - Fine-tune your campaign based on forecasting insights before launch
### Campaign Duration Considerations
* **Campaigns up to 1 month** - Daily metrics shown for the entire duration
* **Campaigns over 1 month** - Monthly aggregated metrics for easier analysis
* **Flexible Testing** - Modify dates, budgets, and targeting to compare different scenarios
***
Sponsored Listings Forecasting is now available in the sponsored listings campaign creation flow. Use these insights to optimize your campaign strategy and launch with confidence in your expected performance outcomes.
# AI Image Resizing for Banner Ads [Alpha]
Source: https://docs.topsort.com/en/changelog/2025-09-18-ai-image-resizing
Automatically resize banner images with AI technology for optimal placement
September 25, 2025Ad PlatformNew Feature
We've introduced **AI Image Resizing** for banner ads, powered by advanced generative AI technology. Instead of manual cropping or stretching, our AI intelligently adapts your images to fit any slot dimensions while preserving brand integrity and visual quality.
## Key Benefits
**Smart Adaptation**:
AI intelligently extends and reframes images to match target slot dimensions
**Brand Preservation**:
Maintains logos, key messaging, and visual identity while adapting
dimensions
**Time Savings**:
Eliminates need for manual image editing or multiple image versions
**Device Optimization**:
Automatically creates separate versions for mobile and desktop viewing
## How It Works
When you upload an image that doesn't perfectly match your selected banner slot dimensions, our AI-powered system:
* **Analyzes** your original image composition and visual elements
* **Intelligently extends** backgrounds and contextual elements to fill new dimensions
* **Preserves focal points** ensuring your main message remains prominent
* **Maintains visual coherence** with seamless integration of extended areas
The technology is powered by [Ideogram V3's](https://ideogram.ai/features/3.0) advanced reframe capabilities, providing professional-quality results every time.
## User Control
When AI resizing activates, you have complete control:
* **Auto Re-size** - Generate a new AI-optimized version
* **Confirm cropping** - Accept the current resized version
* **Use different image** - Start over with a different source
***
AI Image Resizing is now available during banner campaign creation. Learn more about [AI Image Resizing for Banner Ads](https://docs-add-ai-resizing-banners.docs-565.pages.dev/knowledge-base/ad-platform/banners/ai-image-resizing/) in our knowledge base.
# Data Genie
Source: https://docs.topsort.com/en/changelog/2025-09-18-data-genie
AI-powered conversational analytics for marketplace admins to get insights and data visualizations
September 17, 2025Ad PlatformNew Feature
**Data Genie** brings AI-powered conversational analytics to marketplace admins, providing instant insights about campaign performance, marketplace intelligence, and business operations through natural language queries. Ask questions and get answers.
## Key Capabilities
**Campaign Analysis**:
Performance diagnostics, KPI tracking, bid analysis, and competitor
benchmarking
**Marketplace Intelligence**:
Daily behavior summaries, auction metrics, attribution diagnostics, and
configuration insights
**Smart Visualizations**:
Auto-generated charts from data queries including line, bar, and pie charts
## Natural Language Interaction
Simply ask Data Genie questions in plain language:
* **Campaign Diagnostics** - "Why isn't campaign ABC-123 spending?"
* **Performance Trends** - "Show me \[Marketplace] CTR trends this week"
* **Optimization** - "How do I optimize for better ROAS?"
### Query Examples
```
Q: What was the CTR of the marketplace over the past week?
```
## Access & Availability
* **Location** - Available in the sidebar
* **Permissions** - Restricted to admin users only
* **Response Types** - HTML-formatted answers with embedded visualizations
### Use Cases
* **Performance Troubleshooting** - Quickly identify why campaigns aren't spending or performing
* **Strategic Planning** - Get forecasts and insights for new brand opportunities
* **Operational Efficiency** - Monitor budget utilization and campaign health across portfolios
* **Competitive Analysis** - Benchmark performance against marketplace trends
***
Data Genie is now available for admin users. Experience the power of conversational analytics to unlock deeper insights into your marketplace performance and make data-driven decisions with speed and clarity.
# Vendor Analytics: Preview
Source: https://docs.topsort.com/en/changelog/2025-10-03-vendor-analytics
New analytics tab provides transparent campaign performance insights for vendors with comprehensive reporting capabilities
October 2, 2025
Ad Platform
New Feature
We've introduced a dedicated **Analytics tab** in Self-Service, providing vendors with transparent, actionable campaign performance data. This enhancement gives advertisers the visibility they need to optimize campaigns, allocate budgets effectively, and build trust in the platform.
## Key Benefits
**Transparent Reporting**:
Access comprehensive campaign metrics without dependency on support or
manual reports
**Campaign Optimization**:
Identify what's working and adjust strategies based on real performance data
**Budget Confidence**:
See exactly how advertising spend translates to results and ROI
**Agency Engagement**:
Strengthen vendor relationships with transparent, self-service analytics
**Actionable Insights**:
Make data-driven decisions with detailed performance breakdowns
## Analytics Features
### Performance Overview
* **Aggregated Metrics Tiles** - Key performance indicators at a glance
* **Campaign-Level Breakdown** - Individual campaign performance analysis
* **Timeframe Filtering** - Custom date ranges for targeted analysis
* **Export Capabilities** - Download performance data for external analysis
### Advanced Functionality
* **Search by Campaign Name** - Quickly find specific campaign data
* **Sortable Metrics** - Order campaigns by performance indicators
* **Customizable Columns** - Configure which metrics to display
* **Data Export** - Download comprehensive performance reports
## Using the Analytics Tab
1. **Access Analytics** - Navigate to the new "Analytics" tab in the Self-Service Dashboard sidebar
2. **Review Performance Overview** - View aggregated metrics across all campaigns
3. **Filter by Timeframe** - Select specific date ranges for analysis
4. **Analyze Individual Campaigns** - Drill down into specific campaign performance
5. **Export Data** - Download detailed reports for further analysis
### Analytics Interface
The Analytics tab provides:
* **Performance Tiles** - Quick overview of key metrics
* **Campaign Table** - Detailed performance breakdown by campaign
* **Search and Filter** - Easy navigation through large campaign lists
* **Empty State Handling** - Clear messaging when no data is available
***
The Analytics tab is will be available in the Self-Service Dashboard this week. This feature provides the transparency and insights needed to maximize campaign performance and make informed advertising decisions across your retail media campaigns.
# Topsort MCP Servers
Source: https://docs.topsort.com/en/changelog/2025-10-23-mcp-server-support
Connect AI assistants to Topsort's documentation and analytics platform
October 22, 2025
Ad Server
New Feature
We've added the **Topsort MCP Server** that connects AI assistants directly to Topsort's complete API documentation. This integration enables developers to access accurate, up-to-date information about our APIs without leaving their development environment, making integration faster and reducing context switching.
The MCP server works with popular AI development tools including **GitHub Copilot** in **VS Code**, **ChatGPT**, **Claude**, **Cursor**, **Windsurf**, and other MCP-compatible clients.
Developers can now ask questions about API endpoints, authentication methods, request schemas, and implementation patterns directly within their workflow, with responses drawing from the latest Topsort documentation.
## Key Benefits
**In-Context Documentation**:
Access complete API documentation directly from your IDE or AI assistant
without browser switching
**Accurate Code Generation**:
AI assistants generate more accurate integration code using current API
schemas and examples
**Faster Troubleshooting**:
Quickly diagnose integration issues with instant access to error codes and
API specifications
**Always Current**:
Documentation stays synchronized automatically without manual updates or
version checking
## Developer Experience
The MCP server provides read-only access to Topsort's API documentation through a standardized protocol. When configured, developers can ask their AI assistant questions like:
* "How do I create a banner campaign?"
* "What are the required fields for the auctions API?"
* "How do I authenticate with the Topsort API?"
* "What's the request format for the bidding endpoint?"
AI assistants respond with answers drawn directly from the documentation, complete with code examples and implementation guidance.
### Quick Setup Across Clients
Configuration is straightforward and takes just a few minutes:
* **GitHub Copilot in VS Code** - Add a simple JSON configuration to your settings
* **ChatGPT Plus/Team** - Add the server through Connections settings
* **Claude Desktop** - Configure through the MCP settings panel
* **Other clients** - Follow standard MCP configuration patterns
Each setup provides immediate access to the full documentation within your preferred development environment.
***
## Two MCP Servers
Topsort now offers two MCP servers for different use cases:
| Server | URL | Purpose |
| ----------------------------------- | --------------------------------------- | ----------------------------------------------------- |
| [Documentation MCP](/api/mcp) | `https://docs.topsort.com/mcp` | Access API docs, schemas, and integration guidance |
| [Analytics MCP](/api/mcp-analytics) | `https://mcp-server.api.topsort.ai/mcp` | Real-time analytics, campaign metrics, and benchmarks |
The Documentation MCP is publicly accessible, while the Analytics MCP requires authentication. Contact your Topsort sales representative for Analytics MCP access.
# Negative/Excluding Audiences API
Source: https://docs.topsort.com/en/changelog/2025-10-29-negative-excluding-audiences
Maximize campaign ROI by excluding users who don't match your targeting criteria
October 28, 2025Ad ServerNew Feature
**Why It's Important**
**Audience Exclusions** maximize campaign efficiency by strategically removing
users who don't match your ideal targeting criteria, ensuring your budget
focuses on the most relevant potential customers.
## What's New
* **Exclusion Sets**: Remove specific user groups from your campaign audiences
* **Dynamic segment exclusions**: Exclude users based on time-sensitive segments like recent purchasers
* **Cross-campaign optimization**: Prevent user overlap between campaigns
## Key Benefits
**Improved ROI**:
Focus budget on high-value prospects by excluding users unlikely to convert,
such as recent purchasers or existing subscribers.
**Precise Targeting**:
Create sophisticated audience segments by combining inclusion and exclusion
rules for maximum relevance.
## Common Use Cases
* Exclude users who purchased the promoted product in the last 7 days
* Remove users currently in competitor loyalty programs
* Exclude users from high-cost acquisition campaigns
* Prevent targeting users already engaged in other product campaigns
The example shows how to create a campaign with exclusion filters. The `exclusionFilters` object contains an array of segments to exclude and can be activated with `isActive: true`.
***
This update enhances your audience targeting capabilities in the [public API](/en/api-reference/campaign-api/create-campaign#body-exclusion-filters). Learn more about [audience segments and targeting strategies](/en/knowledge-base/ad-platform/campaign-targeting/segments/) in our knowledge base.
# Attribute-Based Product Filtering for Sponsored Listings
Source: https://docs.topsort.com/en/changelog/2025-11-06-attribute-based-product-filtering
Filter sponsored products by attributes to display only relevant variants in auctions with configurable AND/OR logic
November 24, 2025
Ad Server
New Feature
We've introduced **Attribute-Based Product Filtering** for Sponsored Listings, enabling marketplaces to filter eligible sponsored products based on user-selected attributes. This feature ensures only relevant product variants appear in auctions, improving ad relevance and reducing post-auction filtering requirements.
## Key Benefits
**Improved Relevance**:
Display only products matching specific attributes selected by users
**Flexible Configuration**:
Configure filtering logic with AND/OR operators to match marketplace needs
**Reduced Processing**:
Eliminate post-auction filtering by ensuring relevance at auction time
**Better User Experience**:
Show users only the product variants that match their search criteria
## How It Works
### Attribute Filtering
The system filters sponsored products based on:
* **Product Attributes** - Color, size, brand, and other product characteristics
* **User Selection** - Attributes chosen by users during their shopping journey
* **Configurable Logic** - AND/OR operators for precise filtering control
* **Real-time Application** - Filtering applied during auction selection
## Configuration Options
1. **Define Filterable Attributes** - Select which product attributes are available for filtering
2. **Set Filtering Logic** - Choose between AND/OR operators for attribute matching
3. **Enable per Category** - Apply filtering rules to specific product categories
4. **Monitor Performance** - Track impact on auction fill rates and relevance
### Supported Attributes
Common filterable attributes include:
* Color variations
* Size options
* Brand names
* Material types
* Style categories
* Custom marketplace-specific attributes
***
This feature is available now for all Sponsored Listings campaigns. Contact your account manager to enable attribute-based filtering for your marketplace.
# Manual Category Exclusion for Sponsored Listings
Source: https://docs.topsort.com/en/changelog/2025-11-06-manual-category-exclusion
Exclude specific categories from campaigns while maintaining products in their catalog structure with hierarchical category display
November 5, 2025Ad PlatformImprovement
We've enhanced Sponsored Listings with **Manual Category Exclusion**, allowing advertisers to remove unwanted categories from their campaigns while keeping products aligned with their catalog category structure. Categories are now displayed hierarchically, matching the campaign creation interface for consistency.
## Key Benefits
**Precise Control**:
Exclude specific categories without affecting product catalog structure
**Hierarchical Display**:
View categories in the same structured way as during campaign creation
**Flexible Targeting**:
Remove seasonal or unwanted categories while maintaining core targeting
**Automated Pre-selection**:
Categories eligible for automated targeting are pre-selected based on SKU
selection
## How It Works
### Category Management
The feature provides:
* **Hierarchical Category View** - Categories displayed in their natural tree structure
* **Manual Exclusion** - Unselect categories you don't want to target
* **Smart Pre-selection** - Automatically selects relevant categories based on chosen products
* **Real-time Updates** - Changes apply immediately to campaign targeting
## Using Category Exclusion
1. **Navigate to Products Tab** - Access category settings in Admin or Vendor Dashboard
2. **View Hierarchical Categories** - See all categories in structured format
3. **Review Pre-selections** - Categories matching your SKUs are automatically selected
4. **Exclude Unwanted Categories** - Unselect categories like "Sale" or seasonal sections
5. **Apply Changes** - Save to update campaign targeting immediately
### Interface Improvements
* **Listing Ads** - Only displays categories that would be targeted based on product selection
* **Banner Ads** - Shows all categories hierarchically with SKU-based pre-selection
* **Empty Product Selection** - Displays all available categories when no products selected
***
Manual Category Exclusion is available now for all Sponsored Listings campaigns. The hierarchical category display provides intuitive navigation and precise control over your campaign targeting.
# In-Store Ads
Source: https://docs.topsort.com/en/changelog/2025-11-13-instore-ads
Connect with external CMS platforms to manage physical screen advertising campaigns for omnichannel retail media
November 13, 2025
Ad Platform
New Feature
**Why It's Important**
**In-Store Ads** transform physical retail spaces with dynamic advertising capabilities that connect with external CMS platforms. This feature enables advertisers to run coordinated screen campaigns that complement digital efforts and engage shoppers at the point of decision.
In-Store Ads bring seamless, dynamic advertising to physical retail spaces through integration with external CMS platforms. This capability enables advertisers to run coordinated screen campaigns that complement their digital efforts, engaging shoppers at the point of decision. The feature is designed for promotions, product launches, or in-aisle moments, offering smooth asset uploads, smart error handling, and streamlined cache management to boost efficiency and omnichannel impact.
## Key Capabilities
**CMS Platform Integration**:
Connect seamlessly with external content management systems to control physical screen displays and coordinate in-store campaigns with your existing digital advertising.
**Smooth Asset Management**:
Upload and manage creative assets for physical screens with intuitive workflows that handle various formats and resolutions, ensuring content displays properly across different screen types.
**Smart Error Handling**:
Built-in error detection and recovery helps identify and resolve issues with campaign setup, asset delivery, or platform connectivity, minimizing disruptions to active campaigns.
**Streamlined Cache Management**:
Efficient caching ensures content loads quickly on physical screens while allowing updates to propagate when campaigns change, balancing performance with flexibility.
## How It Works
### Campaign Creation and Management
Advertisers create in-store campaigns through the Admin Dashboard using familiar campaign creation workflows. The platform connects with your external CMS to manage what appears on physical screens in retail locations. Campaigns can be tailored for specific promotions, product launches, or in-aisle moments, with the same targeting and scheduling capabilities available for digital campaigns. This creates a unified approach to managing advertising across both online and physical channels.
### Asset Upload and Delivery
When creating in-store campaigns, advertisers upload creative assets that will display on physical screens. The system handles various formats and resolutions, automatically optimizing content for different screen types when possible. Smart error handling catches issues during upload or delivery, providing clear feedback when assets need adjustment or when connectivity issues arise. This reduces the technical burden of managing physical screen content.
### Platform Integration
The CMS integration handles the technical details of communicating with physical screen infrastructure. Cache management ensures that content loads efficiently on screens while allowing updates to propagate when campaigns are modified. The system maintains synchronization between the Admin Dashboard and the external CMS platform, so changes made to campaigns reflect on physical screens according to the configured schedule. This streamlined approach means advertisers can focus on campaign strategy rather than technical implementation details.
## Getting Started
1. **Configure CMS Integration** - Connect your external CMS platform through the integrations section in the Admin Dashboard
2. **Set Up Screen Inventory** - Define available screens and locations in your retail spaces within the CMS platform
3. **Create In-Store Campaign** - Build a campaign using the familiar campaign creation workflow, selecting in-store as the campaign type
4. **Upload Creative Assets** - Add images, videos, or other content formatted for your physical screens, with guidance on required formats and resolutions
5. **Launch and Monitor** - Activate your campaign and track performance through unified reporting that includes both digital and physical channels
### Use Cases
Retailers running product launches can coordinate messaging across online and in-store channels, ensuring shoppers see consistent creative whether they're browsing a website or walking through aisles. For regional promotions, in-store campaigns can highlight local inventory or location-specific offers that complement targeted digital advertising. Seasonal campaigns benefit from the ability to quickly update physical screen content without manual intervention at each location, making it practical to run time-sensitive promotions across multiple stores. The unified platform approach means campaign performance can be evaluated holistically, comparing results from digital and physical touchpoints.
In-Store Ads are available now in the Admin Dashboard. Contact your account manager to enable CMS integration and begin managing omnichannel campaigns from a single platform.
# Sponsored Brands: Geolocation Targeting
Source: https://docs.topsort.com/en/changelog/2025-11-20-sponsored-brands-geolocation
Enhanced Sponsored Brands with geolocation targeting capabilities for precision audience reach based on user location
November 20, 2025
Ad Platform
Improvement
**Why It's Important**
**Geolocation Targeting** enables Sponsored Brands campaigns to reach customers based on their physical location, creating more relevant advertising experiences and improving campaign performance through location-based targeting.
Geolocation targeting adds precise, location-based capabilities that layer a powerful geographic dimension onto your existing audience targeting. This upgrade enables advertisers to deliver hyper-relevant Sponsored Brands campaigns based on real user location, ensuring your message reaches the right audience at the right moment. Campaigns can be configured for local events, regional launches, or area-specific offers, reducing wasted ad spend while boosting relevance and conversion potential.
## What's New
During campaign creation, advertisers can configure geographic targeting for specific locations at the marketplace level. The auction system uses this configuration to filter campaigns based on user geolocation data, ensuring campaigns only serve to audiences in targeted regions. The API includes a new geolocation field that follows the same structure as Auctions v2, making integration consistent with existing tools. Advertisers can select one or more locations during campaign setup, and campaigns without geolocation restrictions will continue to participate in all auctions as before, maintaining backward compatibility.
## Key Benefits
**Location-Based Precision**:
Deliver campaigns to specific geographic areas where your customers are located, ensuring ad spend focuses on relevant regions and reducing waste from untargeted impressions.
**Regional Campaign Flexibility**:
Create campaigns tailored to local events, regional product launches, or area-specific offers that resonate with audiences in particular locations.
**Marketplace-Level Control**:
Admin users configure available locations at the marketplace level, providing advertisers with location options that align with business operations and available inventory.
**Seamless API Integration**:
The geolocation field follows the same structure as Auctions v2, ensuring consistency with existing integrations and familiar workflows in the Admin Dashboard.
## How It Works
### Campaign Creation
During the Ad Behavior step of campaign creation, advertisers can select from pre-configured geolocations. Location options appear only if an admin has configured locations for the marketplace. This ensures campaigns target areas where the business operates or where specific products are available.
### API Support
The API includes a `geoTargeting.location` field that matches the structure used in Auctions v2. This field supports location targeting alongside existing triggers like search queries and categories. The API maintains backward compatibility, so campaigns created without geolocation settings continue to function as they did before, participating in all auctions regardless of user location.
### Auction Filtering
When a user triggers an auction, the system checks their location data. Campaigns configured with specific geolocation settings participate only when the user's location matches one of the targeted regions. Campaigns without location restrictions remain available to all users, ensuring flexibility for different advertising strategies.
## Getting Started
1. **Configure Locations** - Admin users set up available geolocations at the marketplace level
2. **Create Campaign** - Navigate to Sponsored Brands campaign creation in the Admin Dashboard
3. **Select Targeting** - Choose geographic locations during the Ad Behavior step (Step 2) of campaign setup
4. **Launch Campaign** - Your campaign will automatically target users in selected locations
5. **Monitor Performance** - Track location-specific performance through existing analytics tools
### Available Now
Geolocation targeting is available in the Admin Dashboard for Sponsored Brands campaign creation. Admins can configure available locations in marketplace settings, and advertisers can select target regions during the Ad Behavior step of campaign setup. The feature is also available through the API using the `geoTargeting.location` field, which follows the same structure as Auctions v2 for consistency across the platform.
Sponsored Brands geolocation targeting is available now for all marketplaces. Contact your admin to configure available locations for your marketplace.
# Banner Ads: Exclusive Position Control
Source: https://docs.topsort.com/en/changelog/2025-12-01-banner-exclusive-position-control
Choose specific positions (1-10) for exclusive Banner campaigns to control ad placement in auction results
December 1, 2025
Ad Platform
Improvement
**Why It's Important**
Advertisers running exclusive Banner campaigns can now control exactly where their ads appear in auction results by selecting a specific position from 1 to 10. This brings Banner campaigns in line with Sponsored Listings, which already offered position control, and enables more sophisticated placement strategies for premium inventory.
## What's Improved
Exclusive Banner campaigns now include a position selector in the delivery configuration section during campaign creation and editing. Choose position 1 for highest priority placement down to position 10 for lowest. This granular control means advertisers can guarantee specific placement ranks for their exclusive campaigns rather than competing in standard auctions. The feature requires the delivery configurations feature flag to be enabled.
## Use Cases
**Carousel Sequencing**: For multi-banner placements, reserve position 1 for high-priority brand campaigns, assign positions 2-4 to product promotions, and use lower positions for long-tail inventory. This creates consistent sequencing across user sessions where premium advertisers always appear first, justifying higher CPMs for top positions.
**Placement Testing**: Run the same creative at different positions to understand how placement rank affects performance. Compare CTR and conversion rates for position 1 vs position 5 to optimize future bidding strategies and identify which positions deliver the best ROI for specific campaign types.
**Premium Partnerships**: Guarantee top placement for strategic brand partnerships or exclusive vendor agreements. When contractual obligations require specific visibility guarantees, position control ensures compliance without relying on auction dynamics that could push premium partners to lower positions during high-competition periods.
**Budget Optimization**: Allocate higher-performing campaigns to top positions (1-3) while testing new creatives or lower-priority products in positions 7-10. This allows advertisers to maintain visibility across the full placement range while concentrating spend on proven high-performers in premium positions.
Position control is available now in the Admin Dashboard and through the Banner campaign API endpoints.
# Sponsored Brands: Enhanced Campaign Management
Source: https://docs.topsort.com/en/changelog/2025-12-01-sponsored-brands-targeting-updates
Sponsored Brands campaigns now support audience targeting, bulk product upload, and product ID search for streamlined campaign creation and precise targeting
December 1, 2025
Ad Platform
Improvement
**Why It's Important**
We've improved **Sponsored Brands** to provide professional-grade campaign management capabilities including audience targeting with frequency capping, bulk product upload, and product ID search. These updates streamline campaign creation workflows and enable more sophisticated targeting strategies for better performance.
Sponsored Brands campaigns now include powerful enhancements that make campaign creation faster and targeting more precise. Audience targeting enables advertisers to reach specific customer segments with frequency capping controls, ensuring ads reach precisely defined audiences without over-exposure. Bulk product upload eliminates manual selection for large product sets, while product ID search streamlines product discovery by supporting both parent and child product ID lookups. These updates reduce time spent on campaign setup while expanding strategic targeting options.
## Key Benefits
**Audience-Level Precision**:
Target specific customer segments with pre-defined audiences, ensuring campaigns reach the most relevant users while frequency capping prevents over-exposure and ad fatigue.
**Faster Product Selection**:
Upload up to 40 products instantly via CSV instead of selecting them manually one by one, dramatically reducing time spent on campaign setup for large product sets.
**Streamlined Product Discovery**:
Search products by product ID or name, with automatic parent product resolution for child product IDs, making it faster to find and add specific products to campaigns.
**Intelligent Product ID Handling**:
The system automatically resolves parent-child product ID relationships and deduplicates entries, ensuring your campaign includes the correct parent products without manual verification.
## What's Improved
### Audience Targeting with Frequency Capping
Advertisers can now target pre-defined audience segments within Sponsored Brands campaigns. During the targeting step, select from available audience segments to ensure ads reach only precisely defined groups. Frequency capping controls limit the number of times campaigns appear to the same user, with configurable impression limits per day, per week, or in total. This prevents ad fatigue and optimizes budget allocation by controlling exposure rates. Audience targeting works alongside existing category, keyword, and location targeting, adding an additional layer of precision to campaign configuration.
### Bulk Product Upload
Campaign creation now supports bulk product selection through CSV upload. Upload a file containing product IDs (one per row) to add up to 40 products instantly. The system automatically handles parent-child product ID relationships, deduplicates entries, and validates product IDs against your catalog. After upload, see a summary showing how many products matched successfully and which IDs weren't found.
### Product ID Search
Product selection now includes a dedicated "Search by ID" field alongside the existing product name search. Enter product IDs to quickly locate specific products without browsing through categories or searching by name. The system accepts both parent and child product IDs and automatically resolves to the appropriate parent product. This provides three flexible ways to find products: search by name, search by ID, or browse by category.
### Use Cases
**High-Value Product Launches**: Use audience targeting to reach premium customer segments while frequency capping ensures these audiences aren't overwhelmed with repeated impressions.
**Large Catalog Management**: Bulk product upload eliminates hours of manual product selection when creating campaigns for broad product categories or seasonal collections.
**Specific Product ID Campaigns**: When working with specific product IDs provided by brand partners or internal teams, product ID search allows direct lookup without navigating category hierarchies, speeding up campaign setup when exact product lists are already defined.
## Getting Started
1. **Configure Audience Segments** - Admin users set up available audience segments at the marketplace level (required only for audience targeting)
2. **Create Sponsored Brands Campaign** - Navigate to campaign creation in the Admin Dashboard and complete the basic campaign details
3. **Select Targeting Options** - In the targeting step, choose audience segments if desired, and enable frequency capping to control impression rates
4. **Add Products Efficiently** - Use bulk CSV upload for large product sets or search by product name or product ID for individual products
5. **Launch and Monitor** - Activate your campaign and track performance through existing analytics, with audience and product-level insights available
### API Support
Audience targeting is now available through the Sponsored Brands campaign create and edit API endpoints. Include `multiplierConfig` and `targetingFilters` parameters in request bodies, matching the structure used in Listing and Banner APIs for consistency. This enables programmatic campaign creation with audience targeting and frequency capping configured through API calls.
These enhancements to Sponsored Brands campaign management are available now in the Admin Dashboard and through the API. Contact your account manager to configure audience segments for your marketplace and begin using these streamlined workflows.
# Banner Ads: Fallback Image Upload
Source: https://docs.topsort.com/en/changelog/2025-12-02-banner-fallback-image-upload
Upload fallback images directly for banner ad slots instead of providing URLs
December 2, 2025
Ad Platform
Improvement
**Why It's Important**
Admins can now upload fallback images directly when configuring banner ad slots, eliminating the need to host images externally and provide URLs. This streamlines slot configuration and gives admins full control over fallback creatives.
Banner ad slot configuration now supports direct image uploads for fallback creatives. Previously, admins could only provide URLs to externally hosted images, requiring separate file hosting and creating potential for broken links.
## Use Cases
**House Brand Promotion**: When no paid ads are available to fill a banner slot, the fallback image displays instead of leaving the space blank. Upload fallback images promoting house brands, seasonal sales, or marketplace features to maintain a complete site appearance even during low ad inventory periods.
**Inventory Management**: For high-traffic placements like homepage hero banners that typically show sponsored ads, upload fallback images promoting your marketplace's loyalty program or key marketplace features. When ad inventory runs low, users see your promotion instead of an empty space, ensuring premium real estate is never wasted.
## What This Improves
**No external hosting needed**: Upload images directly from your local machine without managing CDNs or external URLs.
**Instant updates**: Replace or delete fallback images immediately in the admin dashboard without coordinating with external providers.
**Prevent broken images**: Eliminate broken links from expired or moved external resources that can leave banner slots empty.
Any standard image format is supported. Navigate to banner slot settings in the Admin Dashboard to find the new upload option in the fallback creative section.
# Sponsored Brands: Campaign Data Download
Source: https://docs.topsort.com/en/changelog/2025-12-03-sponsored-brands-download-button
Export performance data from Sponsored Brands campaigns with the new download button
December 3, 2025
Ad Platform
Improvement
**Why It's Important**
Sponsored Brands campaigns now include a download button for exporting performance data, matching functionality already available in Sponsored Listings and Banner campaigns. This creates consistency across all campaign types and enables offline analysis of Sponsored Brands performance.
The Sponsored Brands campaign details page now includes a download button that exports performance metrics to CSV format. This brings Sponsored Brands in line with Sponsored Listings and Banner campaigns, which already offered data export.
Previously, users had to manually copy data or take screenshots to analyze Sponsored Brands performance outside the dashboard.
## What You Can Do With It
Export to spreadsheets or BI tools to combine with other marketing data and calculate comprehensive ROI. Download on a schedule to maintain historical records or feed into automated reporting workflows. Export data from all campaign types to compare performance across Sponsored Brands, Listings, and Banners in unified analysis.
Look for the download button on any Sponsored Brands campaign details page. The exported CSV matches the date range and filters currently applied in your dashboard view, and is available to both marketplace and vendor users.
# Vendor Analytics: General Availability
Source: https://docs.topsort.com/en/changelog/2025-12-05-vendor-analytics-global-availability
Vendor Analytics is now available to all marketplaces and vendor users
December 5, 2025
Ad Platform
Improvement
**Why It's Important**
Vendor Analytics is now globally available across all Topsort marketplaces. Previously available to select partners, the full analytics suite is now accessible to all vendor users, providing comprehensive performance insights and reporting capabilities.
Vendor Analytics is now available to all vendor users across all marketplaces. Previously limited to select partners, the analytics dashboard is now accessible to everyone.
## What's Included
### Campaign Performance Table
The main view displays a table with your campaigns and their metrics:
* Impressions, clicks, conversions, spend, CTR, and ROAS
* Sort and filter by any column
* Select which columns to display using the column selector
### CSV Download
The download button exports the current table view to CSV format. The export includes:
* All currently visible columns
* Data filtered by your selected date range
* Any active filters you've applied
Use the exported data for offline analysis, custom reporting, or integration with external tools.
### Additional Features
* **Product-level insights** — see performance broken down by SKU
* **Custom date ranges** — select any time period to analyze
* **Automatic updates** — data refreshes as campaigns run
Vendor Analytics is enabled by default for all vendor users. Access it through the Self-Service dashboard—no additional setup required.
# View Switcher
Source: https://docs.topsort.com/en/changelog/2025-12-05-view-switcher
Switch between marketplace and vendor perspectives without leaving your session
December 5, 2025
Ad Platform
New Feature
We've introduced a new **view switcher** that allows users to seamlessly toggle between Marketplace and Advertiser perspectives. This feature streamlines workflows for users managing both types of accounts by eliminating the need to log out and re-authenticate when switching contexts.
Users managing both marketplace operations and vendor accounts can now switch between perspectives directly in the Ad Platform.
## The Problem
Previously, users with access to multiple roles needed to maintain separate accounts and re-authenticate every time they needed to navigate between Marketplace and Advertiser views. This created friction when managing campaigns from both perspectives—especially for platform administrators and agency partners working across multiple accounts.
## The Solution
Toggle between marketplace and vendor views instantly from the sidebar navigation. No logging out, no re-authentication, no session juggling. The selected view persists across sessions, so you'll return to your last-used perspective automatically.
## How It Works
Accounts can be linked to both Marketplace and Advertisers through the current invite flow. Users must be invited to each kind of account separately. Upon accepting an invite for a new kind of view, the switcher will be automatically available for them in the sidebar navigation.
Learn more about [customizing invite flows](/en/knowledge-base/ad-platform/vendor-management/customize-invites).
# Company Switcher
Source: https://docs.topsort.com/en/changelog/2025-12-19-company-switcher
Switch between company accounts without separate logins
December 19, 2025
Ad Platform
New Feature
**Why It's Important**
Advertisers managing campaigns across multiple companies previously had no way to select their context when logging in. The company switcher now provides context selection upon login and streamlined navigation between vendor accounts.
The company switcher has been improved with context selection upon login and streamlined navigation between vendor companies.
## What's Improved
**Context selection on login**: Upon signing into Self-Service, you're now prompted to select which company you want to work with.
**Streamlined navigation**: The company switcher appears in the top navigation bar for Self Service and in the sidebar navigation for Admins, making it straightforward and friendly to navigate between companies. No more hunting for the right navigation path.
## Who This Helps
**Advertisers running campaigns across multiple companies**: Switch seamlessly between your different company accounts to manage campaigns, review performance, and optimize spend across your entire portfolio. The clear context selection means you always know which company's data you're viewing.
**Agencies and consultants**: Quickly move between client accounts without navigation friction, making it easier to provide timely support and campaign management across all your clients.
## Understanding Your Account Types
The company switcher works with two types of accounts, each with distinct capabilities:
**Advertiser/Vendor Accounts**: These accounts are designed for brands and vendors running ad campaigns. With an Advertiser account, you can create and manage campaigns, set budgets, track performance metrics, and optimize your advertising spend. If you're promoting products or services, this is your primary account type.
**Marketplace Accounts**: These accounts are for marketplace operators managing the advertising platform itself. Marketplace accounts have administrative capabilities including configuring auction settings, managing advertiser relationships, setting up catalog integrations, and accessing platform-wide analytics. If you're running the retail media network, you'll use a Marketplace account.
Look for the company switcher in the respective navigation bar to switch between your available companies.
# Frequency Cap with Clicks
Source: https://docs.topsort.com/en/changelog/2025-12-22-frequency-cap-clicks
Set frequency caps based on clicks or impressions for Banner and Video ads
December 22, 2025
Ad Platform
New Feature
**Why It's Important**
Advertisers now have more granular control over ad exposure. Previously, frequency caps could only be set based on impressions. Now you can choose between clicks or impressions, giving teams greater flexibility to balance reach, engagement, and efficiency.
The frequency cap feature now supports both clicks and impressions as cap types, available for Banner and Video ad campaigns.
## What's New
**Click-based frequency capping**: Set limits based on how many times a user clicks on your ad, not just how many times they see it. This is ideal for campaigns focused on engagement metrics.
**Flexible cap selection**: Choose between "Impressions" or "Clicks" in the frequency cap dropdown when configuring your campaign settings.
## Who This Helps
**Performance-focused advertisers**: If your campaign goals are centered around clicks and engagement rather than brand awareness, click-based caps let you optimize for what matters most.
**Teams managing ad fatigue**: Balance user experience by capping based on actual engagement, ensuring users aren't overwhelmed while still maximizing campaign reach.
## Availability
This feature is available for:
* [Banner ads](/en/knowledge-base/ad-platform/banners/banner-ads-campaigns/)
* [Video ads](/en/knowledge-base/ad-platform/video-ads/)
🎄 **Happy Holidays from the Topsort team!** 🎄
Wishing you joy and celebration wherever you are in the world — Merry Christmas, Happy Hanukkah, Joyeux Noël, Feliz Navidad, Frohe Weihnachten, Buon Natale, メリークリスマス, 圣诞快乐, Счастливого Рождества, and a wonderful holiday season to all! 🌍✨
# Sponsored Brands: Multi-Slot Campaigns
Source: https://docs.topsort.com/en/changelog/2025-12-30-sponsored-brands-multiple-slots
Manage multiple Sponsored Brand placements within a single campaign for streamlined operations
December 30, 2025
Ad Platform
Improvement
**Why It's Important**
Managing multiple Sponsored Brands placements previously required creating separate campaigns for each slot. This created operational overhead when the same brand needed to appear across multiple placements, forcing analysts to manually duplicate campaigns and update settings individually across each one.
Sponsored Brands campaigns now support multiple slot selections within a single campaign. Select multiple placements during campaign creation, and manage them together with shared budget, scheduling, and targeting settings.
## The Problem
When activating Sponsored Brands across multiple placements for the same advertiser, each slot required its own dedicated campaign. This meant:
* Manually creating separate campaigns for each placement
* Updating budget, end dates, and targeting across multiple campaigns individually
* Managing a cluttered campaign list as the number of placements grew
* No way to duplicate campaign configurations across slots
Banner campaigns already supported multiple placements within a single campaign, but Sponsored Brands lacked this capability.
## The Solution
Sponsored Brands campaigns now allow multiple slot selections during campaign creation. After selecting a template, choose from all eligible slots that share compatible product requirements. All selected slots inherit the same targeting, creative configuration, and campaign settings.
## How It Works
Budget, scheduling, and targeting settings apply to all slots within the campaign. Change a setting once, and it updates across all placements automatically.
## Use Cases
**Multi-Placement Brand Campaigns**: Activate a brand across homepage, category, and search placements in a single campaign. Manage budget allocation and scheduling from one location instead of coordinating across separate campaigns.
**Seasonal Campaign Management**: Launch promotional campaigns across all available placements simultaneously. When the promotion ends, update the end date once rather than editing multiple campaigns.
Multiple slot support for Sponsored Brands campaigns is now available in the Admin Dashboard. Existing single-slot campaigns continue to work as before, and you can add additional slots when editing campaigns.
# Analytics Role for Marketplace Users
Source: https://docs.topsort.com/en/changelog/2026-01-21-analytics-role
Read-only access for data analysis without operational permissions
January 21, 2026
Ad Platform
New Feature
Analytics
✓
**Why We Built This**
Data-driven decisions require broad access to insights, but not everyone needs the ability to modify campaigns. The Analytics role bridges this gap—visibility for those who need it, operational control where it matters.
## The Problem
Granting access to marketplace data meant giving users more permissions than necessary. Sales teams needing campaign insights had the same access as operational staff—unnecessary risk, cluttered workflows, actions they shouldn't perform.
## The Solution
The Analytics role provides carefully scoped read-only access. See everything, touch nothing.
**Full visibility.** Dashboard, products, analytics, Data Room, campaign and vendor details—all accessible.
**Zero risk.** No creating, editing, or deleting campaigns. No wallet access. No configuration changes.
**Clear boundaries.** The role appears in the Users tab, easy to assign and identify.
## What Analytics Users Can Do
View dashboards, products, Ad Formats, Autobidding settings, analytics, finance details, Data Room exports, and campaign/vendor pages.
## What They Can't
Add vendors, toggle invitations, manage campaigns, access wallets, modify ROAS or attribution, create slots, configure Ad Formats, or upload content standards.
## Use Cases
**Account managers.** Access vendor and campaign data for client conversations without risking changes to live campaigns.
**Business analysts.** Run comprehensive analysis, export reports, build insights—no operational permissions needed.
**Executive stakeholders.** Monitor performance with full visibility and zero risk of unintended modifications.
Available now in the [Ad Platform](https://www.topsort.com/retail-media). Start inviting Analytics users from the Users section.
# Enhanced Campaign Activity Logger
Source: https://docs.topsort.com/en/changelog/2026-01-23-enhanced-activity-logger
See exactly when budget changes, targeting updates, and other campaign modifications happened—with visual markers on your performance charts showing how each change affected results.
January 23, 2026Ad PlatformNew Feature
$500 → $1,000
### Campaign Activity Logger
Ever wonder why performance changed on a specific day? The new Activity Logger shows every modification made to your campaigns, overlaid directly on performance charts so you can correlate changes with results.
#### Key Features
1. **Visual Change Markers**: See exactly where changes happened on your performance timeline
2. **Detailed Activity Log**: Every budget change, targeting update, and status modification recorded
3. **Before/After Values**: Instantly see what changed and by how much
4. **Filterable History**: Focus on specific change types (budget, targeting, status, etc.)
#### Tracked Activities
* **Budget Changes**: Daily, weekly, monthly, and total budget modifications
* **Targeting Updates**: Keyword additions/removals, audience changes, category targeting
* **Status Changes**: Campaign paused, resumed, or ended
* **Bid Adjustments**: CPC/CPM bid modifications
* **Schedule Changes**: Start/end date updates, dayparting modifications
#### Why This Matters
When you double your budget and see performance improve the next day, you want to know if it was the budget change or just a good day. The Activity Logger gives you the data to make that connection—and make smarter decisions going forward.
# Easier, More Powerful Sponsored Products Creation
Source: https://docs.topsort.com/en/changelog/2026-01-28-easier-campaign-creation
A completely redesigned campaign creation flow that guides you through product selection, budgeting, and targeting in clear steps—so you can launch campaigns faster with fewer mistakes.
January 28, 2026Ad PlatformImprovement
✓
2
3
+
### Redesigned Campaign Creation
We rebuilt the sponsored products campaign creation flow from the ground up. The new step-by-step wizard walks you through each decision, validates as you go, and shows exactly where you are in the process.
#### What's New
1. **Step-by-Step Wizard**: Clear progress indicator shows exactly where you are
2. **Visual Product Selection**: Browse and select products with thumbnail previews
3. **Smart Defaults**: Budget and targeting pre-filled based on your history
4. **Inline Validation**: Catch errors before you submit, not after
#### Key Improvements
* **Faster Setup**: Most campaigns can be created in under 2 minutes
* **Fewer Errors**: Required fields are clearly marked and validated in real-time
* **Better Product Selection**: Multi-select products with visual confirmation
* **Advanced Options**: Power users can expand additional settings without cluttering the basic flow
#### Migration Notes
Existing campaigns are unaffected. Rolling out now across marketplaces.
# User Management UI
Source: https://docs.topsort.com/en/changelog/2026-01-30-user-management-ui
Enhanced user management with filters, inline editing, invitation controls, and quick actions
January 30, 2026
Ad Platform
New Feature
Update
Status ▾
Role ▾
Invite User
**Why We Built This**
Managing users across a growing marketplace shouldn't require support tickets or backend access. The User Management tab puts admins in control—invite users, assign roles, manage vendor access, and handle expired invitations without leaving the dashboard.
## The Problem
User administration was fragmented. Inviting new team members, checking invitation status, reassigning vendors, or revoking access required multiple workflows—or escalation to support. Finding a specific user meant scrolling through an unsorted list, and there was no way to resend expired invitations or copy invitation links to share directly.
## The Solution
One unified interface for all user operations with powerful filters and quick actions. See who's active, pending, or expired at a glance. Edit roles and vendor assignments inline. Manage invitations with a full set of actions—resend, copy, or delete—all from a single row.
**Status at a glance.** Active, Pending, Expired—each user's state is immediately visible with color-coded labels.
**Role management.** Assign Admin, Sales, Analytics, or custom roles with clear permission boundaries.
**Vendor control.** For Sales users, assign specific vendors or grant access to all vendors at once.
## What You Can Do
**Filter by status or role.** Narrow your user list instantly—only filter options that exist in your system appear, so there's no noise.
**Edit users inline.** Update names, roles, and vendor assignments without navigating away from the table.
**Resend invitations.** One click to resend an expired or pending invitation—no need to delete and re-invite.
**Copy invitation links.** Grab a shareable invitation link directly from the action menu to send through any channel.
**Delete users.** Remove users entirely when they no longer need access—revocation is immediate.
## Use Cases
**Marketplace admins.** Manage your team without support tickets—invite users, adjust permissions, and handle access issues yourself.
**Operations teams.** Quickly onboard new team members with the right roles and vendor assignments from day one.
**Security-conscious organizations.** Revoke access immediately when team members leave—deleted users lose access instantly.
Available now in the [Ad Platform](https://www.topsort.com/retail-media). Access User Management from the Admin Dashboard.
# Know Which Banners Actually Work
Source: https://docs.topsort.com/en/changelog/2026-02-03-banner-asset-metrics
Per-asset performance metrics for banner campaigns show you exactly which creative is driving results—complete with automatic winner detection so you can double down on what works.
February 3, 2026Ad PlatformNew Feature
TOP
### Banner Asset Performance Metrics
Running multiple banner variations but not sure which one is actually performing? The new asset-level metrics break down impressions, clicks, and conversions for each creative in your campaign—and automatically highlight your top performer.
#### Key Features
1. **Per-Asset Metrics**: See impressions, clicks, CTR, and conversions for each banner creative
2. **Automatic Winner Detection**: Top-performing assets are automatically flagged
3. **Performance Indicators**: Quick visual status (green/yellow/red) for each asset
4. **Sortable Views**: Rank assets by any metric to find your best and worst performers
#### Metrics Available
* **Impressions**: How often each asset was shown
* **Clicks**: Direct engagement with each creative
* **CTR**: Click-through rate comparison across assets
* **Conversions**: Which creatives actually drive purchases
* **Spend**: Budget allocation per asset
#### How to Use This
1. Upload multiple banner variations to a single campaign
2. Let them run to gather statistically significant data
3. Check the asset metrics to see which creative wins
4. Pause underperformers and reallocate budget to winners
The "TOP" badge automatically appears on your best-performing asset once enough data has been collected to make a confident determination.
# Schedule Your Sponsored Listings Like a Pro
Source: https://docs.topsort.com/en/changelog/2026-02-05-dayparting-sponsored-listings
Dayparting lets you control exactly when your sponsored listings appear, so you're spending budget during peak shopping hours—not while everyone's asleep.
February 5, 2026Ad PlatformNew Feature
### Dayparting for Sponsored Listings
Stop wasting ad spend on off-hours traffic. Dayparting gives you granular control over when your sponsored listings are active, letting you align visibility with your customers' actual shopping patterns.
#### Key Benefits
1. **Maximize ROI**: Focus your budget on hours when conversion rates are highest
2. **Reduce Wasted Spend**: Automatically pause ads during low-traffic periods
3. **Match Customer Behavior**: Align ad visibility with when your audience actually shops
#### How It Works
* **Day Selection**: Toggle individual days on or off with a single click
* **Time Intervals**: Set one time window per day
* **Visual Grid**: See your entire weekly schedule at a glance
* **Instant Updates**: Changes take effect immediately—no waiting for the next day
#### Use Cases
* **Lunch Rush**: Restaurant suppliers can target 10am-2pm weekdays
* **Evening Shoppers**: Consumer goods can focus on 6pm-10pm when people browse
* **Weekend Warriors**: Home improvement can concentrate spend on Saturday mornings
# Build Smarter Audiences from Your Existing Segments
Source: https://docs.topsort.com/en/changelog/2026-02-09-audience-builder
Combined Lists Audience Builder—create precise targeting audiences by merging your uploaded customer lists
February 9, 2026
Ad Platform
New Feature
**Why We Built This**
You had customer lists. Good ones—uploaded from your CDP, segmented by behavior, purchase history, loyalty status. But each list lived in its own silo. Want to target "high-value customers who also browsed electronics"? You'd need to manually cross-reference lists and upload yet another one. Audience upload got you started. Combined Lists get you to precision.
## What Changed
You can now create audiences by combining your existing uploaded customer lists—no more re-uploading or manual merging. From the new **Audience Hub**, hit **New Audience → Create Audience from Lists** to open the Audience Builder.
New Combined Audience
Audience Information
Audience Name
Type a name
Segment ID
Type a segment ID
Segments
Create combined segments for your campaign based on your previous created audiences. Note: It may take a few minutes after creating your segment for the size to be calculated.
Include i
Any or All
Select ▾
Select segments (Max 3)
Select segments to combine ▾
+
Exclude i(Optional)
Select segments (Max 3)
Select segments to combine ▾
Back
Create
The builder uses **include** and **exclude** blocks to give you full control over who ends up in your audience:
* **Include blocks**: Add up to two include groups, each with up to 3 uploaded lists. Within each group, choose **Any** (union) or **All** (intersection) to control how lists combine. Groups are connected by OR.
* **Exclude block**: Optionally exclude users from up to 3 lists. Anyone in the exclude list is removed from the final audience.
## What You Get
* **Visual audience builder**: Combine lists with include/exclude logic—no CSVs or spreadsheets needed
* **Flexible logic**: ANY (union) or ALL (intersection) within include blocks, OR between blocks, and exclusion support
* **Up to 3 lists per block**: Layer multiple segments for precision targeting
* **Audience Hub**: See all your audiences—uploaded and combined—in one place, with source type clearly labeled
* **Campaign-ready**: Combined audiences show up in the campaign creation flow just like uploaded lists
## Who This Helps
**Campaign managers**: Build nuanced audiences without going back to your data team. Combine "Holiday Shoppers" with "High Spenders" in a few clicks.
**Marketplace admins**: Give vendors more powerful targeting tools without requiring complex CDP integrations.
**Vendors**: Target the exact users you want by layering your customer segments—no more one-size-fits-all campaigns.
Interested in the Audience Builder? Reach out to your account team to get it enabled for your marketplace.
# Demand Mediation
Source: https://docs.topsort.com/en/changelog/2026-02-20-demand-mediation
Integrate external demand sources like Criteo into Topsort auctions to increase fill rates and ad revenue
February 20, 2026
Ad Server
New Feature
UNIFIED AUCTION FLOW
YOUR SELLERS
▶
TOPSORT
AUCTION
UNIFIED POOL
◀
CRITEO
▼
HIGHEST BID WINS
Global A\$1.55
**Why We Built This**
Marketplaces shouldn't have to choose between demand sources. Demand mediation lets third-party bids compete directly against Topsort demand in a unified auction — more competition means higher fill rates and more revenue per impression.
## The Problem
Topsort auctions previously only accepted bids from Topsort sources — vendors within a marketplace or via Toppie. If no Topsort demand existed for a placement, that ad slot went unfilled. Marketplaces with existing relationships with platforms like Criteo had no way to bring that demand into the same auction.
## The Solution
Demand mediation extends the auctions API to accept bids from external demand sources. The marketplace fetches bids from a third-party platform and passes them into the Topsort auction via a new `demandSources` parameter. Topsort compares all bids — internal and external — and the highest bid wins.
**Unified auction.** Topsort and third-party bids compete in the same auction. No separate waterfall logic needed.
**Higher fill rates.** When Topsort demand is low, external bids can fill the gap.
**More revenue.** When both sources have demand, competition drives bids up.
**Criteo first.** The first integrated source is Criteo, with support for additional demand sources via the same `demandSources` parameter.
## How It Works
On page load, the marketplace fetches bids from Criteo (or another demand source) for the placement.
Include the external bids in the auction request using the new `demandSources` field.
All bids compete. The response indicates the winning source — `"topsort"` or `"criteo"` — for each slot.
For external winners, report events to both Topsort and the external platform.
## Who Should Use This
**Large US marketplaces.** Major brands bid on retail media via tools like Pacvue and Skai, which bid on Criteo inventory — this unlocks that spend without direct brand integrations.
**Large LATAM marketplaces.** Criteo has significant presence in Latin America, making this a natural fit.
**Any marketplace with existing Criteo relationships.** If you already have a Criteo account, adding demand mediation is straightforward.
## API Changes
The [auctions endpoint](/en/api-reference/examples/auctions) now accepts a `demandSources` array with external bids (up to 100 per request). The response includes a `demandSource` field on each winner indicating whether it came from Topsort or an external source.
For full implementation details, API examples, and error handling, see the [Demand Mediation](/en/knowledge-base/ad-server/auctions/demand-mediation) documentation.
Available now for eligible marketplaces. Contact your Topsort account manager to enable demand mediation for your account.
# Category Hierarchy: path Field Now Preferred
Source: https://docs.topsort.com/en/changelog/2026-02-26-category-path-field
The path field is now the recommended way to define category hierarchies. The parentId field remains fully supported with no plans for removal.
February 26, 2026Catalog APIClarification
## What Changed
The [Upsert Categories](/en/api-reference/catalog-api/upsert-categories) endpoint now supports a `path` field as the preferred way to define category hierarchies. This field uses a dot-separated string to represent a category's full position in the tree.
The `parentId` field remains fully supported. There are no plans to remove it. If your integration uses `parentId` today, it will continue to work as expected.
## Why We Added `path`
The `path` field makes it possible to define a category's full hierarchy in a single value, without requiring recursive lookups. This is especially useful for features like the Hierarchical Category Tree View, where the full ancestry of a category needs to be known.
## Comparison
```json theme={null}
[
{
"id": "apparel-and-accessories",
"name": "Apparel & Accessories",
"path": "apparel_and_accessories"
},
{
"id": "clothing",
"name": "Clothing",
"path": "apparel_and_accessories.clothing"
},
{
"id": "dresses",
"name": "Dresses",
"path": "apparel_and_accessories.clothing.dresses"
}
]
```
```json theme={null}
[
{
"id": "apparel-and-accessories",
"name": "Apparel & Accessories"
},
{
"id": "clothing",
"name": "Clothing",
"parentId": "apparel-and-accessories"
},
{
"id": "dresses",
"name": "Dresses",
"parentId": "clothing"
}
]
```
## What You Should Do
* **New integrations**: Use `path` when setting up category hierarchies
* **Existing integrations using `parentId`**: No action required. `parentId` continues to work and there are no plans to remove it
* **Both fields provided**: If both `path` and `parentId` are sent, `path` takes precedence
# Vendor User Management
Source: https://docs.topsort.com/en/changelog/2026-03-02-vendor-user-management
Marketplace admins and sales can now manage vendor users, assign roles, and control access directly from the Admin Dashboard
March 2, 2026
Ad Platform
New Feature
Vendor
Invite User
Admin
Analytics
**Why We Built This**
Enabling vendor self-service starts with giving vendors the right users and the right access. Until now, marketplace teams had no way to manage vendor users directly—they had to coordinate manually or escalate to support. Now you can invite, assign roles, and deactivate vendor users from the Admin Dashboard.
## The Problem
Marketplace admins and sales teams had no direct way to manage who has access to a vendor's dashboard. Onboarding a new vendor user, adjusting permissions, or removing access required manual coordination—slowing down vendor enablement and creating security gaps when offboarding was delayed.
## The Solution
Vendor user management is now built into the Admin Dashboard. Marketplace admins and sales users can manage the full lifecycle of vendor users—invite them, assign the right role, and deactivate access when needed.
**Two clear roles.** Vendor users are assigned one of two roles that map to their responsibilities:
* **Admin** — Full access to the vendor dashboard: manage campaigns, set budgets, invite other vendor users, and view analytics.
* **Analytics** — Read-only access to the vendor dashboard: view campaign performance, reports, and dashboards without the ability to make changes.
**Deactivate instantly.** When a vendor team member leaves or no longer needs access, deactivate their account with one click. Deactivated users lose access immediately.
**Migration handled.** All existing vendor users have been automatically assigned the appropriate vendor self-service role based on their current access level—no action required from your team.
## What You Can Do
**Invite vendor users.** Add new users to any vendor's team with the right role from the start.
**Assign roles.** Choose between Admin and Analytics based on what the vendor user needs to do.
**Deactivate users.** Revoke a vendor user's access immediately when they no longer need it.
**View vendor teams.** See all users for a vendor at a glance—their role, status, and when they were added.
## Use Cases
**Marketplace admins.** Onboard vendor teams directly—invite their users, assign appropriate roles, and ensure they can self-serve from day one.
**Sales teams.** Set up vendor users for the accounts you manage. Give campaign managers Admin access and stakeholders Analytics access.
**Vendor offboarding.** When a vendor contact leaves, deactivate their access immediately without waiting for the vendor to notify you.
Available now in the [Ad Platform](https://www.topsort.com/retail-media). Access Vendor User Management from the Admin Dashboard.
# Audiences per Vendor
Source: https://docs.topsort.com/en/changelog/2026-03-06-audiences-per-vendor
Restrict audience visibility to specific vendors with vendor-scoped segments
March 6, 2026Ad ServerNew Feature
**Why It's Important**
Retailers managing premium or private audience lists now have fine-grained control over which vendors can see and activate their segments. Vendors that are not explicitly authorized will never see or be able to use restricted audiences.
## What's New
Topsort now supports **vendor-scoped segments** — audience segments whose visibility and usability are restricted to specific vendors. This runs alongside existing global segments, which remain visible to all vendors as before.
Segment scope is determined by vendor associations:
* **Global segment**: no vendors associated → visible and usable by all vendors (unchanged behavior)
* **Vendor-scoped segment**: associated with one or more vendors → only visible and usable by those vendors
When a vendor queries available segments or attempts to activate one in a campaign, the platform validates their access in real time. Unauthorized segments are never surfaced or returned.
## How to Enable It
**This feature is managed by Topsort.** There is no self-service UI or public API for configuring vendor associations at this time. To set up vendor-scoped segments for your marketplace, share your segment-to-vendor mapping with your Topsort account team and we will configure it in your environment.
## Backward Compatibility
* All existing segments remain global by default — no migration required
* Existing clients and campaigns are unaffected unless vendor scoping is explicitly applied
* A segment with zero associated vendors behaves as a global segment
## What Happens After a Vendor Is Removed
If a vendor association is removed from a segment:
* The segment immediately becomes unavailable for new campaigns for that vendor
* Existing campaigns already referencing the segment continue to run unchanged
* The vendor cannot re-select the segment in new or edited campaigns
***
Learn more in the [Audiences per Vendor knowledge base article](/en/knowledge-base/ad-platform/vendor-management/vendor-scoped-audiences) or explore the full [audience targeting overview](/en/knowledge-base/ad-platform/campaign-targeting/segments/).
# Tomi
Source: https://docs.topsort.com/en/changelog/2026-03-13-tomi
The first AI agent for ad operations built into a retail media platform. Create and manage Sponsored Listings campaigns through natural language.
March 13, 2026
Ad Platform
New Feature
## The Problem
Ad ops teams are managing more campaigns across more vendors without growing headcount at the same pace. Setting up a Sponsored Listings campaign requires selecting products, setting budgets, choosing run dates, configuring targeting, and repeating that for every vendor. The manual overhead compounds as programs scale, and campaign launches move only as fast as people can work through each setup.
## The Solution
**Tomi is the first AI agent for ad operations built into a retail media platform.** Available directly in the Marketplace Admin sidebar, Tomi lets retail admins create and manage Sponsored Listings campaigns through natural language. Describe what you want, Tomi generates the campaign configuration using your marketplace data, and you review and approve before anything goes live.
**Faster campaign creation for retail admins.** Tomi turns simple instructions into fully configured campaigns, reducing setup time from minutes or hours to seconds.
**Better use of marketplace data.** Tomi analyzes product performance and category trends to suggest campaigns likely to drive revenue.
**Lower operational overhead.** Retail media teams can generate, update, and optimize campaigns through chat instead of managing campaigns manually.
## How It Works
Type what you want to accomplish in the Tomi chat. For example: *"Create a campaign for the top performing SKUs in electronics with a \$10k budget for the next two weeks."*
Tomi pulls relevant marketplace data (top SKUs, vendor breakdown, category performance) and drafts a campaign configuration. It asks clarifying questions if anything is missing, such as where ads should appear.
Tomi presents the full campaign configuration for review: products, budget, dates, placement, and vendor split. No changes are made yet.
Confirm the proposal and the campaigns are created. Tomi also handles ongoing management: pause underperforming campaigns, extend run dates, and surface analytics through the same chat interface.
Tomi is available now in the Marketplace Admin sidebar. Contact your Topsort account team to get access.
# GAM Demand Mediation
Source: https://docs.topsort.com/en/changelog/2026-03-19-gam-demand-fallback
Monetize unsold banner inventory by automatically returning Google Ad Manager tags when no Topsort demand is available
March 19, 2026
Ad Server
New Feature
## The Problem
Banner ad slots don't always have Topsort demand. When no vendor campaigns target a given placement, the slot goes unfilled and the marketplace earns nothing from that impression, leaving revenue on the table.
## The Solution
GAM demand mediation connects Google Ad Manager (GAM) to the Topsort auction flow for enabled banner ad slots. When the auction endpoint has no Topsort demand for a banner request, it returns a GAM tag (a snippet of JavaScript) instead of an empty result. The marketplace renders the tag, which displays a programmatic banner ad from GAM, earning incremental revenue from otherwise unfilled inventory.
**No wasted impressions.** Banner slots that would have gone unfilled now generate revenue through GAM open auction or direct deals.
**Same auction endpoint.** No new API integration required. The existing auctions endpoint returns the GAM tag in the winner's `asset` field when GAM demand mediation is triggered.
**Topsort-managed configuration.** Topsort handles the GAM setup, placement mapping, and passback tag generation. The marketplace only needs to render the returned tag.
## How It Works
The marketplace sends a banner auction request to the Topsort auction endpoint as usual.
If no Topsort campaigns bid on the slot, the auction routes to GAM demand via mediation.
The auction response includes a GAM snippet in the winner's asset array. The content field contains a string containing a GAM passback tag to render the GAM ad.
The marketplace parses the GAM snippet from the response and renders it on the page, displaying a programmatic banner ad.
Available now for eligible marketplaces. A typical integration takes a few days of a marketplace engineer's time. Contact your Topsort account team to get started, or see the [Third Party Demand](/en/knowledge-base/ad-server/auctions/demand-mediation) documentation for full details.
# Audience Builder
Source: https://docs.topsort.com/en/changelog/2026-03-26-audience-builder
A centralized Audiences tab for creating, viewing, and managing all audience segments in the marketplace UI, with three methods to build audiences
March 26, 2026
Ad Platform
New Feature
## The Problem
Previously, Topsort offered limited ability to create audience segments in the UI, and there was no centralized place for marketplace users to view and manage all existing audiences.
## The Solution
Topsort now offers a powerful new Audience Builder feature, a central place to create and manage segments. The new **Audiences** tab in the marketplace Admin Dashboard displays every audience with its name, source type, and user count in a single table.
From the Audiences tab, marketplace users can create segments using three methods:
* **Upload via CSV**: Upload a file of opaque user IDs directly from your computer. Once processed, the audience appears in the table with its calculated size.
* **Behavioral Audiences**: Build audiences by filtering users based on their past behavior, such as views, clicks, or purchases on specific products or any products within specific categories, within the last 7, 30, or 90 days. Include filters can be combined with ANY (or) or ALL (and), and exclude filters remove unwanted users.
* **Combined Lists** (new): Create a new audience by combining previously uploaded lists using logical rules. Add up to two include groups (each with up to 3 lists) using **Any** (union) or **All** (intersection) logic, connected by OR. An optional exclude block removes users from the final audience.
All audiences, regardless of how they are created, are available to all vendors within the retailer environment and can be used as **boosters** in the campaign creation flow for every ad format. Topsort also offers the ability to [restrict audiences to specific vendors via API](/en/knowledge-base/ad-platform/vendor-management/vendor-scoped-audiences).
## How It Works
Open the **Audiences** tab in the Admin Dashboard sidebar. You'll see a table of all audiences available to your account with their source type and user count.
Click **Create Audience** and choose your method: Upload via CSV, Behavioral Audience, or Combined Lists.
Follow the guided flow for your chosen type. For CSV uploads, provide your file. For behavioral audiences, set your include/exclude filters. For combined lists, use include and exclude blocks to layer your existing uploaded lists.
Your audience appears in the campaign creation flow as a booster, available across all ad formats and vendors.
Available now. Contact your Topsort account team to enable the Audiences tab, or see the [Audience Segments documentation](/en/knowledge-base/ad-platform/campaign-targeting/segments) for full details.
# Ad Format Configuration
Source: https://docs.topsort.com/en/changelog/2026-04-12-ad-format-configuration
View campaigns, configure charge types, and manage self-service access directly from each Ad Format page
April 12, 2026
Ad Platform
Enhancement
## The Problem
Changing ad format settings — like charge types or self-service access — required contacting your Topsort account manager. Marketplace operators couldn't update configuration on their own, slowing down iteration and creating unnecessary back-and-forth.
## The Solution
Each Ad Format page in the Admin Dashboard now lets marketplace operators manage configuration directly. View all campaigns for a given ad format, change charge types, and control self-service vendor access — entirely self-service, no account manager needed.
### Sponsored Listings
* **Charge type**: Choose between CPC, CPM, or CPA
* **Self-service access**: Enabled by default for all vendors
### Banners
* **Charge type**: Choose between CPC or CPM
* **Self-service access**: Restrict access for the entire marketplace or by individual vendor
### Brands
* **Charge type**: Choose between CPC or CPM
* **Self-service access**: Restrict access for the entire marketplace or by individual vendor
### Videos
* **Charge type**: Choose between CPC or CPM
* **Self-service access**: Restrict access for the entire marketplace or by individual vendor
## How It Works
Open any Ad Format page (Sponsored Listings, Banners, Brands, or Videos) in the Admin Dashboard.
See all campaigns running for that ad format in a single view.
Select the charge type that fits your monetization strategy — CPC, CPM, or CPA (Sponsored Listings only).
For Banners, Brands, and Videos, restrict self-service access for the entire marketplace or for specific vendors. Sponsored Listings are enabled for self-service by default.
Available now. Navigate to any Ad Format page in the Admin Dashboard to start configuring charge types and self-service access.
# Revamped Banner Flow
Source: https://docs.topsort.com/en/changelog/2026-04-13-revamped-banner-flow
A streamlined banner campaign creation experience with multi-creative, multi-slot assignment, manually or via AI
April 13, 2026
Ad Platform
Enhancement
## What's New
Topsort released a revamped banner campaign creation flow with a streamlined, end-to-end experience. The entire UI has been redesigned for clarity and speed, from creative upload through to launch.
### Multi-Creative, Multi-Slot Assignment
Assign multiple creatives to multiple slots in a single step:
* **Manual drag-and-drop**: drag creatives from the tray into individual slots
* **AI Auto-assign**: click **Auto-assign** to automatically distribute creatives across slots by aspect ratio
### CTA Configuration Studio
A new Creative Studio for configuring destinations at the per-slot, per-creative level. Select vendors, products, or destination URLs, set ad details, crop images, and preview how each creative will appear, all from a single sheet without leaving the assignment view.
To speed up campaign creation, destination assignments can be applied in bulk:
* **To all creatives in the same slot**: apply the same destination across every creative within a slot
* **To all slots in the campaign**: apply the same destination across the entire campaign in one click
This eliminates the need to configure each creative individually, significantly reducing setup time for campaigns with many slots and creatives.
### Streamlined Campaign Creation
The entire banner creation flow has been redesigned:
* **Guided step-by-step wizard**: Set Creatives, Bidding, and Launch are now distinct, validated stages
* **Bulk slot selection**: select slots from CSV or multi-select with position filtering
* **Campaign duplication and editing**: duplicate existing campaigns or edit them with full v1 compatibility
* **AI creative resizing**: batch auto-resize creatives to fit slot dimensions via GenMedia
Available now. Navigate to **Ad Formats > Banners** and create a new campaign to experience the revamped flow.
# Tomi Analytics
Source: https://docs.topsort.com/en/changelog/2026-04-17-tomi-analytics
Tomi now surfaces performance, campaign, and marketplace analytics through natural language, with forecasting and search built in.
April 17, 2026
Ad Platform
New Feature
## What's New
Tomi's analytics capabilities are now live. Ask questions in natural language and get instant answers backed by your marketplace data, without leaving the chat.
### Capabilities
* **KPI tracking** with time-series trends and period-over-period comparisons for CTR, ROAS, CVR, and CPC
* **Campaign analysis** across targeting, bidding behavior, and budget pacing
* **Product and catalog insights** across promoted and organic performance
* **Search and discovery** across campaigns, products, and vendors
* **Forecasting, currency conversion, and lightweight utilities**
* **Marketplace-level analytics** for admins (auction volume, fill rate, win rate) with strict data isolation
### Example Prompts
* *"How did ROAS trend over the last 30 days compared to the previous period?"*
* *"Which campaigns are underpacing their budget this week?"*
* *"Show me the top 10 products by CTR in the electronics category."*
* *"If I run a campaign with a \$50 daily budget on these 5 products, how many clicks can I expect?"*
* *"Find all active campaigns for vendor Acme and summarize their CPC and CVR."*
Available now in the Marketplace Admin sidebar. Contact your Topsort account team to get access.
# Topsort Prompts
Source: https://docs.topsort.com/en/changelog/2026-04-21-sponsored-prompts
Monetize marketplace chatbot discovery by serving up sponsored and organic product recommendations within chat.
April 21, 2026
Ad Platform
New Feature
## What's New
Marketplace AI chatbots are becoming a major product discovery surface. Shoppers already use them to compare products, get recommendations, and narrow down options, but monetization often stops at the chatbot boundary.
Topsort Prompts closes that gap.
With Topsort Prompts, marketplaces can monetize qualifying chatbot product queries by blending sponsored product tiles into conversational results without degrading the shopper experience.
## Why This Matters
* Conversational commerce is growing quickly, and these interactions are often high-intent
* Chatbot discovery has usually operated at zero yield for marketplaces
* AI discovery surfaces need a sustainable revenue model to scale long-term
## How Topsort Prompts Works
When a marketplace connects its chatbot to Topsort's Topsort Prompt server, Topsort returns products when users query for them:
1. Topsort evaluates the user prompt against active Topsort Prompt campaigns
2. Matching is semantic (intent-based), not exact keyword overlap
3. If the user query matches eligible sponsored products, sponsored placements are returned first
4. Otherwise, Topsort returns organic recommendations
### Example Semantic Matches
A campaign targeting `sports watch` can also match:
* "Help me find a watch for running"
* "I need a fitness watch under 60"
* "Can you recommend a workout watch?"
## What This Unlocks for Marketplaces
* Monetize chatbot discovery as it happens
* Preserve answer quality with blended sponsored and organic recommendations
* Capture intent beyond rigid keyword matching
* Use existing sponsored listings infrastructure instead of building a separate ad stack
Learn more in the [Topsort Prompts documentation](/en/knowledge-base/ad-platform/sponsored-prompts/index).
# TikTok Offsite Ads
Source: https://docs.topsort.com/en/changelog/2026-05-14-tiktok-offsite-ads
TikTok catalog-based offsite ads
May 14, 2026
Ad Platform
New Feature
## What's New
Topsort now supports **TikTok Offsite Ads** in the campaign flow. Advertisers can create TikTok offsite campaigns that send shoppers back to the marketplace using catalog-based placements.
The flow mirrors other **catalog-based offsite** channels such as **Google Shopping**: vendors choose products (all or specific), timeline, and budget. Apart from the catalog, the only additional asset advertisers provide is **music selection**: pick **Relaxed instrumental**, **Upbeat electronic**, or **Minimal ambient**, and Topsort selects an appropriate instrumental track from the TikTok music library for the ad.
## Why This Matters
* After Google and Meta, TikTok is the most globally relevant offsite channel for marketplaces. Topsort adds the same self-service vendor workflow, consolidated reporting, and optional in-house attribution as other offsite channels.
* Strong fit for discovery-oriented verticals (fashion, beauty, home, fitness, food, lifestyle, electronics accessories) and mobile-first audiences, with strong presence in North America, Southeast Asia, and Latin America and growing traction in Europe.
## Onboarding and Billing
* Onboarding is typically **hours**: grant Topsort admin access to your **TikTok Business Manager** account, share **pageview** and **purchase** events with Topsort (often a single session with a Topsort integrations engineer and one of your engineers), and rely on **automatic catalog sync** to TikTok. No separate catalog integration project is required.
* Billing follows the same model as Google, Meta, and Snapchat Offsite, with support for both prepay and postpay.
Learn more in the [knowledge base](/en/knowledge-base/offsite-and-instore/offsite/campaign-creation).
# Campaign Drafting
Source: https://docs.topsort.com/en/changelog/2026-05-18-campaign-drafting
Save and resume banner campaign creation in the same browser session
May 18, 2026
Ad Platform
New Feature
## What's New
You can leave the banner campaign creation flow at any point. When you click **Create Campaign** again in the same browser, choose to **resume** your saved draft or **discard** it and start fresh.
Available now in production for self-service vendors and marketplace users.
Learn more in the [Create Banner Campaigns](/en/knowledge-base/ad-platform/banners/banner-ads-campaigns) guide.
# Analytics Redesign
Source: https://docs.topsort.com/en/changelog/2026-05-29-analytics-reports-redesign
Redesigned Analytics > Reports page with insight cards, period-over-period comparisons, trend charts, and vendor name/id or campaign name/id filters.
May 29, 2026
Ad Platform
Enhancement
## What's New
The **Analytics > Reports** page in the Marketplace UI has been redesigned to make performance data easier to scan, compare, and investigate. The update keeps the familiar headline metrics from the previous experience while adding richer insight cards, period-over-period comparisons, trend charts, and more flexible filtering.
### Highlights
* **Familiar summary metrics** at the top in a collapsible section, including total ad spend, impressions, clicks, purchases, and ROAS
* **Insight cards** across spend efficiency, vendor performance, conversion health, click-through rate, and cost per click, each showing absolute values and percentage change versus the previous period
* **Trend charts** on key cards to compare current and previous periods over time
* **Top vendors** view to sort and compare leading vendors by metrics such as ad spend and promoted sales
* **Page-wide filters** by ad format and date range, plus new filters by **vendor name/id** or **campaign name/id** to focus the entire page on a specific slice of performance
The redesigned page helps marketplace teams understand campaign and vendor performance without exporting data or leaving Analytics to investigate a specific campaign.
Learn more in the [Reports Tab](/en/knowledge-base/ad-platform/reporting-and-analytics/) guide.
# AI Insights
Source: https://docs.topsort.com/en/changelog/2026-05-30-ai-insights
New tab surfaces AI generated insights about anomalous marketplace trends.
May 30, 2026
Ad Platform
New Feature
## What's New
The **Insights** tab under **Analytics** in the Marketplace UI surfaces AI-generated insights that highlight anomalous trends in key marketplace metrics such as ROAS, revenue, and CTR.
### Highlights
* **Top three insights** on the left, each labeled with severity: **Info**, **Med**, or **High**
* **Four categories**: Monetization, Engagement, Conversion, and Demand
* **Ask Tomi** on any insight to investigate the issue and chat about possible solutions
* **Insights history** on the right for a record of past marketplace events and recurring patterns
Insights help marketplace teams spot major performance changes immediately, such as CPC spikes, ROAS drops, or unusual spend shifts, and understand likely drivers so they can prioritize what needs attention first.
This feature is automatically enabled for all clients and production environments.
Learn more in the [Insights Tab](/en/knowledge-base/ad-platform/reporting-and-analytics/insights-tab) guide.
# Tomi Email Composer
Source: https://docs.topsort.com/en/changelog/2026-06-12-tomi-email-composer
Generate emails from a prompt leveraging all of your marketplace data
June 12, 2026
Ad Platform
New Feature
## What's New
**Tomi Email Composer** is now available in the Marketplace Admin sidebar for
marketplaces with Tomi enabled. Describe the email you want to write, and Tomi
drafts it using live marketplace data from Topsort's APIs.
### Highlights
* **Prompt-to-email generation** with access to campaign metrics, vendor
performance, and other marketplace data
* **Three tone variations** — Operational, Good News, and Apology — so the
message tone can be easily made appropriate to the situation
* **Automatic draft saving** when you navigate away; reopen and continue editing
anytime
* **Send mail** opens your default email client with subject and body pre-filled
* **Edit with Tomi** to refine drafts through the Tomi agent chat
### Example Use Cases
* Draft a vendor performance summary for the last 90 days and encourage them to
scale spend
* Draft an internal ad ops update summarizing marketplace performance for the
last 30 days
* Draft a marketplace-wide email sharing common campaign optimization
opportunities
Automatically activated for all marketplaces that have Tomi enabled. Learn more
in the [Tomi Email Composer](/en/knowledge-base/ad-platform/tomi/email-composer)
guide.
# Charts in Tomi
Source: https://docs.topsort.com/en/changelog/2026-06-19-charts-in-tomi
Tomi can now show interactive charts generated from your prompts.
June 19, 2026
Ad Platform
Enhancement
## What's New
Tomi can now show interactive charts generated from your prompts. Ask for rankings, trends, or comparisons in natural language and Tomi returns visual charts you can explore directly in the chat.
### Example Prompts
* *"Make a chart showing weekly ad revenue and active advertisers for my marketplace over the last quarter. Highlight any major trend changes."*
* *"Generate a chart ranking advertisers by ROAS and attributed sales over the last quarter. Highlight the top performers and any accounts that may need optimization recommendations."*
Learn more in the [Tomi](/en/knowledge-base/ad-platform/tomi) guide.
# Billing Tab
Source: https://docs.topsort.com/en/changelog/2026-06-26-billing-tab-and-finance-role
New tab provides monthly summary of billable activity
June 26, 2026
Ad Platform
New Feature
## What's New
### Billing tab
Marketplace dashboard users with an Admin or Finance role can now view auction activity and ad spend billed to their marketplace for the selected month.
Navigate to **Settings > Billing**. The page includes:
* Total ad spend
* Total auction calls
* Auction calls with winners
* An ad spend breakdown by clicks, impressions, exclusive campaigns, and attributed purchases
This provides a self-service way for marketplaces to understand their monthly bills and see exactly what they are being charged for.
Learn more in the [Billing Tab](/en/knowledge-base/ad-platform/reporting-and-analytics/billing-tab) guide.
### Finance role
A new **Finance** role is available for marketplace users who need financial oversight without campaign management or platform administration access.
Finance users have marketplace-wide visibility into all advertisers and can access the Finance and Billing tabs, analytics and campaign reporting (read-only), wallet top-ups, vendor user invitations, and payment settings. They cannot create or edit campaigns or manage marketplace users.
Assign the Finance role from the Users section in Settings.
Learn more in the [Roles and Permissions](/en/knowledge-base/ad-platform/self-service-and-access/roles-permissions) guide.
# Audience Exclusions
Source: https://docs.topsort.com/en/changelog/2026-07-09-audience-exclusions
Exclude specific customer segments from sponsored listings and banner campaign targeting
July 9, 2026Ad PlatformNew Feature
**Audience Exclusions are now available for sponsored listings and banner campaigns.** Advertisers can exclude specific customer segments from targeting to improve budget efficiency and reduce wasted spend on users unlikely to convert. By sharpening who does—and does not—see your ads, campaigns reach more relevant shoppers and drive stronger incremental sales.
Common use cases include:
* Excluding customers who recently purchased the advertised product or brand
* Excluding existing loyal customers when the goal is new customer acquisition
Learn more in [Excluding Audiences](/en/knowledge-base/ad-platform/campaign-targeting/segments/strategies).
# Catalog Dev Tools
Source: https://docs.topsort.com/en/changelog/2026-07-10-catalog-dev-tools
Monitor product feed catalog sync health and debug ingestion issues from Dev Tools
July 10, 2026Ad PlatformNew Feature
**Catalog Dev Tools are now available in the marketplace Admin Dashboard.** Marketplaces that send their catalog via a [product feed](/en/ad-server/catalog/product-feed) can open **Dev Tools > Catalog** to monitor ingestion health without opening a support ticket.
The Catalog tab surfaces key sync metrics at a glance:
* **Last sync time**: when the most recent catalog sync ran
* **Average sync duration**: how long syncs typically take
* **Success rate**: across the last 14 runs
* **Recent sync runs**: each ingestion with how many records were processed or skipped
With this view, engineering teams can confirm feeds are running on schedule and quickly spot failures or skipped-heavy runs.
Learn more about sending catalog via a feed in our [product feed documentation](/en/ad-server/catalog/product-feed).
# Banners Preserve Resolution
Source: https://docs.topsort.com/en/changelog/2026-07-17-aspect-ratio-image-cropping
Banner campaigns no longer downscale images to slot size
July 17, 2026Ad PlatformEnhancement
Banner creative handling now crops by aspect ratio. There is no change in the Manager UI. Behind the scenes, we store and return the highest-resolution image that matches the aspect ratio of its assigned ad slot.
Previously, images were resized down to the exact pixel dimensions of the ad slot before storage and delivery, which could reduce quality when high-resolution creatives were uploaded.
Learn more about [Banner Ads](/en/knowledge-base/ad-platform/banners/banner-ads-campaigns).
# Optimizing Ad Selection and Ranking
Source: https://docs.topsort.com/en/knowledge-base/ad-intelligence/ad-selection-ranking
The components in this section are designed to work in real-time to help your
ad system select the most relevant candidates, enrich the auction with more
options, and rank the final results to maximize your business goals.
## Retrieval
Expands the pool of eligible ad candidates for any given auction. Instead of being limited to a narrow set of ads, the Retrieval API intelligently finds related and complementary products, boosting fill rates and increasing total ad revenue by creating more opportunities.
## Quality Score Prediction
Predicts the performance (e.g., estimated CTR and CVR) of ads before they are shown. This allows your ad server to prioritize ads that are not only high-bid but also highly relevant, improving overall campaign performance and marketplace revenue.
## Unified Ranking
Optimizes the final, blended order of both sponsored and organic items shown to a user. It moves beyond simple ranking by bid price and instead arranges items to maximize your primary business goal, whether that's net profit, overall conversion rate, or another custom metric.
***
# Advanced Platform Tools
Source: https://docs.topsort.com/en/knowledge-base/ad-intelligence/advanced-platform
These components provide powerful, standalone capabilities to manage and improve your ad platform's core functions, from automating bidding to safely running experiments.
## Bidder in a Box (BiB)
A standalone auto-bidding engine you can integrate directly into your system. It allows you to transition from manual or fixed-price bidding to a dynamic auction model. It gives you complete control over the final ad decision while automating bid prices for advertisers to maximize their performance and budget efficiency.
## Experimentation Framework
A controlled environment to safely test and measure the impact of changes to your ad system. This framework removes the risk of testing new strategies (like different ranking algorithms or retrieval methods) on your live traffic, allowing you to measure impact and innovate with confidence objectively.
***
# Overview
Source: https://docs.topsort.com/en/knowledge-base/ad-intelligence/index
Ad Intelligence, also known as Toptimize, is a suite of modular AI-powered tools designed to enhance and optimize your existing advertising ecosystem. Toptimize provides specific components for forecasting, attribution, ranking, and more, which you can integrate directly into your own systems. This gives you precise control over your ad stack while leveraging Topsort's advanced machine learning capabilities.
The components are designed to work together or as standalone solutions. They can be broadly understood in the following categories:
[**Optimizing Ad Selection and Ranking:**](/en/knowledge-base/ad-intelligence/ad-selection-ranking/) Real-time tools for helping you select, enrich, and display the most effective ads for any opportunity.
[**Measurement and Planning:**](/en/knowledge-base/ad-intelligence/ad-selection-ranking/) Components focused on providing deep insights into performance, attribution, and future opportunities.
[**Advanced Platform Tools:**](/en/knowledge-base/ad-intelligence/ad-selection-ranking/) Standalone capabilities to upgrade your platform's core functions, such as implementing auto-bidding or A/B testing.
Brief overviews are given in the following sections, but for technical details on these components, please refer to the [Integration Guide](/en/overview/integration-overview/).
***
# Measurement and Planning
Source: https://docs.topsort.com/en/knowledge-base/ad-intelligence/measurement-planning
This suite of tools provides the insights needed to measure campaign effectiveness across channels, attribute conversions accurately, and make data-driven strategic decisions about your ad inventory.
## Unified Attribution
Provides a complete, cross-platform view of how your advertising efforts lead to conversions. It solves the challenge of tracking user journeys across multiple channels (e.g., online, in-store, mobile) by accurately attributing sales to the correct ad touchpoints. This enables smarter ad spend and provides transparent, trustworthy reporting for your vendors.
## Forecasting
Predicts future ad performance metrics like traffic, impressions, and revenue. It empowers your teams with data-driven projections to optimize ad inventory, set realistic campaign expectations for advertisers, and improve high-level financial planning.
***
# Additional Attribution
Source: https://docs.topsort.com/en/knowledge-base/ad-server/attribution/additional-attribution
The additional attribution feature is useful when an attributing event, such as an impression or click, boosts the conversion of multiple products. This feature is particularly relevant for banner ads, where a click might lead to a page displaying several products. With additional attribution, you can report interactions with these products and ensure the ad campaign is correctly attributed.
Additional attribution is available under any attribution model and therefore does not need any special configuration. To use this feature, a marketplace just needs to fill in an additional object when [reporting an event](/en/api-reference/events/report-events).
## How It Works
The additional attribution method is often used in banner campaigns as an alternative to [banner attribution](/en/api-reference/examples/sponsored-banners/attribution). After the ad is shown to the user, the marketplace should send an additional attribution impression event for each product related to the banner. Alternatively, if the banner redirects to a PLP, the marketplace can send an additional attribution impression event for each product on that page.
If the user clicks on one of the products related to the banner, the marketplace should send an additional attribution click event so that the banner is correctly attributed. The additional Attribution object should contain:
* `id`: The ID of the clicked product.
* `type`: Set as "product".
Use additional attribution only when an event is meant to be directly linked to a product purchase within the attribution window. When applied, this attribution will override other attribution rules.
***
# Banner Attribution
Source: https://docs.topsort.com/en/knowledge-base/ad-server/attribution/banner-attribution
Banner attribution links a user's purchase to a banner they previously viewed or clicked. This helps measure the impact of your banners on conversions, even if the purchase doesn't happen immediately after the interaction.
## Format-Specific Attribution Settings
Banner ads, along with Native and Video ads, share the same attribution configuration. This grouping recognizes their similar role in the customer journey—building awareness and driving discovery at the top of the funnel.
### Available Attribution Models
1. **Last-Click Attribution**: Credits the most recent banner click before conversion
* Best for: Direct response banner campaigns
* Common window: 7-14 days
2. **Last-Impression Attribution**: Credits the most recent banner view before conversion
* Best for: Brand awareness and discovery campaigns
* Common window: 14-30 days
### Example Configurations
**Brand Awareness Campaign:**
```
Model: Last-impression
Window: 30 days
Use case: Homepage takeover banners promoting seasonal collections
```
**Promotional Campaign:**
```
Model: Last-click
Window: 7 days
Use case: Flash sale banners with immediate call-to-action
```
## Attribution Methods
Topsort offers two main methods for attributing purchases, depending on where your banner leads:
### **1. Attributing Purchases from Product Pages (PDP/PLP)**
This method is for banners that link directly to a Product Detail Page (PDP) or a Product Listing Page (PLP).
#### Banner Interaction:
* **Impression (CPM Banners)**: When a banner loads on a page and is set to charge by CPM (Cost Per Mille), send a "banner impression" event to Topsort, including the resolvedBidId from the auction response.
* **Click (CPC Banners)**: If the banner is set to charge by CPC (Cost Per Click) and the user clicks it, send a "banner click" event to Topsort, using the resolvedBidId.
#### Redirecting to PDP (Product Detail Page):
When the user clicks the banner and is redirected to a PDP, immediately send a "product click" event to Topsort. This event must include the resolvedBidId from the banner and an `additionalAttribution` object.
This ensures any future purchase of that specific product is attributed to the banner.
A "product click" event should only be sent to Topsort after the user clicks on a specific product within the listed products on the PLP. This event must also include the resolvedBidId from the banner and an additionalAttribution object (same structure as for PDP). This correctly attributes any subsequent purchase of that chosen product.
### **2. Attributing Purchases from Vendor Pages (Halo Attribution)**
This method, called Halo Attribution, is for banners that lead to a vendor or brand landing page, or when you want to attribute all purchases from a specific vendor after a banner interaction. It indirectly links purchases to the banner by associating them with the vendor from the original banner event. Check the [Halo Attribution](/en/knowledge-base/ad-server/attribution/halo-attribution/) article for more details.
## Attribution Window Best Practices
* **Test Different Windows**: Start with 14-30 days for impression attribution
* **Consider Your Audience**: B2B or high-value items may need longer windows
* **Seasonal Adjustments**: Extend windows during peak shopping seasons
* **Monitor Incrementality**: Compare attributed vs baseline conversions
By implementing these attribution methods with appropriate models and windows, you can accurately track and measure the effectiveness of your banner campaigns within Topsort.
***
# Direct Attribution
Source: https://docs.topsort.com/en/knowledge-base/ad-server/attribution/direct-attribution
Direct attribution ties user purchases directly to ad interactions. This
typically occurs when a user clicks on an ad (click attribution) or views an
ad (impression attribution) within a set timeframe.
## Click Attribution
In click attribution, a purchase is linked to an ad if it occurs within a
predefined window after the user clicked that ad. Here, the click is the
attributing event, and the purchase is the attributable event. This is the
most common method in retail media.
### Customizable Attribution Windows
Attribution windows can now be configured per ad format, ranging from **1 to
30 days**:
* **Sponsored Listings**: Often use shorter windows (1-14 days) as they target users with high purchase intent
* **Sponsored Brands**: May use medium windows (7-30 days) to account for brand consideration periods
* **Banner/Native/Video Ads**: Typically benefit from longer windows (14-30 days) as they focus on awareness and discovery
## Impression Attribution
Impression attribution is less strict, only requiring the customer to have
seen an ad before making a purchase for attribution. The user viewing the ad
is the attributing event. This model is ideal for awareness-focused formats
like homepage banners and video ads.
## Format-Specific Configuration
### Example 1: E-commerce
```
Sponsored Listings:
- Model: Last-click
- Window: 7 days
- Rationale: Direct purchase intent, quick decisions
Banner Ads:
- Model: Last-impression
- Window: 30 days
- Rationale: Awareness campaigns, longer consideration
```
### Example 2: Fashion Retailer
```
Sponsored Listings:
- Model: Last-click
- Window: 14 days
- Rationale: Fashion items have moderate consideration period
Video Ads:
- Model: Last-impression
- Window: 30 days
- Rationale: Seasonal campaigns, brand storytelling
```
## Attribution Scenarios
| Scenario | Attribution Result | Reason |
| ----------------------------------------------------------------- | ------------------ | ---------------------------------------------------- |
| User sees banner → clicks sponsored listing → purchases | Sponsored Listing | Click takes priority over impression |
| User sees video ad → sees banner → purchases | Banner | Most recent impression (if both use last-impression) |
| User clicks sponsored brand → sees banner → purchases | Sponsored Brand | Click takes priority over impression |
## Best Practices
1. **Start Conservative**: Begin with standard windows and adjust based on data
2. **Consider Your Category**: High-consideration products may need longer windows
3. **Test Incrementally**: Change one format at a time to measure impact
4. **Monitor Performance**: Use reports to validate your attribution settings
For more details on banner-specific attribution, see [Banner
Attribution](/en/knowledge-base/ad-server/attribution/banner-attribution/).
Traditional attribution models, limited to same-product interactions, often miss the full revenue impact of advertising. Ads frequently drive sales for related or unadvertised products, not just the one promoted.
For example, an ad for a new product might also boost sales of older products from the same brand. Similarly, a product ad on a marketplace can lead customers to explore the entire seller's catalog, generating revenue beyond the advertised item. These "halo effects" aren't captured by the same-product attribution.
## Halo Attribution Model
To address this, we offer the Halo Attribution model. This model replaces the same-product constraint with a same-vendor constraint. It identifies all products that were purchased from that vendor, regardless of whether they were directly advertised. Halo Attribution can use either clicks or impressions as the attributing event.
Talk to your Topsort representative to enable this attribution model in your marketplace.
## How it Works
When reporting a purchase, each purchased product item must include its vendorId. Example of a purchase event with Vendor ID:
```json theme={null}
{
"purchases": [
{
"id": "...",
"opaqueUserId": "...",
"occurredAt": "2024-10-28T07:43:54-06:00",
"items": [
{
"vendorId": "VEIA929919", // Vendor ID
"unitPrice": 900,
"quantity": 1,
"productId": "MKQUJ9191"
}
]
}
]
}
```
***
# Linking Users
Source: https://docs.topsort.com/en/knowledge-base/ad-server/attribution/linking-users
Accurate attribution requires connecting user activity across logged-out and logged-in states. Topsort provides API tools to solve this issue, enabling you to link two opaque user IDs.
### How It Works
Users often interact with ads while logged out (e.g., `user_id` = 123) and later, they log in, gaining a distinct user ID (e.g., `user_id` = 456). Without linking these IDs, activities from the logged-out session are disconnected from post-login actions, leading to inaccurate attribution.
Our [Link Users API](http://api.docs.topsort.com/api-reference/events/\[beta]-report-link-users#beta-report-link-users) enables you to inform Topsort that two opaque user IDs belong to the same person. Improving attribution accuracy. Required fields to use our API:
Field
Type
Required
Description
`from`
**STRING**
yes
The original (e.g., logged-out) opaque user ID. (1-64 chars)
`to`
**STRING**
yes
The target (e.g., logged-in) opaque user ID. (1-64 chars)
`from` and `to` IDs must not be identical.
***
# Digital Asset Management
Source: https://docs.topsort.com/en/knowledge-base/ad-server/dam-connectivity
Connect Topsort with Digital Asset Management platforms for streamlined creative workflows
# Connecting Topsort with Digital Asset Management Systems
**Digital Asset Management (DAM)** systems like Adobe Experience Manager
Assets, Bynder, and others centralize creative assets and generate optimized
URLs for campaign use. Unlike OMS connectivity, DAM connectivity is currently
feasible with Topsort's existing APIs.
This guide explains how to integrate Topsort's APIs with DAM systems for
streamlined creative workflows and automated asset management.
## How DAM Systems Work with Topsort
DAM systems like Adobe Experience Manager Assets, Bynder, or Webdam:
1. **Centralize Assets**: Store all banners, product images, videos in one organized repository
2. **Generate CDN URLs**: Create optimized, publicly accessible URLs for each asset
3. **Manage Versions**: Track approved versions and prevent outdated assets from being used
4. **Control Brand Compliance**: Ensure only approved, on-brand assets reach campaigns
## Workflows
DAM integration involves four distinct workflows for different roles and
timing:
| **Workflow** | **Who** | **When** | **Purpose** |
| --------------------------------------------------------------- | ----------------------------- | --------------- | --------------------------------------------------------- |
| [Implementation Guide](#implementation-guide) | DevOps/Integration Team | One-time setup | Establish automated DAM ↔ Topsort sync |
| [UI Workflow](#ui-workflow) | Vendors/Marketplace Admins | Per campaign | Create banner campaigns via dashboard with DAM URLs |
| [API Workflow](#api-workflow-complete-banner-campaign-creation) | Campaign Managers/Advertisers | Per campaign | Create banner campaigns programmatically using DAM assets |
| [Auction & Display](#auction-response-with-dam-urls) | Marketplace Developers | Every page load | Show winning banners to users |
### Creating Banner Campaigns with DAM Assets
#### UI Workflow
**Role:** Vendors/Marketplace Admins | **Frequency:** Per campaign setup
\*\*
\*\*
For creating banner campaigns with external DAM URLs through the **[Ad
Platform](https://www.topsort.com/retail-media)**, refer to the comprehensive
[Banner Ads Campaigns
guide](/en/knowledge-base/ad-platform/banners/banner-ads-campaigns) which
shows the step-by-step UI process including how to reference external URLs in
campaign setup.
#### API Workflow: Complete Banner Campaign Creation
**Role:** Campaign Managers/Advertisers | **Frequency:** Per campaign setup
First, create an asset in Topsort that references your DAM URL:
Use the returned URL to display the banner and track performance:
```javascript theme={null}
// Extract the DAM URL from auction response
const winner = auctionResult.results[0].winners[0];
const damImageUrl = winner.asset[0].url;
const resolvedBidId = winner.resolvedBidId;
// Render banner in your UI
const bannerElement = document.createElement("img");
bannerElement.src = damImageUrl;
bannerElement.addEventListener("click", () => {
// Track click event for billing and attribution
fetch("/api/topsort/events", {
method: "POST",
body: JSON.stringify({
type: "click",
resolvedBidId: resolvedBidId,
}),
});
});
```
### Key Benefits of DAM Integration
* **Brand Consistency**: Only approved, compliant assets reach ad campaigns -
**Workflow Efficiency**: Creative teams work in familiar DAM tools, assets
sync automatically - **Version Control**: When creatives update in DAM,
campaign assets update automatically - **Rights Management**: Track usage
licensing and prevent expired assets from being used - **Global Asset
Distribution**: One asset repository serves multiple marketing channels
## Implementation Guide
**Role:** DevOps/Integration Team | **Frequency:** One-time setup
Set up your DAM system for optimal connectivity with Topsort:
Asset Organization: Structure assets with campaign-specific folders and metadata
CDN Configuration: Ensure DAM generates publicly accessible, optimized URLs
Approval Workflows: Set up processes to mark assets as campaign-ready
Metadata Standards: Define consistent tagging for dimensions, versions, expiry dates
Configure the connectivity between your DAM and Topsort:
Authentication: Configure Topsort API credentials
URL Validation: Ensure DAM URLs are accessible to Topsort systems
Automated Sync: Set up webhooks or scheduled jobs to sync approved assets
Error Handling: Implement retry logic for failed asset references
Implement automated asset synchronization:
```javascript theme={null}
// Example automated asset sync from DAM to Topsort
const syncApprovedAssets = async () => {
const approvedAssets = await dam.getAssetsByStatus("approved");
for (const asset of approvedAssets) {
if (!asset.syncedToTopsort) {
await topsortAssetsAPI.create({
name: asset.name,
url: asset.cdnUrl,
dimensions: asset.dimensions,
metadata: asset.metadata,
});
await dam.markAsSynced(asset.id);
}
}
};
```
## API Reference
### Topsort APIs for DAM Integration
| API | Integration Use Case | Status | Documentation |
| ---------------------------------------------------------- | -------------------------------- | ----------- | ---------------------------------- |
| [Assets API](/en/ad-server/additional-apis/assets-api) | Reference DAM URLs in campaigns | ✅ Available | Asset management and collections |
| [Campaign API](/en/ad-server/additional-apis/campaign-api) | Create campaigns with DAM assets | ✅ Available | Full campaign lifecycle management |
### Authentication
```http theme={null}
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
```
## Best Practices
### Asset Management
* **Optimize URLs**: Ensure DAM generates fast-loading, CDN-optimized URLs -
**Version Control**: Implement clear versioning to prevent outdated assets in
campaigns - **Metadata Standards**: Use consistent tagging for dimensions,
campaign types, approval status - **Access Control**: Ensure asset URLs are
publicly accessible to Topsort systems
### Workflow Automation
* **Approval Gates**: Only sync approved, brand-compliant assets to Topsort -
**Automated Cleanup**: Remove expired or outdated assets from active campaigns
* **Error Monitoring**: Track failed asset references and sync issues
## Troubleshooting
### Common DAM Integration Issues
1. **Asset URL Problems**
* Verify DAM URLs are publicly accessible (not behind authentication) - Check
that URLs return proper HTTP status codes (200) - Ensure CDN URLs are
optimized for fast loading - Validate asset dimensions match Topsort
requirements
2. **Sync Failures**
* Check API authentication and permissions - Verify asset metadata format
compatibility - Monitor webhook delivery success rates - Implement proper
error logging for failed syncs
3. **Version Control Issues** - Ensure updated assets trigger campaign asset
updates - Verify expired assets are removed from active campaigns - Check that
only approved asset versions sync to Topsort
### General API Issues
1. **Authentication Failures**
* Verify API key validity and scope permissions - Check authentication header
format - Monitor for token expiration
2. **Rate Limiting** - Implement proper rate limiting in connectivity code -
Use bulk operations when available - Add retry logic with exponential backoff
## Getting Started
### Implementation Steps
1. **Assessment**: Review your current DAM system's URL generation and API capabilities
2. **API Credentials**: Obtain Topsort API keys and configure authentication
3. **Proof of Concept**: Start with a small set of assets to test the connectivity workflow
4. **Automation**: Implement automated sync processes for approved assets
5. **Monitoring**: Set up tracking for asset sync success and campaign performance
## Related Resources
* [OMS Integration Guide](/en/knowledge-base/ad-server/oms-connectivity) -
Order Management System connectivity - [Assets API
Documentation](/en/ad-server/additional-apis/assets-api) - [Campaign API
Documentation](/en/ad-server/additional-apis/campaign-api)
*This documentation reflects current Topsort API capabilities. DAM
connectivity is available now using existing APIs. For custom connectivity
development, please contact your Topsort representative.*
***
# Order Management Systems
Source: https://docs.topsort.com/en/knowledge-base/ad-server/oms-connectivity
Connect Topsort APIs with Order Management Systems for campaign orchestration
# Connecting Topsort with Order Management Systems
**Order Management Systems (OMS)** like Vantage, Boostr, ADvendio, and Placements.io help retailers manage campaign planning, booking, and inventory. You can integrate these systems with Topsort's APIs to automate campaign creation and management.
This guide shows how to integrate OMS with Topsort using existing APIs for automated campaign workflows.
## Workflows
OMS integration involves three main workflows for different roles and timing:
| **Workflow** | **Who** | **When** | **Purpose** |
| ------------------------------------------------------------------- | ----------------------------- | -------------- | --------------------------------------------- |
| [Implementation Guide](#implementation-guide) | DevOps/Integration Team | One-time setup | Establish automated OMS ↔ Topsort sync |
| [Campaign Creation](#creating-campaigns-from-oms-data) | Campaign Managers/Sales Teams | Per campaign | Create campaigns automatically from OMS data |
| [Performance Sync](#retrieving-performance-data-for-oms-dashboards) | Marketing Teams | Ongoing | Pull campaign performance into OMS dashboards |
## How OMS Integration Works
1. **Campaign Planning**: Sales teams plan campaigns in their OMS interface
2. **Automated Creation**: OMS sends campaign data to Topsort via API calls
3. **Real-time Updates**: Webhook notifications keep systems synchronized
4. **Unified Reporting**: Performance data flows back to OMS dashboards
**Enterprise Benefit**: OMS integration eliminates manual campaign setup,
reducing errors and enabling sales teams to manage campaigns at scale without
learning new tools.
## Implementation Example
### Creating Campaigns from OMS Data
**Role:** Campaign Managers/Sales Teams | **Frequency:** Per campaign
```javascript theme={null}
// Campaign data from your OMS
const campaignData = {
name: "Q4 Holiday Campaign - Brand X",
budget: 15000,
startDate: "2024-11-01",
endDate: "2024-12-31",
biddingStrategy: "target_roas",
targetRoas: 4.5,
vendorId: "vendor-123",
};
// Create campaign in Topsort
const response = await fetch("https://api.topsort.com/v2/campaigns", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
name: campaignData.name,
type: "sponsored_products",
vendor_id: campaignData.vendorId,
bidding_strategy: campaignData.biddingStrategy,
target_roas: campaignData.targetRoas,
budget: {
amount: campaignData.budget,
currency: "USD",
period: "lifetime",
},
start_date: campaignData.startDate,
end_date: campaignData.endDate,
}),
});
const campaign = await response.json();
```
### Webhook Integration for Real-time Updates
```javascript theme={null}
// Set up webhook to receive campaign updates
const webhookPayload = {
url: "https://your-oms.com/webhooks/topsort",
events: ["campaign:create", "campaign:update", "campaign:delete"],
};
await fetch("https://api.topsort.com/v2/webhooks", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify(webhookPayload),
});
// Handle webhook in your OMS
app.post("/webhooks/topsort", (req, res) => {
const { channel, payload } = req.body;
switch (channel) {
case "campaign:create":
updateOMSCampaignStatus(payload.campaign_id, "active");
break;
case "campaign:update":
syncCampaignData(payload);
break;
}
res.status(200).send("OK");
});
```
## API Reference
### Current Topsort APIs for Integration
| API | Integration Use Case | Status | Documentation |
| ------------------------------------------------------------ | --------------------------------------------------------- | ----------- | ------------------------------------- |
| [Campaign API](/en/ad-server/additional-apis/campaign-api) | Create campaigns with bidding strategy, budget, targeting | ✅ Available | Full campaign lifecycle management |
| [Assets API](/en/ad-server/additional-apis/assets-api) | Reference asset URLs in campaigns | ✅ Available | Asset management and collections |
| [Reporting API](/en/ad-server/additional-apis/reporting-api) | Pull performance data back to OMS/dashboards | ✅ Available | Campaign, vendor, marketplace reports |
| [Auctions API](/en/ad-server/auctions/auctions-api) | Configure auction parameters and bidding | ✅ Available | Auction configuration |
### Authentication
```http theme={null}
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
```
### Bulk Campaign Operations
```javascript theme={null}
// Create multiple campaigns from OMS batch
async function createBulkCampaigns(campaignsList) {
const results = [];
for (const campaignData of campaignsList) {
try {
const response = await fetch("https://api.topsort.com/v2/campaigns", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify(campaignData),
});
const campaign = await response.json();
results.push({ success: true, campaign });
} catch (error) {
results.push({ success: false, error: error.message });
}
}
return results;
}
```
### Retrieving Performance Data for OMS Dashboards
**Role:** Marketing Teams | **Frequency:** Ongoing/Scheduled
* **Field Mapping**: Map OMS campaign fields to Topsort API parameters
* **Data Validation**: Validate campaign data before sending to Topsort APIs
* **Bulk Operations**: Use batch processing for enterprise-scale campaign management
### Error Handling
* **Retry Logic**: Implement exponential backoff for failed API calls
* **Comprehensive Logging**: Track all API interactions and failures
* **Health Monitoring**: Set up alerts for integration issues
### Security
**Security Requirements**: OMS integrations handle sensitive campaign and
financial data. Ensure proper authentication, data validation, and secure API
key management.
* **API Key Management**: Store API keys securely and rotate regularly
* **Rate Limiting**: Respect API rate limits to avoid throttling
* **Input Sanitization**: Validate all data before sending to APIs
## Implementation Guide
Obtain Topsort API keys and configure authentication:
* Request Advanced API key from your Topsort representative
* Store API keys securely in your environment variables
* Configure authentication headers for all API calls
Set up webhook endpoints for real-time campaign updates:
* Create webhook endpoint in your OMS system
* Register webhook URL with Topsort for campaign events
* Implement handlers for campaign create/update/delete events
Map OMS campaign fields to Topsort API parameters:
* Document field mappings between systems
* Implement data transformation logic
* Validate required fields are present
Build comprehensive error handling and retry logic:
* Implement exponential backoff for failed API calls
* Add comprehensive logging for debugging
* Set up alerts for integration failures
Test integration with sandbox data before production:
* Create test campaigns through OMS workflow
* Verify campaigns appear correctly in Topsort
* Test webhook delivery and handling
Set up ongoing monitoring for the integration:
* Track API call success/failure rates
* Monitor campaign creation performance
* Set up dashboards for integration health
## Related Resources
* [DAM Integration Guide](/en/knowledge-base/ad-server/dam-connectivity) - Digital Asset Management connectivity
* [Campaign API Documentation](/en/ad-server/additional-apis/campaign-api)
* [Reporting API Documentation](/en/ad-server/additional-apis/reporting-api)
***
*Ready to integrate your OMS with Topsort? Contact your account representative to get started with API access and implementation support.*
Topsort makes it easy for online retailers to run ads on major platforms, such
as Google and Meta, which are paid for by the brands and sellers who use their
marketplace. Offsite ads help retailers attract more shoppers and increase
sales without depleting their marketing budget. For sellers and brands, it's a
simple way to get their products seen by more people and increase sales, all
managed from one convenient location. Essentially, Topsort connects the
retailer's platform with major ad networks, allowing brands to easily fund
campaigns that drive traffic back to the retailer's site.
## In-Store Ads
Topsort also brings digital advertising into physical retail stores. It allows
retailers to show ads on in-store screens, using their auction system to
decide which ad to display. The technology can become quite sophisticated,
utilizing cameras to recognize who is watching the screen and tailoring the
ads accordingly. It can even connect the dots between an ad a shopper saw
online and a product they later bought in the store. The system is built with
privacy in mind, focusing on anonymous crowd data rather than identifying
individual shoppers.
Topsort provides in-store ad solutions that integrate with existing offline display technologies, allowing retailers to show ads on their in-store screens. This system can leverage Topsort's auction engine or dynamically adapt ads based on audience demographics.
## Core Capabilities
Topsort's platform is designed for scalability, capable of processing high-volume data feeds for real-time and post-facto attribution, managing large data streams for various retail media components like catalog, price, and ad inventory.
When a user can be identified across both online activities and in-store purchases, such as through loyalty programs, attribution for in-store sales can be computed based on prior online ad exposures. The platform supports both real-time and post-facto data ingestion from loyalty programs and POS systems to provide full funnel attribution, and it can integrate with existing data lakes.
### IAB/MRC Standards for In-Store DPB Measurement
Per IAB/MRC Retail Media Measurement Guidelines, in-store Direct Purchase Behavior (DPB) measurement must adhere to:
* **Viewability Requirements**: In-store digital displays must meet the same viewability standards as online (50% pixels visible for required duration)
* **Presence Detection**: Computer vision or sensor-based detection must validate actual human presence, not just device detection
* **Attribution Windows**: Clear disclosure of time between in-store ad exposure and purchase (typically same-visit or within 24 hours)
* **Privacy Compliance**: All tracking must be anonymous and aggregate-level only, with no persistent individual identification
* **Data Quality**: SIVT filtration must extend to in-store metrics to exclude staff, maintenance, and non-customer traffic
The solution also offers computer vision-based metrics for in-store audiences, including total presence and views within defined ad zones. It tracks customer behavior and journeys within the store using people detection and tracking technology, which is crucial for understanding customer paths and computing in-store attribution.
## Integration and Implementation
Clients have the flexibility to integrate only with Topsort's in-store ad capabilities. Implementation can begin when the client's screens are set up and configured. The system operates on a high-level API designed to be independent of the specific underlying measurement technology used in the store.
### Presence Events and Measurement Standards
Presence events, which are the in-store equivalent of online impressions, are generated by the measurement technology layer and sent to Topsort for audience and attribution calculations. Per IAB/MRC guidelines:
* **Opportunity to See (OTS)**: Presence events must validate that a customer was positioned to potentially view the display
* **Dwell Time**: Minimum dwell time of 1 second for display ads, 2 seconds for video content
* **Zone Definition**: Clear delineation of viewable zones based on screen size and viewing angles
* **Validation Methods**: Computer vision, thermal sensors, or beacon technology with accuracy thresholds documented
Purchase events from in-store points of sale are reported with an added placement field to identify the specific point of sale. This enables:
* **Closed-loop Attribution**: Linking in-store ad exposure to same-visit purchases
* **Cross-channel Attribution**: Connecting online ad exposure to in-store purchases via loyalty IDs
* **Incrementality Measurement**: Comparing exposed vs non-exposed store visitors
## Asset Upload Management
### Sequential Upload Process
In-Store Ads now features an improved asset upload flow that processes files sequentially for better reliability and error handling.
Choose your creative files from your local system
Assets are uploaded one at a time, with clear progress indicators
Each asset is validated before moving to the next
If an upload fails, you'll see specific error messages and can retry
### Upload Limits
* Maximum creatives per campaign: \[REQUEST FROM PM]
* Supported file formats: \[REQUEST FROM PM]
* Maximum file size: \[REQUEST FROM PM]
The upload button is automatically disabled when you reach the maximum number
of creatives.
### Cache Refresh
The system automatically refreshes the cache when you focus on the upload area, ensuring you always see the most up-to-date list of assets.
### Error Messages
Common upload errors and their solutions:
| Error | Cause | Solution |
| --------------------------- | ------------------------------- | ------------------------------------------------ |
| "File format not supported" | Invalid file type | Use supported formats: \[LIST] |
| "File too large" | Exceeds size limit | Compress or resize the file |
| "Upload limit reached" | Maximum creatives uploaded | Remove existing assets or create new campaign |
| "Validation failed" | Asset doesn't meet requirements | Check dimensions, format, and content guidelines |
## Privacy Considerations
Privacy is a key consideration, and the system employs opaque track IDs and short-lived data structures to track individuals across different zones without storing images. The attribution methods are designed with privacy in mind, aiming to obscure the direct relationship between in-store tracking IDs and personal user IDs.
***
# Main Use Cases
Source: https://docs.topsort.com/en/knowledge-base/offsite-and-instore/instore/instore-use-cases
Topsort offers different ways for retailers to use in-store ads, depending on your goals for showing ads, measuring audience, and tracking sales.
### **1. Onsite to In-Store Attribution**
Onsite to Instore attribution lets Topsort connect ads seen online (on your website or apps) to actual purchases made instore.
**How It Works:**
1. **Reporting Online Interactions and Instore Purchases**: Retailers send to Topsort clicks and impressions made on the online ads, and purchases made in their stores, using the Events API.
2. **Linking Users**: To know which online ad led to an instore sale, the retailers can use our Linking Users API. This helps match a person's online activity with their instore buying.
This process helps businesses see how well their online ads encourage people to visit and buy products in their physical stores. Topsort can also track sales of related items, giving a fuller picture of how well ads are working.
** **
### **2. Ad Display Only**
This option is suitable for clients who wish to display ads on their in-store screens using Topsort's auction platform. The primary focus is on showing ads, without detailed audience measurement or direct sales attribution.
### **3. Ad Display with Audience Optimization**
In this case, a key feature is the ability to measure the audience viewing each screen. This is done by sending images from a camera to Topsort for audience measurement.
Ads serving is optimized based on information from these images. The images can be used to estimate the audience's presence and general demographics, which helps decide which ad to show. This option does not track sales, and clients do not share their purchase data.
****
### **4. Ad Display with Direct Sales Attribution (Small Store Focus)**
This use case builds upon the "Ad Display with Audience Optimization" by adding direct sales attribution, making it particularly good for smaller retail environments. In this scenario, clients still utilize screens for ad display, powered by Topsort's auction platform, and measure audience presence using cloud-based image processing from cameras. The primary distinction is the integration of purchase data from the client's POS (Point of Sale) or CRM systems.
The system continues to display ads based on real-time image analysis, with images triggering both auction requests and audience/demographic estimations. The audience measurement remains limited to individuals detected in the trigger image. However, because the store is sufficiently small, direct attribution of sales can be achieved without the need for a complex user tracking model. This allows for direct attribution within a short timeframe after ad exposure.
### **5. Static Ads with Customer Journey and Sales Attribution (Medium to Large Stores)**
This option is designed for clients managing medium to large stores with multiple areas of interest. The primary focus is on displaying static advertisements, with no requirement for ad auctions. Clients aim to compute customer paths within the store and attribute sales to specific ads. A key aspect of this solution is its on-premises operation, and clients can send their purchase data to Topsort.
The system utilizes an in-store image processing server that receives images from IP cameras every few seconds. This image data is used to estimate audience presence and optional group demographics. A multicamera tracking module assigns a unique track ID to each person in the store. To enable accurate sales attribution, cameras or sensors are strategically positioned near Points of Sale (POS) to match customer presence with purchase data. The system logs audience presence events and processes purchase data from the client's CRM or other sources. This setup allows for comprehensive tracking of products of interest, rather than auction-based campaigns.
### **6. Dynamic Ads with Advanced Customer Journey and Sales Attribution (Medium to Large Stores)**
This is an advanced option for medium to large stores, building upon the capabilities of Case 4. Clients in this scenario have dynamic ads displayed on screens and wish to leverage Topsort's auction platform to show these ads. A key requirement is precise audience measurement, along with the ability to filter out specific individuals, such as store staff or shoppers without empty carts, from the audience data.
The system uses an in-store image processing server that continuously receives images from IP cameras. These images are processed to detect people in ad exposure zones, estimate audience demographics (optionally), and track individuals across multiple cameras within the store. Object detection and classification are employed to filter or add metadata to presence events, meeting client-specific needs. Calls for ad auctions are made to the Auction Endpoint, while audience presence events are logged via the Presence Endpoint. Purchase data from the client's CRM or other POS systems is sent to the Purchase Endpoint. Cameras or sensors are positioned near Points of Sale (POS) to match customer presence with purchase data, enabling robust sales attribution.
***
# In-Store Self-Service
Source: https://docs.topsort.com/en/knowledge-base/offsite-and-instore/instore/self-service
Run in-store digital display campaigns in the same self-service UI used for onsite ads.
## Overview
* If in-store self-service is enabled for a marketplace, in-store campaigns can be created in the **In-Store** tab in the vendor dashboard
* The workflow is available in both the vendor and marketplace UI
* Advertisers upload video or image assets (rendered as 20-second silent video creatives)
* Each screen plays assigned creatives sequentially in a loop
## How Access Works
* **Vendor UI:** Vendors create and submit in-store campaigns in the self-service environment they are familiar with
* **Marketplace UI:** Marketplace users can go to **Ad Formats > In-Store**, monitor configured slots, and review submitted campaigns
* **Approvals:** Vendor-submitted in-store campaigns follow an approval flow where marketplace users can approve or reject before launch
## What This Enables
* Extend existing in-store integrations to self-service vendors and unlock incremental ad spend
* Keep campaign operations in one place by using the same UI already used for onsite
* Manage budgets with the same wallet system used for self-service onsite campaigns
## Onboarding
* If the client already uses a supported in-store CMS provider (for example, Invian/ The LED), onboarding typically takes a few hours
* If the client uses a provider that is not yet supported, Topsort can likely integrate with it within a few weeks
* If the client has no provider, Topsort partnerships can recommend options
# In-Store Ads Troubleshooting
Source: https://docs.topsort.com/en/knowledge-base/offsite-and-instore/instore/troubleshooting
Common issues and solutions for In-Store Ads campaigns, asset uploads, and CMS integrations
This guide covers common issues with In-Store Ads campaigns and provides solutions for asset uploads, CMS integration problems, and performance optimization.
## Asset Upload Issues
### Upload Errors
**Problem**: Assets fail to upload or show error messages
**Common Causes and Solutions**:
| Error Message | Cause | Solution |
| --------------------------- | ------------------------------- | ------------------------------------------------ |
| "File format not supported" | Invalid file type | Use supported formats: JPEG, PNG, WebP, GIF, MP4 |
| "File too large" | Exceeds size limit | Compress or resize file to meet requirements |
| "Upload limit reached" | Maximum creatives uploaded | Remove existing assets or create new campaign |
| "Validation failed" | Asset doesn't meet requirements | Check dimensions, format, and content guidelines |
| "Network error" | Connection issues | Check internet connection and retry upload |
### Sequential Upload Issues
**Problem**: Upload process gets stuck or stops mid-way
**Solutions**:
1. **Refresh the page** and try uploading again
2. **Clear browser cache** if uploads consistently fail
3. **Try uploading one file at a time** instead of bulk uploads
4. **Check file permissions** on your local system
5. **Disable browser extensions** that might interfere with uploads
### Cache and Display Issues
**Problem**: Recently uploaded assets don't appear or old assets still show
**Solutions**:
1. **Click in the upload area** to trigger cache refresh
2. **Refresh the browser page** to reload asset list
3. **Wait a few minutes** for server-side processing to complete
4. **Clear browser cache** if persistent display issues occur
## CMS Integration Problems
### Connection Issues
**Problem**: Unable to connect to external CMS platform
**Troubleshooting Steps**:
1. **Verify API credentials** are correct and up-to-date
2. **Check CMS platform status** for any service outages
3. **Confirm network connectivity** between systems
4. **Review firewall settings** that might block connections
5. **Update integration configuration** if CMS endpoints changed
### Content Sync Problems
**Problem**: Content not appearing on physical screens or delayed updates
**Solutions**:
1. **Check CMS platform logs** for sync errors
2. **Verify screen status** in the CMS management interface
3. **Confirm campaign scheduling** and activation settings
4. **Review content approval workflow** in CMS system
5. **Test with single screen** to isolate network issues
### Authentication Failures
**Problem**: Authentication errors when connecting to CMS
**Resolution Steps**:
1. **Regenerate API keys** in CMS platform
2. **Update credentials** in In-Store Ads integration settings
3. **Check token expiration** and refresh if needed
4. **Verify user permissions** for CMS integration
5. **Contact CMS platform support** if authentication continues to fail
## Campaign Management Issues
### Campaign Not Showing
**Problem**: In-Store Ads campaigns not displaying on screens
**Diagnostic Checklist**:
1. **Campaign Status**: Verify campaign is active and within date range
2. **Budget Check**: Ensure campaign has available budget
3. **Screen Configuration**: Confirm target screens are properly configured
4. **Content Approval**: Check if content requires approval in CMS system
5. **Scheduling**: Verify campaign scheduling matches screen availability
### Performance Issues
**Problem**: Poor campaign performance or low engagement
**Optimization Strategies**:
1. **Creative Quality**: Review asset quality and relevance
2. **Placement Timing**: Adjust display timing for peak foot traffic
3. **Screen Location**: Evaluate screen positioning and visibility
4. **Content Rotation**: Implement variety in creative rotation
5. **Audience Targeting**: Refine targeting based on store demographics
### Reporting Discrepancies
**Problem**: Inconsistent or missing performance data
**Solutions**:
1. **Check Data Sources**: Verify all tracking systems are properly configured
2. **Review Attribution Settings**: Confirm attribution windows are set correctly
3. **Validate Tracking IDs**: Ensure unique tracking identifiers are working
4. **Cross-Reference Metrics**: Compare data across different reporting systems
5. **Contact Support**: Reach out for data validation assistance
## Technical Issues
### Browser Compatibility
**Problem**: In-Store Ads interface not working properly in certain browsers
**Recommendations**:
* **Use supported browsers**: Chrome, Firefox, Safari, Edge (latest versions)
* **Enable JavaScript**: Required for full functionality
* **Disable ad blockers**: May interfere with asset loading
* **Clear browser data**: Cache, cookies, and local storage
* **Update browser**: Ensure you're using the latest version
### Performance Optimization
**Problem**: Slow loading times or interface lag
**Solutions**:
1. **Optimize Asset Sizes**: Compress images and videos before uploading
2. **Reduce Concurrent Uploads**: Upload assets one at a time
3. **Close Unnecessary Tabs**: Free up browser memory
4. **Check Internet Speed**: Ensure adequate bandwidth for uploads
5. **Use Wired Connection**: More stable than Wi-Fi for large uploads
### Mobile Access Issues
**Problem**: Interface not working properly on mobile devices
**Notes**:
* In-Store Ads management is optimized for desktop use
* Mobile access may have limited functionality
* Use desktop or tablet for full campaign management
* Contact support if mobile access is required
## Data and Analytics Issues
### Missing Impression Data
**Problem**: Impression tracking not working or showing zero impressions
**Troubleshooting**:
1. **Verify Tracking Setup**: Ensure presence detection is properly configured
2. **Check Camera/Sensor Status**: Confirm detection hardware is operational
3. **Review Privacy Settings**: Ensure tracking complies with privacy requirements
4. **Validate Zone Configuration**: Check that viewable zones are correctly defined
5. **Test Detection System**: Verify people detection is working in store
### Attribution Problems
**Problem**: Purchase attribution not linking to ad exposure
**Solutions**:
1. **Check User ID Matching**: Verify loyalty program integration
2. **Review Attribution Windows**: Confirm time windows are appropriate
3. **Validate Purchase Events**: Ensure POS system is sending data correctly
4. **Test Data Flow**: Verify end-to-end data pipeline
5. **Review Privacy Compliance**: Ensure attribution meets privacy standards
## Integration Support
### API Issues
**Problem**: Custom integrations not working properly
**Resources**:
1. **Review API Documentation**: Check for recent updates or changes
2. **Test API Endpoints**: Use tools like Postman to verify connectivity
3. **Check Rate Limits**: Ensure you're not exceeding API call limits
4. **Validate Authentication**: Confirm API keys and tokens are valid
5. **Monitor Error Logs**: Check application logs for specific error details
### Third-Party Platform Issues
**Problem**: Integration with external platforms failing
**Steps**:
1. **Check Platform Status**: Verify third-party service availability
2. **Review Integration Logs**: Look for specific error messages
3. **Update Integration**: Ensure you're using latest integration version
4. **Test Connectivity**: Verify network connection to external platform
5. **Contact Platform Support**: Reach out to third-party platform support
## Getting Additional Help
### When to Contact Support
Contact support if you experience:
* Persistent upload failures after trying all solutions
* CMS integration issues that can't be resolved
* Data discrepancies that affect reporting accuracy
* Authentication problems that prevent access
* Technical issues not covered in this guide
### Information to Provide
When contacting support, include:
* **Specific error messages** (screenshots helpful)
* **Steps to reproduce** the issue
* **Browser and version** being used
* **Campaign IDs** experiencing issues
* **Timeline** of when issues started
* **Any recent changes** made to setup
### Support Resources
* **Documentation**: Refer to [In-Store Ads Overview](/en/knowledge-base/offsite-and-instore/instore/) for setup information
* **API Reference**: Check technical documentation for integration issues
* **Community Forums**: Search for similar issues and solutions
* **Support Portal**: Submit tickets for personalized assistance
For urgent issues affecting live campaigns, use the priority support channel provided by your account manager.
***
# Attribution and Billing
Source: https://docs.topsort.com/en/knowledge-base/offsite-and-instore/offsite/billing-attribution-api
Attribution logic, conversion tracking, and payment models for Offsite Ads.
## Attribution and Conversion Tracking
Topsort supports two attribution layers:
* **Channel-native attribution:** Google, Meta, Snapchat, TikTok, and Universal Ads apply their own attribution models.
* **Topsort in-house attribution:** Uses marketplace event data for cross-channel comparability and powers attribution-based reporting in the Topsort UI.
### Why In-House Attribution Matters
* Enables apples-to-apples performance comparison across onsite and offsite channels (including Google, Meta, Snapchat, TikTok, and Universal Ads).
* Supports configurable attribution windows (for example, 7-day or 30-day windows).
* Standardizes purchase-based metrics for reporting in Topsort.
### Event Sharing
Topsort supports sharing events with offsite platforms via offline conversions API, eliminating need for marketplace to implement tracking pixel, saving implementation time and effort.
## Billing Model
Offsite billing is marketplace-controlled and consolidated:
* Vendors spend against channel-specific wallet capacity (for example, Google wallet, Meta wallet, Snapchat wallet, TikTok wallet, or Universal Ads wallet).
* Marketplace is billed directly by the channel for media spend.
* Marketplace bills vendors according to its commercial terms.
### Payment Modes
* **Prepay:** vendor funds wallet credits before spending.
* **Postpay:** marketplace sets vendor spending capacity limits; charges are settled later.
***
# Campaign Creation and Reporting
Source: https://docs.topsort.com/en/knowledge-base/offsite-and-instore/offsite/campaign-creation
End-to-end campaign flow, approvals, and reporting in Offsite Ads.
Topsort supports both self-service and managed-service Offsite operations. Campaigns can be created from the UI or API and executed across Google, Meta, Snapchat, TikTok, and Universal Ads.
## Campaign Creation Flow
1. Choose campaign type:
* If **Product campaign**, choose products to promote.
* If **Display campaign**, upload and crop images.
* If **Video Ads**, upload video creative for Universal Ads.
2. Provide required creative inputs for the selected channel and format (for example text assets, music selection for TikTok catalog offsite, uploaded images for display campaigns, or 16:9 video for Universal Ads).
3. Select channel and campaign format.
4. Add targeting, dates, budget, and final creative details.
5. Confirm configuration and launch.
6. Track campaign status and early delivery metrics.
Review campaign-level metrics.
## Approval Flow (Asset-Based Campaigns)
Campaigns created from uploaded creative assets in self-service require marketplace approval under `Offsite > Assets`. This keeps brand and compliance controls centralized before campaigns go live.
## Reporting Surfaces
* Reporting for **Google, Meta, Snapchat, TikTok, and Universal Ads** includes views, clicks, impressions, ad spend, purchases, and ROAS in Topsort, using the same reporting patterns as other offsite channels.
* Metrics are available at halo (vendor) level and at **campaign** and **SKU** level where applicable.
* API and data export workflows are available for custom BI use cases.
***
# Overview
Source: https://docs.topsort.com/en/knowledge-base/offsite-and-instore/offsite/index
Offsite Ads overview, supported channels, and key benefits.
## Topsort Offsite Ads
Topsort Offsite Ads enables marketplaces to launch vendor-funded advertising campaigns across external channels like Google, Meta, TikTok, Snapchat, and Universal Ads.
With one unified campaign flow, marketplaces can let vendors promote their products offsite using catalog SKUs, uploaded creative assets, or both. Vendors create campaigns in Topsort, ads run on external platforms, and shoppers are driven back to the marketplace to generate incremental GMV.
Marketplaces can use the Topsort UI or build their own experience on top of the Topsort Offsite API. All core UI functionality is available via API.
## Why run offsite ads with Topsort?
Instead of managing separate advertising programs directly across Google, Meta, TikTok, Universal Ads, and other platforms, Topsort gives marketplaces a unified way to operate, attribute, and scale offsite retail media.
### Self-service campaign creation
Vendors can create offsite campaigns through a familiar Topsort experience, using the same wallet, billing, and campaign-management patterns they already use for onsite ads.
Topsort supports both prepay and postpay billing models. For campaigns using uploaded creative assets, marketplaces can also enable an ad-ops approval flow before campaigns go live.
This helps marketplaces scale offsite advertising without scaling manual operations at the same pace.
### Marketplace-owned attribution
Each external ad platform uses its own attribution methodology, making performance difficult to compare across channels.
Topsort collects offsite click and purchase events directly, allowing marketplaces to apply a consistent attribution window across all offsite campaigns. You can define an attribution window between 7 and 30 days, and Topsort will apply it consistently across supported sources.
### Less integration complexity
Running offsite campaigns directly often requires separate integrations, setup processes, and catalog-management workflows for each ad platform.
Topsort simplifies this by guiding marketplaces through the setup process for each supported channel, including catalog syncing where required.
### Unified multi-channel execution
Marketplaces and vendors can create campaigns across multiple offsite channels and formats from a single Topsort flow, instead of rebuilding the same campaign across separate ad platforms.
## Supported Channels and Formats
### Google Ads
* Performance Max (catalog-based)
* Shopping (catalog-based)
* Performance Max (asset-based)
* Search (asset-based)
### Meta Ads
* Catalog-based ads
* Single image asset ads
* Carousel ads
### Snapchat Ads
* Dynamic Product Ads (DPA), catalog-based
### TikTok Ads
* Smart+ Catalog-based ads
### Universal Ads
* Video Ads (asset-based), across CTV, streaming, and digital
## See Also
* [Onboarding](/en/knowledge-base/offsite-and-instore/offsite/onboarding)
* [Campaign Creation and Reporting](/en/knowledge-base/offsite-and-instore/offsite/campaign-creation)
* [Attribution and Billing](/en/knowledge-base/offsite-and-instore/offsite/billing-attribution-api)
* [Offsite Ads API Reference](https://docs.topsort.com/en/api-reference/offsite-ads-api/create-campaign)
***
# Onboarding
Source: https://docs.topsort.com/en/knowledge-base/offsite-and-instore/offsite/onboarding
Offsite onboarding timeline, account architecture, and set up steps.
## Overview
To launch offsite ads for a particular platform, the marketplace grants Topsort access to required ad accounts, implements offsite event tracking, and Topsort handles the rest of the integration (for example, syncing catalog and offline events with the marketplace, validation).
Topsort runs a 2-week implementation timeline for each offsite platform (for example, Google or Meta) to ensure a successful POC launch, supported by dedicated cross-functional resources from the client:
* **Engineering:** \~1 day of effort from a marketplace engineer (integration and validation). Development can likely be completed on a single 90-minute call with Topsort engineers.
* **Ad Operations:** \~1 day of marketplace ad ops support for campaign setup, QA, and launch.
## Account architecture
Automated account provisioning scales to thousands of vendors with clear budget separation and minimal manual setup. Below is the recommended account structure.
### Google
* **Marketplace provides:** Access to MCC (Manager account) + MCA (Merchant Center multi-client account)
* **Topsort creates:** Vendor Google Ads accounts with required Merchant Center linking
### Meta
* **Marketplace provides:** Access to Parent Business Manager
* **Topsort creates:** Child Business Manager and ad account per vendor
### TikTok
The marketplace can use Topsort's TikTok Business Center / Business Manager, or provide their own TikTok Business Center / Business Manager and grant Topsort access.
### Snap
The marketplace can use Topsort's Snap Business Manager / Organization, or provide their own Snap Business Manager / Organization and grant Topsort access.
### Universal Ads
The marketplace can use Topsort's Universal Ads ad account, or provide their own Universal Ads ad account and grant Topsort access.
## Set up steps
### Account set up
#### Account access (marketplace)
The marketplace grants Topsort admin access to the top-level ad platform accounts required for the channels being onboarded. See [Account architecture](#account-architecture) above for the specific accounts to grant access to on each platform.
#### Account creation (Topsort)
Topsort provisions the vendor-level account structure under those marketplace containers, including any child ad accounts, business managers, or merchant center accounts needed for the integration. See [Account architecture](#account-architecture) above for what Topsort creates on each platform. The marketplace can provide Topsort with a list of vendors to enable for offsite.
### Catalog sync (Topsort)
Where catalog-based offsite formats are in scope, Topsort syncs the marketplace catalog to the offsite platform, mapping each vendor's products into the corresponding platform account structure for that vendor.
### Event tracking set up (marketplace)
The only area where the marketplace will need to do development is event tracking. To report events for offsite, use the same [`/v2/events`](/en/api-reference/events/report-events) endpoint as onsite events, passing additional parameters in the request body.
#### Opaque user ID
The same `opaqueUserId` used for onsite events should also be reused for offsite attribution. No separate offsite identifier is required. Topsort needs a persistent, privacy-safe user identifier to connect clicks and purchases across channels.
The same onsite requirements apply to offsite usage:
* **Persistence:** Should remain stable for the attribution window (typically 7–30 days).
* **Consistency:** The same user should receive the same ID across visits and channels when possible.
* **Privacy-safe:** Must not contain PII such as email, phone number, or name.
#### Click URL
The URL that the user has when they land on your site from an offsite ad click will have important query params attached.
Example click URL:
```
https://www.retailer.com/search?q=shampoo&
externalCampaignId=9d2d7d7d-5d4f-4d8e-a8d0-2d7a6f9c1234&
externalVendorId=vendor_abc123&
gclid=CjwKCAj_example123&
utm_source=google&
utm_medium=c
```
Query params:
* `gclid` — click ID attached by Google
* `externalCampaignId` and `externalVendorId` — query params containing the Topsort campaign ID and vendor ID, attached by Topsort. Should persist alongside the user attribution state for at least the duration of the attribution window (configurable 7–30 days). They should survive navigation and repeat visits so subsequent purchase events can be correctly tied back to the originating offsite ad click.
#### Reporting clicks
Send the below event when a user lands on your site from an offsite ad click. All fields are required.
```http theme={null}
POST /v2/events
```
```json theme={null}
{
"clicks": [
{
"occurredAt": "2023-11-07T05:31:56Z",
"opaqueUserId": "",
"id": "",
"entity": {
"id": "product1",
"type": "product"
},
"externalCampaignId": "",
"externalVendorId": "",
"dsp_metadata": {
"gclid": ""
},
"channel": "offsite"
}
]
}
```
#### Reporting purchases
All fields are required.
```http theme={null}
POST /v2/events
```
```json theme={null}
{
"purchases": [
{
"occurredAt": "2023-11-07T05:31:56Z",
"opaqueUserId": "",
"id": "",
"items": [
{
"productId": "product1",
"vendorId": "",
"unitPrice": 75.0,
"quantity": 1
},
{
"productId": "product2",
"vendorId": "",
"unitPrice": 25.0,
"quantity": 1
}
]
}
]
}
```
#### Sharing events to offsite platforms
The client does not need to separately report conversion events to the offsite platform. Topsort automatically sends eligible purchase events tied to the corresponding click ID (for example, Google Click ID or GCLID) through the platform's offline Conversions API.
## Onboarding schedule
### Week 1 – Access & event tracking setup
* Grant access to required accounts
* Initiate event tracking implementation
* Sync catalog if needed to offsite platform
* Begin initial system configuration
### Week 2 – Integration & data setup
* Finish integration and begin testing
* Validate event tracking and catalog structure/quality
* Once everything is set up, validate with a live campaign and monitor performance
***
# Toppie for agencies and brands
Source: https://docs.topsort.com/en/knowledge-base/toppie/agencies-brands/agencies-brands
Traditional retail media focuses on giants like Amazon, Walmart, and major
marketplaces. Toppie unlocks access to mid-sized and long-tail retailers that
collectively represent a massive untapped opportunity, but are individually
too small or complex for agencies to manage effectively.
## Key Benefits
* **One Platform, Multiple Retailers:** Manage campaigns across dozens of retailers from a single interface
* **Budget Optimization:** AI-powered allocation ensures your budget flows to the highest-performing placements in real-time
* **Operational Efficiency:** Eliminate the need to learn multiple retailer platforms, manage separate vendor relationships, or reconcile disparate reporting formats
* **Global Scale:** Access to Topsort's network spanning 40+ countries with \$50B+ in cumulative GMV
### Global Catalog
The Global Catalog is Toppie's foundational technology that enables
cross-retailer campaign management. It works by:
### Product Mapping and Harmonization
* Maps identical or equivalent products across different retailer catalogs
* Normalizes product data (titles, categories, attributes) for consistent targeting
* Enables "1-click promotion" where a single SKU can be advertised across all relevant retailers simultaneously
### Campaign Efficiency
* **Launch once, advertise everywhere:** Set up campaigns for a specific product, and Toppie automatically identifies matching inventory across participating retailers.
* **Consistent targeting:** Apply the same audience, keyword, and demographic filters across different retailer environments
* **Unified optimization:** Budget flows to the best-performing product placements regardless of which retailer hosts them
### Technical Implementation
The catalog uses machine learning to match products across retailers based on:
* Product identifiers (UPC, EAN, GTIN)
* Product attributes (brand, model, specifications)
* Image recognition and text analysis
* Retailer-specific category mapping
## Campaign Creation and Management
### Streamlined Workflow
Select specific retailers or let Toppie optimize across the entire network
Set the overall budget and let **BIDLESS™** technology handle bid optimization
Upload or auto-generate creative assets for different ad formats
Real-time performance monitoring with automatic budget reallocation
## Reporting and Attribution
### Unified Performance Dashboard
* **Standardized Metrics:** Consistent definitions of ROAS, CTR, and conversion rates across all retailers
* **Cross-Retailer Attribution:** Track customer journeys that span multiple retailers
* **Funnel Analysis:** Complete visibility from impression to conversion across the entire network
* **Exportable Data:** Download performance data in standard formats for further analysis
#### Attribution Capabilities by Tier
* **Basic:** Last-click attribution within each retailer
* **Advanced:** Cross-retailer attribution with 7-day view/click windows
* **Enterprise:** Multi-touch attribution modeling with custom attribution windows
***
# Analytics & Reporting
Source: https://docs.topsort.com/en/knowledge-base/toppie/agencies-brands/analytics
Comprehensive campaign performance analytics for agencies and retailers to understand demand and optimize performance
The **Analytics tab** in Toppie provides comprehensive visibility into campaign performance for both agencies running campaigns and retailers hosting them. This analytics suite enables data-driven optimization and builds transparency across the entire Toppie ecosystem.
## Key Benefits
Understand what's working and adjust strategies in real-time
Make informed decisions about spending across marketplaces and products
See exactly how advertising spend translates to results
Access detailed insights about campaign demand patterns
Access all performance data directly within the platform
## For Agencies and Brands
### Core Metrics Available
* **Ad Spend** - Total and budget utilization across retail partners
* **Impressions** - Reach and visibility by marketplace
* **Clicks** - Click-through rates (CTR) and engagement metrics
* **Purchases** - Conversion rates (CVR) and sales attribution
* **Revenue** - Return on ad spend (ROAS) calculations
### Campaign Analysis
Filter by specific brands, individual campaigns, or campaign types
Choose custom date ranges for detailed analysis and trend identification
Select which columns to display based on your reporting needs
Sort by any metric for quick insights into top and bottom performers
Download performance data for external analysis and stakeholder reporting
### Performance Tracking
The analytics dashboard provides real-time insights into:
* **Cross-Retailer Performance** - Compare campaign results across different retail partners
* **Product-Level Analytics** - Understand which products drive the best results
* **Budget Efficiency** - Track spending patterns and optimization opportunities
* **Conversion Funnels** - See the complete path from impression to purchase
## For Retailers and Marketplaces
Retailers can view performance analytics for Toppie campaigns running on their platforms, including:
* **Campaign Performance** - Metrics from agency demand on your inventory
* **Revenue Generation** - Total revenue generated from Toppie campaigns
* **Impression and Click Data** - Engagement metrics for campaigns on your platform
* **Demand Insights** - Understanding which products and categories drive the most agency interest
### Retailer Benefits
* **Inventory Optimization** - Understand which ad placements perform best
* **Demand Forecasting** - Predict future advertiser interest based on performance trends
* **Revenue Reporting** - Track incremental revenue from Toppie campaigns
* **Competitive Intelligence** - See category-level demand patterns (anonymized)
## Attribution and Measurement
Toppie's analytics use sophisticated attribution models to ensure accurate measurement:
* **View-Through Attribution** - Credit for purchases influenced by ad impressions
* **Click Attribution** - Direct purchase attribution from ad clicks
* **Cross-Device Tracking** - Unified measurement across different devices and sessions
* **Marketplace-Specific Windows** - Respects each retailer's attribution methodology
## Data Export and Integration
### Export Options
* CSV downloads for all performance data
* Scheduled reporting via email
* API access for custom integrations
### Integration Capabilities
* Connect to business intelligence tools
* Custom dashboard creation
* Third-party reporting platform integration
***
Toppie Analytics transforms retail media performance data into actionable insights, enabling both advertisers and retailers to optimize their strategies and maximize results across the unified exchange.
***
# API Key Management
Source: https://docs.topsort.com/en/knowledge-base/toppie/agencies-brands/api-keys
Programmatic access to manage campaigns and analytics across retail media networks
API keys enable secure, programmatic access to Toppie's unified retail media platform. Whether you're automating campaign management, building custom dashboards, or integrating Toppie data into existing workflows, API keys provide the foundation for scaling retail media operations beyond the UI.
Toppie API keys provide secure, token-based authentication for programmatic access to all Toppie endpoints. This enables automation of campaign management, data integration, and custom reporting workflows.
## Key Benefits
Build workflows that create, manage, and optimize campaigns across multiple retailers without manual intervention
Connect Toppie data to BI tools, reporting dashboards, or internal systems for unified retail media analytics
Role-based permissions ensure team members only access the data and capabilities they need
## Creating API Keys
Access **Settings** in your Toppie dashboard navigation
Choose **API Integration** from the left-hand navigation menu
Click the **"+ New API Key"** button to generate a new key
Copy and save your API key immediately—it will only be displayed once for security reasons
Store your API key in a secure location such as a password manager or secrets management system
## Using API Keys
Include your API key in request headers for authentication when making calls to the Toppie API.
### Authentication Header
```bash theme={null}
curl -X GET https://api.topsort.com/toppie/v1/campaigns \
-H "Authorization: Bearer YOUR_API_KEY_HERE" \
-H "Content-Type: application/json"
```
### Available API Endpoints
Access comprehensive functionality through the Toppie API:
* **Product Catalog Management** - Upload, update, and manage product catalogs
* **Campaign Lifecycle Operations** - Create, modify, and monitor campaigns
* **Advanced Analytics and Reporting** - Access detailed performance data
* **Budget and Bid Management** - Programmatic budget allocation and optimization
## API Documentation
For complete API reference documentation, visit the [Toppie API Reference](/en/api-reference/toppie-api/%5Bbeta%5D-get-toppie-campaigns).
The documentation includes:
* Endpoint specifications and parameters
* Request/response examples
* Error handling guidelines
* Rate limiting information
* SDK examples in multiple languages
## Security Best Practices
**Security Guidelines**
* Never share API keys in code repositories or public channels
* Rotate keys regularly for enhanced security
* Use environment variables or secure vaults to store keys
* Monitor API usage for any unusual activity
* Implement proper access controls in your applications
### Key Management
* **Regeneration** - Rotate API keys periodically or when team members leave
* **Monitoring** - Track API usage patterns and set up alerts for unusual activity
* **Access Control** - Limit API key access to necessary team members only
* **Backup Storage** - Store keys in multiple secure locations with proper access controls
## Common Use Cases
### Campaign Automation
Automate campaign creation, budget adjustments, and performance optimization based on predefined rules and triggers.
### Reporting Integration
Pull Toppie performance data into existing business intelligence tools or custom dashboards for unified reporting.
### Inventory Management
Sync product catalogs automatically and maintain up-to-date inventory across all retail partners.
### Budget Optimization
Implement custom budget allocation algorithms based on performance metrics and business objectives.
***
For assistance with API integration or to discuss advanced programmatic campaign management use cases, contact your Toppie account manager.
***
# Campaign Management
Source: https://docs.topsort.com/en/knowledge-base/toppie/agencies-brands/campaigns
Centralized campaign management interface for viewing, filtering, and managing all your Toppie campaigns
The **Campaigns tab** in Toppie provides a centralized hub for managing all your advertising campaigns across retail media networks. This unified interface streamlines campaign oversight and enables efficient performance monitoring from one dashboard.
## Key Features
View all Sponsored Listings and Banner Ads campaigns in one organized interface
Track ad spend, ROAS, and daily budgets with live performance updates
Instantly activate, pause, or modify campaigns without navigating between pages
Filter by campaign type, status, or search by name to find campaigns quickly
Click into any campaign for comprehensive performance data and trend analysis
## Campaign Overview
The Campaigns tab displays essential performance metrics for each campaign:
* **Campaign Name** - Clickable to access detailed analytics
* **Campaign Type** - Sponsored Listings or Banner Ads
* **Status** - Active/Inactive with toggle controls
* **Ad Spend** - Total campaign spend to date
* **ROAS** - Return on advertising spend
* **Daily Budget** - Configured daily spending limit
## Managing Campaigns
Access the **Campaigns** tab from your Toppie dashboard navigation
* Use filter tabs to view **All**, **Sponsored**, or **Banner** campaigns
* Use the search bar to find specific campaigns by name
* Sort by any column for quick insights
Review real-time metrics directly from the list view without drilling into individual campaigns
Toggle campaigns **Active** or **Inactive** using the status controls
Click any campaign name to view comprehensive performance data and modify campaign settings
## Campaign Types
### Sponsored Listings
Traditional product advertising campaigns that promote specific products within search results and category pages across retail partners.
### Banner Ads
Display advertising campaigns that show visual creatives across high-visibility placements on retail partner sites, with product-based targeting.
***
The Campaigns tab centralizes your entire Toppie advertising operation, making it easy to monitor performance and make adjustments across all retail media networks from one location.
***
# Global Product Catalog
Source: https://docs.topsort.com/en/knowledge-base/toppie/agencies-brands/catalog
Manage your product catalog that powers campaigns across all retail partners
The **Catalog tab** in Toppie provides access to your **Global Product Catalog** - a centralized product database that maps SKUs across retailers and powers all campaign targeting. This eliminates SKU chaos and ensures consistent product data across all retail partners.
** **
## Key Benefits
One global catalog to power all campaigns across multiple retailers
Automatically maps your products to equivalent SKUs across different retail partners
Eliminates duplicate product entries and maintains clean, organized catalog data
Easy product selection for campaign targeting without complex setup
Consistent product performance reporting across all retail networks
## How It Works
The Global Product Catalog creates a single source of truth for your product data, automatically handling the complexity of different retailer product identifiers and catalog structures.
### Product Mapping Process
Upload your master product catalog in CSV format or connect via API feed
Toppie's AI matches your products to equivalent items across retail partner catalogs
Review and confirm product mappings to ensure accuracy across all retailers
Select products from your unified catalog for any campaign type across any retail partner
## Catalog Management
### Supported Formats
* **CSV Upload** - Standard product data files with required fields
* **API Integration** - Real-time catalog sync via API endpoints
* **Manual Entry** - Direct product addition through the interface
### Required Product Fields
* Product Name
* SKU/Product ID
* Category
* Brand
* Price (optional for mapping)
* Product Description
* Image URLs
### Catalog Updates
Product catalogs can be updated through:
* **Scheduled Sync** - Automatic updates via API integration
* **Manual Upload** - Replace or append catalog data via CSV
* **Individual Edits** - Modify specific product details through the interface
## Product Selection for Campaigns
When creating campaigns, you'll select products directly from your Product Catalog. The system automatically:
* Shows which retail partners carry each selected product
* Handles SKU mapping for each retailer automatically
* Applies appropriate targeting based on product attributes
* Tracks performance at the global product level
## Benefits for Multi-Retailer Campaigns
The Product Catalog eliminates the complexity of managing different product identifiers across retail partners:
* **Consistent Targeting** - Same product targeting logic across all retailers
* **Unified Performance Tracking** - See how the same product performs across different retail environments
* **Simplified Campaign Setup** - No need to map products individually for each retailer
* **Accurate Attribution** - Proper product-level attribution regardless of retailer-specific SKUs
***
The Product Catalog is the foundation of Toppie's unified approach to retail media, ensuring your campaigns target the right products consistently across all retail partners.
***
# Sponsored Listings Campaigns
Source: https://docs.topsort.com/en/knowledge-base/toppie/agencies-brands/sponsored-listings
Create and manage sponsored listings campaigns across multiple retail partners
**Sponsored Listings** on Toppie enable agencies to promote specific products within search results and category pages across multiple retail partners from a single platform. This is the core advertising format that drives high-intent shoppers to your products at the point of purchase decision.
Unlike traditional search advertising, sponsored listings place your products directly within the retailer's native shopping experience, ensuring maximum relevance and conversion potential.
## Key Benefits
Launch sponsored listings across multiple retail partners simultaneously
from one interface
Target based on your product catalog without complex keyword management
Products appear naturally within search results and category browsing
Reach shoppers actively searching for products like yours
AI-powered bid management automatically optimizes for your campaign
objectives
## How Sponsored Listings Work
Sponsored listings promote your products within the natural shopping flow on retail partner sites. When shoppers search for products or browse categories, your sponsored products appear alongside organic results, marked as sponsored content.
### Targeting Methodology
Choose products from your Universal Product Catalog to promote across retail partners
Toppie maps your products to equivalent SKUs on each retail partner platform
Products are automatically targeted based on their attributes, categories, and search relevance
Campaign performance is optimized across all retail partners simultaneously
## Campaign Creation Process
### Prerequisites
* Products uploaded to your Universal Product Catalog
* Campaign budget allocation
* Target retail partners selected
From the Toppie Dashboard, select "Sponsored Listings" from the Create Campaign button
Select at least one product from the brand's catalog to include in the campaign.
Select a Bidless™ strategy that aligns with your campaign goals—Brand Exposure, Balanced ROAS, or High Conversion.
Set the campaign **name**, **budget**, and **duration**.
Activate the campaign and monitor performance across all retail partners
## BIDLESS™ Technology
Toppie's **BIDLESS™** technology eliminates manual bid management by using AI to automatically optimize bids across all retail partners based on your campaign objectives.
### How It Works
* **Real-Time Optimization** - Bids adjust automatically based on performance data
* **Cross-Retailer Intelligence** - Learnings from one retailer improve performance on others
* **Budget Efficiency** - Spending is allocated to the highest-performing opportunities
* **Objective Alignment** - Optimization focuses on your specific goals (ROAS, reach, conversions)
## Performance Tracking
### Key Metrics
* **Impressions** - How often your products are shown
* **Clicks** - Engagement with your sponsored listings
* **Conversions** - Purchases attributed to your campaigns
* **ROAS** - Return on advertising spend
* **Market Share** - Your visibility compared to competitors
### Attribution Model
Sponsored listings use a combination of:
* **Click Attribution** - Direct purchases from clicking sponsored products
* **View-Through Attribution** - Purchases after seeing but not clicking sponsored products
* **Cross-Device Tracking** - Unified measurement across devices and sessions
## Optimization Best Practices
### Product Selection
* Focus on high-performing products with good margins
* Include both bestsellers and products needing visibility boost
* Consider seasonal trends and inventory levels
### Campaign Structure
* Group related products into themed campaigns
* Separate campaigns by brand or product category
* Align budgets with business priorities
### Performance Monitoring
* Review performance weekly across all retail partners
* Adjust product selection based on performance data
* Monitor competitive landscape and market trends
Sponsored listings typically show results within 24-48 hours of campaign
activation, with full optimization occurring over 7-14 days as the AI gathers
performance data.
***
Sponsored listings form the foundation of retail media advertising, providing direct access to high-intent shoppers at the moment of purchase decision across all your retail partners.
**Banner Campaigns on Toppie** enable agencies to run banner (display) advertising campaigns across multiple retail partners from a single platform alongside sponsored listings. This unified approach eliminates the need to manage banner campaigns separately across different retailer interfaces.
The feature uses *product-based targeting* where agencies select which products to promote, and Toppie automatically handles the targeting and creative sizing for each marketplace. This reduces manual setup while ensuring banners remain relevant to each retailer's audience.
## Key Benefits
Run banner campaigns alongside sponsored listings with unified reporting and budget controls
Upload creatives, select products to sponsor, and launch across multiple marketplaces in a single flow
Design team resizes uploaded creatives to match available slot dimensions across partner marketplaces
Target based on your product catalog without manual keyword setup—targeting is automatically inferred from selected products
Track when banner clicks lead to purchases of campaign products using marketplace-specific attribution windows
## How It Works
From the Toppie Dashboard, select "Banner Ads" from the Create Campaign button
Agencies upload banner creatives following standard IAB size recommendations, select products from their catalog to sponsor, and set campaign **name**, **budget**, and **duration**. Toppie automatically creates child campaigns for each relevant marketplace.
Dimension recommendation are generated based on the asset size
A preview of your banner will be shown
Select at least one product from the brand
Specify the campaign **name**, **budget**, **duration**, and **targeting** preferences
Each child campaign goes through the marketplace's standard approval flow. Marketplaces set banner destinations during this approval process before campaigns go live.
## Attribution Model
Purchases are attributed when users click on a banner and later buy a product included in the campaign, using each marketplace's attribution window for measurement.
Real-time reporting and performance tracking are available within the Toppie platform for complete campaign visibility.
## For Marketplaces
Monetize high-visibility banner slots with better targeting and real-time measurement. Set destinations during the campaign approval flow and benefit from product-based targeting that ensures relevant ads for your audience.
Toppie is Topsort's ad exchange and demand-side platform that unifies retail media buying and selling across multiple retailers. It functions as both a **demand-side ad exchange** (facilitating real-time transactions between buyers and sellers) and **ad network** (aggregating inventory from multiple retailers for streamlined access).
## The Core Problem Toppie Solves
Retail media suffers from severe fragmentation. Agencies and brands struggle to manage campaigns across multiple mid-sized retailers, while these retailers can't attract the brand spend that larger players like Amazon and Walmart command. This creates a "budget fragmentation" problem where smaller retailers struggle to monetize their inventory effectively, and brands miss opportunities to reach high-intent shoppers outside the major platforms.
## Toppie's Solution
* **[For Agencies and Brands:](/en/knowledge-base/toppie/agencies-brands/agencies-brands/)** One platform to create, manage, and optimize campaigns across multiple retailers with unified reporting and budget allocation
* **[For Retailers and Marketplaces:](/en/knowledge-base/toppie/retailers-marketplaces/retailers-marketplaces/)** Access to incremental brand budgets and demand without operational overhead or lengthy sales cycles
## Key Differentiators
* Universal Product Catalog that maps SKUs across retailers
* Real-time budget optimization using Topsort's **BIDLESS™** technology
* Unified attribution and reporting across all participating retailers
* Integration options ranging from plug-and-play (for existing Ad Platform clients) to custom API implementations
***
# Toppie for retailers and marketplaces
Source: https://docs.topsort.com/en/knowledge-base/toppie/retailers-marketplaces/retailers-marketplaces
## Most retailers struggle to attract brand advertising budgets due to:
* Limited sales resources to court agencies and major brands
* Inability to compete with larger platforms on an audience scale
* Complex onboarding processes that deter advertiser adoption
### Toppie solves this by
* **Bringing Pre-Qualified Demand**: Access to agencies and brands already spending through the Toppie network
* **Zero Sales Overhead**: No need to prospect, pitch, or manage individual advertiser relationships
* **Quick Integration:** Multiple integration options from plug-and-play to custom API implementations
* **Maintained Control:** Retailers retain complete control over pricing, inventory allocation, and brand safety
### For Existing Ad Platform Clients
* **Plug-and-Play:** Toppie demand automatically flows to unfilled inventory
* **Configuration:** Set minimum floor prices, category restrictions, and brand safety filters
* **Reporting:** View Toppie performance
## Revenue and Performance
### Incremental Revenue Streams
* **Unfilled Inventory Monetization:** Generate revenue from previously unsold ad placements
* **Premium Brand Access**: Reach global brands and agencies typically inaccessible to mid-sized retailers
* **Regional Budget Access:** Tap into regional agency budgets that wouldn't normally flow to individual retailers
### Performance Optimization
* **Automated Floor Pricing:** AI-powered price floors that maximize revenue without reducing fill rates
* **Inventory Optimization:** Automatic allocation between direct advertiser campaigns and Toppie demand
* **Real-Time Reporting:** Monitor performance and adjust settings in real-time
***
# New and improved banner ads
Source: https://docs.topsort.com/en/changelog/1-march-2022
We released a bunch of improvements around creating and running Banner Ads in March. Check out our new Banner Ads creation and approval cycles. 🔄 ✅ Boleto is also now a payment option for our Brazilian friends! 💰💱
March 26, 2022Ad PlatformImprovement
We released a bunch of improvements around creating and running Banner Ads in March. Check out our new Banner Ads creation and approval cycles. 🔄 ✅ Boleto is also now a payment option for our Brazilian friends! 💰💱
# Release Notes:
## Banner Ads
Banner Ads are now new and improved! When creating banner ad campaigns, you can now specify the product or brand, location, and duration of your campaign.
### Product Banner Ads vs Brand Banner Ads
You can now specify whether your ad campaign is advertising for a product(s) or a brand(s). Product Banner Ads (“My product”) mean that your ad is advertising product(s), while Brand Banner Ads (“My brand”) clarifies that the ad is advertising a brand(s).
For vendors with multiple brands, the “my brand” ad type gives them the flexibility to advertise multiple brands at once or separately.
### Banner Ad Website Location (Targeting)
Depending on your website layout, you can now specify where you are running banner ads:
* Search-page
* Home-page
* Category-page
## Banner Ad Formats
Set up new Banner Ad Formats by setting the location and dimensions of your ad and saving it to reference during your campaign creation.
## Banner Ad Reviews
Ensure the quality and success of all banner ad campaigns by reviewing all created campaigns before they launch on your website. Topsort’s new banner ad review system allows process owners to approve or reject created ad campaigns and monitor a history of all approvals.
If you choose to reject a campaign, you can easily provide a rejection reason and send an email to vendor advertising managers, so they can quickly get your feedback and make adjustments.
## Boleto Payments
If credit cards aren’t the main form of payment in your region, we have now set up a way to Top-Up your wallet with Boleto. Boleto payments are powered by our integration with dLocal.
## Manual Vendor Creation and Invitation
On the Topsort marketplace dashboard, you can now invite vendors with the new “Add vendor” button. Just search up the vendor name and invite relevant personnel to get them started with ads.
## Public API to create and invite vendors
If you have a platform of your own to interact with your vendors, you can now easily integrate Topsort onto your platform with our new public API for vendor creation and invitation purposes.
# Improvements
* Added country code when adding the phone number in both the account details page and the sign up page
* Added a learning mode display for the first 5 days after campaign creation
* Instructional images during campaign creation
* Load spinner added every time a page is loading
# Fixes
* Fixed vendor menu color
* Fixed Top-Up options spacing
* Broken generate marketplace API key link fixed on the resources tab
* Brought Chart Gradient back
* Invite team button name fixed
# New: Filtering API and Schema Validator
Source: https://docs.topsort.com/en/changelog/10-sept-23-2022
This week, the Topsort team released new features related to API Logs to make it easier for developers to troubleshoot issues. Now you can filter errors by API and see the cause of an error quicker with our Schema Validator
September 22, 2022Ad ServerImprovement
This week, the Topsort team released new features related to API Logs to make it easier for developers to troubleshoot issues. Now you can **filter errors by API** and see the cause of an error quicker with our **Schema Validator**
## Release Notes
### Filtering by API
Filter all the errors by the API to see the origin faster.
### Schema validator
We've implemented a schema validator for the API calls to show you more detailed error logs. When the request you made is different from the pattern we expect, you'll see the notification with a detailed description of the cause of the error, and clicking on the alert will take you to the relevant part of your request.
For example, in auction requests, we expect the product type to be an array. Here's how the schema validator will show any errors in your request
Clicking on the alert will take you to your request
# New: Personalized seller notifications
Source: https://docs.topsort.com/en/changelog/11-september-28-2022
Now you can send personalized notifications to sellers when their balance is running low or runs out. That way they can top up easily, and keep their campaigns running. We also implemented some data visualization fixes, made campaign end dates visible, and added sorting to the transactions report.
September 27, 2022Ad PlatformImprovement
Now you can send **personalized notifications** to sellers when their **balance is running low or runs out**. That way they can top up easily, and keep their campaigns running. We also implemented some data visualization fixes, made campaign end dates visible, and added sorting to the transactions report.
## Release Notes
### Low Balance Notifications
Some sellers may not log in to their dashboards daily to track their balances. This might cause campaigns to pause due to the balance running out.
To help with this self-service experience, we implemented personalized notifications when the balance is running low and when it runs out.
Here's an example notification for a low balance:
### Improvements
* Two sets of lines corresponding to the y-axis values on the graphs when viewing two metrics are removed. Now there's just one line making it easier to read the graphs.
* Self-service dashboard aesthetic changes for banner ads campaigns: Inactive "settings" item removed from the edit menu
* Ability to see the campaign end dates on vendor and admin dashboards
* Ability to sort transactions by date
# Campaign status notifications
Source: https://docs.topsort.com/en/changelog/12-october-5-2022
This week we released some updates to keep marketplaces and vendors notified of their campaign status changes and added a button to refresh dashboard metrics. We also improved the logs service performance.
October 4, 2022Ad PlatformImprovement
This week we released some updates to keep marketplaces and vendors notified of their campaign status changes and added a button to refresh dashboard metrics. We also improved the logs service performance.
## Release Notes
### Notifications for Campaign Status Changes
We wanted to notify vendors and marketplaces when the campaign status is changed, especially in special cases where a vendor turns off a campaign by mistake, or campaigns stop running due to the duration or budget setup.
Now, you will receive a detailed email whenever a campaign is turned on/off and quickly review the changes.
As a marketplace, you can keep track of all the changes with vendor campaigns to provide faster support. As a vendor, you can track the status of your campaigns, changes your team members make, avoid unintentional campaign changes, and keep your campaign performance high.
Here's an example:
### Refresh Dashboard Metrics
Now you can refresh all the dashboard metrics at once to see the latest results as an admin. Simply, click the refresh button at the top right corner.
### Improvements
We implemented the changes below to improve logs service performance
* Use OpenSearch's GET instead of SEARCH for retrieving logs by ID.
* Do not retrieve request/response bodies when getting the list of requests to reduce query/payload size.
# New: Sales Training Module
Source: https://docs.topsort.com/en/changelog/13-october-18-2022
This week we launched the Sales Training module on the admin dashboard, launched Analytics access for vendors, added email notifications for the rejected banner ads, and deployed some UI changes to make it easier to monitor your balance and ad spend and configure banner ads.
October 17, 2022Ad PlatformImprovement
This week we launched the Sales Training module on the admin dashboard, launched Analytics access for vendors, added email notifications for the rejected banner ads, and deployed some UI changes to make it easier to monitor your balance and ad spend and configure banner ads.
## Release Notes
### Ad Sales Training
We understand that a new ad solution comes with the skills to sell these ads. That’s why we have been offering ad sales training to help our partners to build their dream sales teams to get the most out of their new ads platform.
We put together all the notes we shared, the questions we answered, and the guides we created to build a central knowledge repository for the marketplace admins.
Today we launched our Sales Training module within the admin dashboard. Walk through each module enriched with how-to guides, video tutorials, product screenshots, and tips to become an ad expert in no time!
You can access the Sales Training module within the admin dashboard.
### Analytics Access
Before all self-service vendors had the same permissions and access to all features of the platform, but each marketplace operates differently and needs different permissions for their vendors.
We implemented custom access levels to address the needs of different teams.
Now, Marketplace admins can give Analytics access to the vendors. Vendors with Analytics access can see the metrics but can’t create or edit campaigns.
You can customize the permissions when giving self-service access to the vendors. By default, full access is given to the vendors.
### Email Notifications for Rejected Banner Ads
Vendors are notified when their banner ads are rejected so they can quickly update and re-submit them for approval. In the notification email, they can see the details of their campaigns, the reason for rejection, and the feedback you left for them.
### Improvements
* The "back" button on an approved campaign page takes users to the “manage” page, instead of the "configuration" page
* Now you can see all the pages you can configure for banner ads as you land on the "Add a Configuration" page
* We've changed the titles in the "Balance Breakdown" to make it easier to see the account balance and target spend, as well as when to top up your account.
* We added a quick link to our documentation from the Settings > API Integrations page
# Vendor permission changes
Source: https://docs.topsort.com/en/changelog/14-november-1-2022
Now you can manage vendor dashboard permissions within the admin dashboard. We also added a product search feature to the campaigns and deployed upgrades to the /events endpoint. We made changes in the API documentation and improved the help center experience within the vendor dashboard.
October 31, 2022Ad PlatformImprovement
Now you can manage vendor dashboard permissions within the admin dashboard. We also added a product search feature to the campaigns and deployed upgrades to the /events endpoint. We made changes in the API documentation and improved the help center experience within the vendor dashboard.
## Release Notes
### Change Vendor Dashboard Permissions
Now marketplaces can manage the self-service vendor permissions directly within the admin dashboard. Simply visit the vendor dashboard and choose between "Full access" and "Analytics" to select the type of dashboard access you want to give to the vendor.
### Changing Campaign End Date
After setting an end date for a campaign, vendors can easily change the end date or remove the end date to turn a campaign into an ongoing campaign with no end date.
### Product Search
Now you can search products by their names on the campaign details page. Product search makes it easier to manage campaigns with a long list of products. You can easily find a product to view the performance metrics or change the status.
### Additional Metrics with /events Endpoint
We’ve upgraded the /events endpoint to allow marketplaces to send additional metrics to create better insights about ads have been performing. With the upgrade, /events endpoint got more reliable and scalable.
### Improvements
* Sponsored Listings and Banner Ads campaigns are decoupled from the API documentation to increase the interpretability of fields for the campaign API.
* The "Help Center" on the vendor dashboard opens in a new tab.
# More vendor permission changes
Source: https://docs.topsort.com/en/changelog/15-november-17-2022
This week, the Topsort team released additional vendor permission settings for marketplace admins, added a search feature to the campaigns list, deployed a campaign relaunch feature, and made campaign pages more informative with campaign status notifications. We also added information boxes and tooltips to clarify how different budget types work.
November 16, 2022Ad PlatformImprovement
This week, the Topsort team released additional vendor permission settings for marketplace admins, added a search feature to the campaigns list, deployed a campaign relaunch feature, and made campaign pages more informative with campaign status notifications. We also added information boxes and tooltips to clarify how different budget types work.
## Release Notes
### Set Vendor Permissions During the Invitation
Now marketplaces can set the permissions of a new vendor while they invite them to the self-service vendor dashboard. All you need to do now is select the "Role" of a vendor while inviting them. You can give them Full access with permission to create and edit campaigns, or give Analytics access where they can monitor the performance of their campaigns in real-time, but can't edit or create campaigns.
### Campaign Search
A search bar is added to the campaign list to help you select the campaigns easier. Campaign search comes in handy for vendors and marketplace admins when managing a long list of campaigns.
### Relaunch Campaigns
You can now relaunch campaigns that reached their end dates. Simply click "Relaunch" and enter the new end date or leave it as an ongoing campaign. With this new feature, you can easily reactivate your campaigns to continue getting great results.
### Campaign Status Notifications
New notifications on campaign details pages give you more information and alerts about your campaign status. You can now see the campaign status notifications below:
* Campaign end date is approaching
* Campaign has expired
* Campaign is inactive due to:
* Campaign deactivated
* All products in the campaign are deactivated
### Improvements
We added tooltips and info boxes to the campaign setup step and campaign details page to clarify how daily, weekly, and monthly budgets work.
# New: Reporting API
Source: https://docs.topsort.com/en/changelog/16-december-5
Recently, Topsort has released the new Reporting API that makes reporting easier on the marketplace, vendor, campaign, and product level. Marketplaces can now use the Reporting API to get daily or aggregated behavior summary data. We also added new vendor metrics to help marketplace admins have better insight into vendor performance.
December 4, 2022Ad ServerNew Feature
Recently, Topsort has released the new **Reporting API** that makes reporting easier on the marketplace, vendor, campaign, and product level. Marketplaces can now use the Reporting API to get daily or aggregated behavior summary data. We also added new vendor metrics to help marketplace admins have better insight into vendor performance.
### Reporting API
Using the Campaign API or our dashboards marketplaces can easily monitor and report the aggregated data for their marketplace as well as for each vendor, campaign, and product. We understand that some businesses prefer to report daily behavior summary data, separate from the aggregate data. As usual, we listen to your needs and created a solution.
Introducing Reporting API, an all-in-one campaign metrics API. With Reporting API you can get both daily and aggregated data for your marketplace or per vendor, campaign, and product between the dates you pick.
Check our [Reporting API documentation](/en/api-reference/events/report-events) for more.
### More Vendor Metrics
To give marketplaces more insight into vendor performance, we added new metrics that marketplace admins can see at the vendor level. In addition to **amount spent on ads, impressions, conversion, and CTR**, now, you can also see **% of auctions won, ROAS, clicks, and cost per click**
# New: Vendor Activity Logs
Source: https://docs.topsort.com/en/changelog/17-december-23
This week we released Activity Logs to help you stay in the know about your vendors’ activity and provide faster support! We also added the campaign tab on the vendor dashboard for easier campaign management.
December 21, 2022Ad PlatformImprovement
This week we released **Activity Logs** to help you stay in the know about your vendors' activity and provide faster support! We also added the campaign tab on the vendor dashboard for easier campaign management.
## Campaigns Tab
With the new campaigns tab, your vendors with tens of campaigns can now manage their campaigns faster! They can view all campaigns in a table view including the campaign type, products, and status. Filters help them find the campaign they are looking for faster. They can also see the performance metrics of a product simply by hovering over the product image. The campaigns tab is available in all self-service vendor dashboards.
## Activity Logs
You receive email notifications whenever a change is made to the campaigns so you can easily monitor the vendor activity and offer support faster. Now activity logs show the most recent changes to campaigns directly on the vendor overview panel for easier access.
With activity logs, you can see what changes were made to campaigns, who made changes, and when those changes were made. Load more activities to see the entire change history of your vendor campaigns.
# New: Multi-marketplace logins
Source: https://docs.topsort.com/en/changelog/18-january-9-2023
We started this year by releasing two significant features. The multi-marketplace login allows marketplace admins seamlessly switch between different countries, business functions, or languages. We also released the banner ads flow that has a better user experience with a simpler UI and allows serving multiple banner ads on landing pages.
January 8, 2023Ad PlatformImprovement
We started this year by releasing two significant features. The multi-marketplace login allows marketplace admins seamlessly switch between different countries, business functions, or languages. We also released the banner ads flow that has a better user experience with a simpler UI and allows serving multiple banner ads on landing pages.
## Multi-marketplace Login
Our marketplace, delivery app, and multi-brand retailer partners operate in multiple countries that used to require admins to log out and log in between different production environments. Now admins can easily switch between different marketplaces at a click of a button. On the admin dashboard, simply select the country or store you want to switch to right below your marketplace logo.
## Multiple Landing Page Banners
Our easy-to-use banner ads creation and configuration flows just got easier to use, manage, and configure with the new improvements we've implemented.
Now, you can serve multiple banner ads on landing pages. Configure as many banner slots as you want on your homepage, category pages, or search result pages and run auctions on each slot.
Give each banner slot a unique ID and easily manage them across your marketplace. Filter all your banner configurations by the page or use the search bar to find the banner configuration you are looking for. If you need to create a campaign for your marketplace or for your vendors, you can now create a banner ads campaign directly on the configuration page for your marketplace or for the vendors.
Here are some other thoughtful features we added for an improved and advanced banner ads experience:
* Schedule start and end dates for your banner placements.
* Browse tags as quick summaries of banner ads campaigns
* Easily choose categories when configuring banners for category pages
* Upload keyword lists for banner configurations on the search result page
* Search and select keywords for each banner configuration on the search result page
* Set approval method (manual or auto-approval) and access limitations in a simpler way
* Drag and drop your banner ads creatives while creating campaigns
# Banner improvements
Source: https://docs.topsort.com/en/changelog/19-march-8-2023
We have revamped the banner experience with improvements around the core areas of banner ads: Configuration, Campaign Creation, and Targeting. In addition to a smoother and more coherent banner ads experience, you can now create exclusivity with your placements for a premium offering. We also implemented SSO for easier login and launched a new API to simplify vendor invitations.
March 7, 2023Ad PlatformImprovement
We have revamped the banner experience with improvements around the core areas of banner ads: Configuration, Campaign Creation, and Targeting. In addition to a smoother and more coherent banner ads experience, you can now create exclusivity with your placements for a premium offering. We also implemented SSO for easier login and launched a new API to simplify vendor invitations.
## Banner Ads - Simpler, Faster, and More Configurable
Topsort banner ads have one of the most intuitive flows and configurations in the market; turning a poorly used ad format into a premium offering. With the new features, you now have a streamlined and intuitive platform to manage your ads that is more relevant and scalable than ever.
### Configuration
You can create banner ads for search, category, and landing pages. With these 3 types of banner placements, you can serve banner ads for the entire user journey on your website or app. Now, you don’t need to spend time with Search and Category page banner ad slots because we got them configured for you. There is just one slot for category pages, and one slot for search results pages.
Instead, you can define landing page placements, but faster.
Your homepage, and the other high-value and specific pages that act as landing pages are perfect for banner ads due to their high traffic. Using our intuitive UI and providing the values below, you can define as many placements as your want, like adding new rows to a spreadsheet.
* Landing Page Link
* Landing Page Name
* Slot ID
* Desktop Size (Height x Width)
* Mobile Size (Height x Width)
You can create banner slots for multiple landing pages and even multiple banners for a single page. At any point, you can delete a configuration or add a new one.
If you don't want to add each configuration, you can use the bulk upload option.
### Campaign Creation & Management
We added new entry points to the campaign creation flow and improved the flow by adding more features.
Now, as an admin, you can create banner ads campaigns directly on the configuration page. You can still visit the vendor page and launch a banner ads campaign. This new flow saves you time by letting you create banner ads campaigns for vendors (even multiple vendors) easily. You can promote a vendor, a product, or a URL.
For faster campaign creation, use the “Create Banner” button or pick a slot from the list. Now, for each banner ad slot, you can upload different creatives for mobile and desktop, or crop one image to fit both.
Before launching your campaign, you can set a maximum CPM or turn autobidding on to maximize the results. By adding bidding to the banner ads, you can let multiple brands and vendors compete for that spot; bringing your banner ads to their true value and boosting your revenues. Both for autobidding and maximum CPM, you can set different daily budgets per desktop and mobile.
On the Banner Ads Overview page, you can see all your configurations, as well as the performance of each slot. You can see the number of bids, impressions, and CPM for any date.
### Targeting
We implemented new targeting features to create a relevant experience for your visitors and premium ad formats for your vendors and brands. For landing page banners, the targeting is built in. By creating exclusive banner slots for each landing page, you are creating a premium placement for visitors to those pages. You can drive the traffic from banners to a product, vendor, or URL.
For category and search result pages, you can target certain categories, keywords, and locations. Combine these targeting options to create banner ads campaigns to reach your desired audience with precision.
## Single Sign-on
Now you can log in with your Google or Microsoft accounts for easier and more secure login.
## Differentiation of Auction Results for Banners and Sponsored Listings
Now, auction results contain the type of auction it was. In the result, you’ll receive the **resultType** as “listings” or “banners” to differentiate auctions for sponsored listings from banner ads.
## Invitation API
When you have tens or hundreds of vendors, inviting all of them manually might be time-consuming. We listened and built the Invitation API for you.
With Invitation API, you can mass invite vendors and scale up your ad platform even faster. See the documentation [here](/en/reference/invitation-api)
# New: Banner ad campaigns
Source: https://docs.topsort.com/en/changelog/2-june-15-2022
We’re excited to announce our newest release: Banner Ad campaigns (new and improved)! You can now run auction-based banner ads anywhere on your marketplace website! We’ve also built a whole Banner Ad Configuration module to support banner ad campaign creation.
June 14, 2022Ad PlatformNew Feature
We’re excited to announce our newest release: **Banner Ad campaigns** (new and improved)! You can now run auction-based banner ads anywhere on your marketplace website! We’ve also built a whole **Banner Ad Configuration** module to support banner ad campaign creation.
In addition to banner ads improvements, we’ve also optimized how auctions are run. We now run **keyword targeted auctions** for sponsored listings and run **10 auctions per sever call**. You get more value without compromising performance!
# Release Notes
## Banner Ad Configurations - Homepage and Category Pages
This is a feature made to simplify how and where you set up display banner inventory. You can add an unlimited number of configurations with any placement. Read our [documentation](/en/knowledge-base/ad-platform/banners/banner-slots) to learn how it works.
### Configuration for Category Page Banner Ads
Before creating and launching a banner ad campaign that will appear on your category pages, select as many category pages as you want to include in your configuration. Or turn on “select all” to save time!
## New and Improved Way to Create Banner Ad Campaigns
We’ve updated the banner campaign creation process to reference your set configurations. Setting it up is simple. First upload your creative. Then choose a placement and creative size. Set your campaign parameters and hit launch!
## Support for up to 10 auctions in 1 server call!
We get it. There’s usually more than one ad type for each page load. This is why we updated our API to support up to 10 auctions per server call. If you have sponsored listings, banner ads and related products in the same page, those auctions will be consolidated in the same server call. This will dramatically reduce the number of server calls, resulting in lower costs for the marketplace!
# Improvements
Balance Breakdown: On the vendor’s analytics page is the Balance Breakdown. It’s an overview of a vendor’s total budget, ad spend, and percentage of ad spent out of the budget. Wallet top-up is now located here as well.
* Added “Vendor's Balance” on the marketplace dashboard
* Ability to create an unlimited number of configurations
* Ability to edit and delete configurations
* Add 3 metric displays to the a campaign’s “product” section: Total spend, Total sales, ROAS
* Sidebar aesthetic changes: new dark blue, purple, and green colors; new icons
* Sidebar navigation changes: “Ad formats” dropdown menu
# New: Analytics dashboard
Source: https://docs.topsort.com/en/changelog/20-march-27-2023
We launched a new Analytics tab on the dashboard
March 26, 2023
Ad Platform
Improvement
This week, we launched a new Analytics tab on the dashboard that provides marketplace admins with an overview of ad performance metrics, including aggregated data on the marketplace level and detailed data per vendor. We also introduced a new navigation design, the ability to share marketplace content standards with vendors, and a new campaign type called "CPM Listings Campaign." We are sure that these features will improve the ad management experience and streamline your workflows.
## Analytics Tab
We launched a new section called Analytics on the dashboard to provide marketplace admins with an overview of ad performance metrics. You’ll see this new tab on the side menu on your admin panel.
The analytics view gives you aggregated data on the marketplace level and detailed data per vendor.
On the marketplace level, you can see the aggregated data on 10 key metrics that show the overall performance of your ad business. You can view the data on any date you want or pick date periods to compare the performance. We will show the trend indicators to help you understand how each of these metrics is doing compared to the previous period.
* Vendors Advertising (Number of Vendors with Active Campaigns)
* Total Ad Spend
* CPC (Cost per Click)
* CTR (Click Through Rate)
* Purchases
* Impressions
* Clicks
* Promoted Sales
* Conversion Rate
* ROAS
On the vendor level, you will have a detailed table with a list of your vendors with columns showing key ad metrics. The vendor performance table improves your ad management experience by providing all the information in one place, eliminating the need for multiple data analytics tools.
You can customize the table view to display the metrics you want and build a table that shows the metrics that matter to your business. Same as the marketplace metrics, you can display the vendor metrics through a certain time period.
* Ad Spend
* Impressions
* Clicks
* Purchases
* Promoted Sales
* CPC
* CTR
* Conversion Rate
* ROAS
## New Navigation
You'll notice a new navigation design when you log in to admin or vendor dashboards. The new and improved navigation is part of the new Topsort brand and offers easier access to key tools and features.
## Content Standards
You can share your marketplace content standards which your vendors can check when they launch the banner campaigns. Add as much detail as you want in the content standards file and refer to the file when sharing feedback on vendor banner campaigns.
## CPM Listings Campaigns
After the request from some partners, we launched a new campaign type “CPM Listings Campaign”. CPM Listings Campaigns are the same as Sponsored Listing Campaigns, but rather per click (CPC), advertisers will be charged per impression (CPM).
> 📘 CPM Listing Campaigns are only available when creating campaigns via API
When launching campaigns using the Campaign API, you can set the **chargeType** as CPC or CPM to define the type of sponsored listings campaign you want to run.
See the Campaign API documentation [here](/en/reference/campaign-api)
## Multiple Creatives and Slots Per Campaign
Right now, you can upload one creative and use it on desktop and mobile when running banner ads campaigns. You can also upload one creative per device type. When you want to use the same creative in another slot (which means another banner campaign), you need to upload it again.
When a marketplace has many slots or when a user wants to use many creatives in one campaign, it becomes overwhelming to create multiple combinations of campaigns. To save you and your vendors time, we implemented multiple creatives and slots per campaign. Now you can upload different creatives and easily relate these creatives to multiple slots in a quicker way.
> 👍 For now, this feature is only available for campaigns created via Campaign API. Soon, it will be available in Admin and Vendor Dashboards as well.
## Multiple Banner Slots on Search and Category Pages
Initially search and category pages had fixed banner slots that were created during the integration. Now, you can add multiple banner configurations for category and search. To add a new banner slot, simply click the "Add a configuration" button and select "Search" or "Category" in the dropdown.
## Bulk Upload Banner Configurations
When we launched our new banner ads experience last week, we mentioned bulk uploading during the initial setup. Now, you can bulk-upload banner configurations for landing pages whenever you want. You'll see the "Bulk Upload" button as well as a bulk upload file template when adding banner slot configurations for landing pages.
## Error Feedback During Banner Configuration
You will now receive validation errors when there's an unexpected value in your banner ad configuration. Validation errors will also be shown when you have duplicate slot IDs.
# Enhanced roles and permissions
Source: https://docs.topsort.com/en/changelog/2024-11-22-enhanced-roles-and-permissions
Introduced granular Role-Based Access Control (RBAC), allowing Key Account Managers to manage vendor-specific campaigns and data with tailored permissions, improving security and workflow efficiency.
November 21, 2024Ad PlatformImprovement
### **Enhanced roles and permissions**
RBAC (Role-Based Access Control) - Additional Roles and Permissions enhances account security and flexibility by allowing Key Account Managers (KAMs) to access specific account data and create campaigns restricted to certain vendors. This ensures better role management and accountability.
### **Importance of RBAC - Additional Roles and Permissions**
Provides granular control over who can access and manage vendor-specific data and campaigns.
### **Key Benefits**
* **Focused Campaigns**: Lets KAMs work directly with vendors they’re assigned to, ensuring everything stays organized and efficient.
* **Clear Data Access**: Provides a clear view of data and information about the specified vendors, helping KAMs make informed decisions.
### **How It Works**
When assigning roles and permissions:
1. Navigate to **“Settings”** on the sidebar and go to the **“Users”** section.
2. Click on **“+ Add Member”** in the team management section.
3. Assign the **“Sales”** role from the dropdown menu.
4. Enter the user’s first name, last name, and email address.
5. Click **“Next”** to proceed to the vendor selection screen.
6. Select the vendors the user will manage by clicking the **“Add”** button next to each relevant vendor.
7. Use the search bar to quickly find specific vendors, or select all vendors as needed.
8. Confirm the setup by clicking **“Send invitation.”**
Once the user accepts the invitation, they will have access only to the selected vendors and associated data, ensuring secure and tailored permissions.
### **Considerations**
* Only admins can assign roles and vendor access.
* KAMs cannot access data or campaigns outside their assigned vendors.
# New Budget Options for Banner Ads
Source: https://docs.topsort.com/en/changelog/2024-12-10-new-budget-options-for-banner-ads
Advertisers can now choose between daily, weekly, monthly, or total budgets for banner ads campaigns, providing greater flexibility and control.
December 9, 2024Ad PlatformImprovement
### New Budget Options for Banner Ads
To provide advertisers with more flexibility and control over their banner ads campaign budgets. By introducing weekly, monthly, and total budget options, advertisers can better align their spending strategies with their business goals and cash flow.
#### **Key Benefits**
1. **Increased Flexibility**: Advertisers can now choose between daily, weekly, monthly, or total budgets to match their financial planning.
2. **Simplified Budget Management**: Reduces the need for manual budget recalculations or adjustments.
3. **Broader Appeal**: Supports a wider range of campaign types, from short-term promotions to long-term brand awareness initiatives.
#### **How It Works**
* **New Budget Options**: Advertisers can now select their preferred budget type—daily, weekly, monthly, or total—when setting up a banner campaign in the form.
* **Budget Consumption Logic**:
* **Total Budget**: The total budget is consumed without any time constraints, offering maximum flexibility for campaigns without specific time-related spending limits.
* **Weekly and Monthly Budgets**: These budgets are divided into daily spending limits to ensure consistent pacing.
* **Consistent Reporting**: Analytics and reporting align with the selected budget type to ensure transparency and ease of use.
* **Compatibility**: These budget options are available for all advertisers and can be enabled across marketplaces.
#### **Considerations**
1. **Default Setting**: The default budget type remains "Daily" for ease of use, but users can manually switch to weekly, monthly, or total.
2. **Campaign Strategy**: Advertisers should align their budget choice with the campaign duration and objectives for optimal results.
# CPA (cost-per-action) Charge Type
Source: https://docs.topsort.com/en/changelog/2024-12-30-cpa-cost-per-action-charge-type
Advertisers can now choose CPA Charge Type for sponsored listings so they are only charged when a conversion is attributed.
December 29, 2024Ad PlatformNew Feature
## **Importance of CPA**
CPA provides the critical link between ad spend and actual conversion, allowing for more granular optimization and better budget allocation. This directly addresses a key advertiser need: understanding the cost of acquiring a valuable customer through their campaigns.
#### **Key Benefits**
* **ROAS Optimization:** CPA tracking allows advertisers to directly measure the return on their ad spend by understanding how much it costs to acquire a customer.
* **Performance Measurement & Comparison:** CPA provides a clear and concise metric for evaluating campaign/product performance.
* **Improved Budget Allocation:** By understanding the CPA for different products or campaigns, advertisers can allocate their budget more effectively, shifting spend towards the most profitable acquisition channels.
#### **How It Works**
**This feature will require integration changes .**
The charge is triggered whenever a reported purchase from a marketplace is attributed to a sponsored click.
**CPA Calculation:** The platform will automatically calculate CPA by dividing the total ad spend for a campaign by the number of conversions attributed to that campaign.
#### **Considerations**
* Only for sponsored listings
* Only last-click attribution is supported
* Only for campaigns with “total budget” configuration
* Ignore over spending. If a purchase happens after the total budget is consumed, the charge will not be reflexted.
* Not compatible with halo attribution.
# Travel Targeting
Source: https://docs.topsort.com/en/changelog/2025-01-03-travel-targeting
Advertisers can now target users based on travel windows, traveler types, and other criteria.
January 2, 2025Ad PlatformNew Feature
## **Importance of Travel Targeting**
Travel targeting is crucial for improving the relevance of travel ads, optimizing campaign performance for advertisers, and enhancing the overall value proposition for travel agencies. Currently, travel advertisers lack the ability to tailor their bids and target specific traveler segments, leading to missed opportunities and potentially lower conversion rates. This feature directly addresses this gap by providing granular control over targeting parameters and bid adjustments.
## **Key Benefits**
* **Increased Relevance:** Travel targeting allows advertisers to tailor their ads to specific travel windows, traveler types, and other criteria, ensuring that their offers are shown to the most relevant audience. This increases the likelihood of conversions and improves campaign effectiveness.
* **Improved Campaign Performance:** By targeting specific traveler segments and adjusting bids accordingly, advertisers can optimize their campaigns for better performance and higher return on ad spend (ROAS).
* **Enhanced Advertiser Satisfaction:** Offering granular targeting capabilities empowers travel advertisers to achieve their specific campaign goals and cater to their target audience more effectively, leading to increased satisfaction and potentially higher ad spend.
## **How it works**
We introduced travel targeting capabilities for sponsored listings, allowing advertisers to adjust bids based on user and search attributes.
1. **Targeting Options:** Advertisers can target users based on:
* Travel Window (start and end dates)
* Check-in Day of the Week
* Traveler Type (family, couple, solo, group)
* Length of Stay
* Site (user location)
* Vertical (hotels or packages)
* Booking In Advance (days)
2. **Bid Adjustment:** Each targeting option has a multiplier (between 1x and 5x) that adjusts the bid for matching users/searches.
3. **New Auction Endpoint:** The travel auction endpoint includes new fields (`travelStartDate`, `travelEndDate`, `travelerType`) to support targeting.
4. **Targeting Logic:** The system will apply the highest applicable multiplier if a user matches multiple targeting criteria.
5. **Partial Travel Window Match:** Bids will be boosted even if the travel window overlaps for only one day.
**This feature requires integration changes.**
### **Considerations**
1. The feature is be available only for sponsored listings.
2. The UI allows selecting multiple targeting options and multipliers.
3. Only one option per target can be sent in the auction request.
4. Partial travel window matches will activate the multiplier.
5. Manual bidding and autobidding are both be supported.
# Keyword Phrase Matching
Source: https://docs.topsort.com/en/changelog/2025-02-12-keyword-phrase-matching
Keyword phrase matching is crucial for improving campaign targeting accuracy, enhancing relevance for shoppers, and maximizing ROAS for advertisers
February 11, 2025Ad PlatformImprovement
## **Importance of Keyword Phrase Matching**
Keyword phrase matching is crucial for improving campaign targeting accuracy, enhancing relevance for shoppers, and maximizing Sales for advertisers. Until now, only exact match keyword targeting was available, which can be too restrictive, limiting reach and potentially missing valuable conversions. Phrase matching offers a more flexible and effective approach.
## **Key Benefits**
* **Increased Reach and Relevance:** Phrase matching allows advertisers to target specific keyword phrases *and* capture relevant variations. For example, an advertiser bidding on "leather boots" would also show ads for searches like "red leather boots" or "women's leather boots," expanding reach while maintaining relevance. This addresses the current limitations of exact match, where only the *exact* keyword triggers the ad.
* **Improved Targeting Accuracy:** While broader than exact match, phrase matching ensures that the target phrase is *contained* within the user's search query in the correct order, preventing ads from showing for irrelevant searches. This improves targeting accuracy and reduces wasted ad spend.
* **Enhanced Campaign Performance:** By reaching a more qualified audience, phrase matching can improve key campaign metrics like click-through rate (CTR) and conversion rate. This translates to a higher sales for advertisers and increased fill rates for marketplaces.
* **Greater Flexibility and Control:** Phrase matching gives advertisers more control over their keyword targeting. They can target specific phrases that are highly relevant to their products, while still capturing variations that might be missed with exact match.
## **How it works**
Topsort adds a new "phrase match" type for keyword targeting: [see in the docs](/en/api-reference/campaign-api/create-campaign#body-bids-triggers-value)
* Using the API, the matchType can be configured by bid
* Using the UI, this is enabled at a marketplace level, making the matchType for all keyword triggers equals to "phrase"
**Integration changes are not required.**
### **Considerations**
1. Synonyms will *not* be used in the initial implementation of phrase match.
2. Query language detection at auction time is not implemented.
# Custom Mails for Vendor Notifications
Source: https://docs.topsort.com/en/changelog/2025-02-28-custom-mails-for-vendor-notifications
Custom Mails allows marketplaces to personalize vendor email notifications, ensuring a branded and consistent communication experience
February 27, 2025Ad PlatformNew Feature
## **Importance of Custom Mails**
Custom Mails allows marketplaces to personalize vendor email notifications, ensuring a branded and consistent communication experience. Previously, all vendor emails used generic templates, which lacked marketplace-specific branding and personalization.
With this feature, marketplaces can now provide their own HTML email templates for key vendor notifications. Topsort will upload and activate these templates, ensuring that all vendor communications, such as balance warnings and invitations, align with the marketplace’s branding and tone.
## **Key Benefits**
* **Brand Identity** – Emails will now reflect the marketplace’s logo, colors, and messaging, enhancing brand recognition and trust.
* **Clearer Communication** – Customized emails allow marketplaces to adjust wording and formatting to better communicate with their vendors.
* **Seamless Vendor Experience** – By maintaining a consistent look and feel, marketplaces can create a more professional and cohesive vendor experience.
## **How It Works**
We introduced Custom Mails, allowing marketplaces to replace the default vendor notification emails with their own branded versions.
**Submit Your Custom HTML Templates**
* Marketplaces provide their own HTML email templates.
* Each template must match a specific notification type (see the use cases below).
**Emails Are Sent with Your Branding**
* Once uploaded, vendor emails will use the custom templates instead of the default ones.
* Vendors will receive fully branded email notifications that match the marketplace’s style and messaging.
## **Vendor Notification Use Cases**
The following vendor notifications can be customized with Custom Mails:
1. **Vendor Running Out of Balance:** Vendors receive a low balance warning when their balance is running low (less than 7 days remaining).
2. **Vendor is Invited:** Vendors receive an invitation to join the marketplace, either from the marketplace admin or another vendor user. Includes a registration link to set up their account.
## **Considerations**
* Custom templates must be in HTML format and follow email best practices to ensure compatibility and mobile responsiveness.
* If a marketplace does not provide a custom template, the default version will continue to be used.
* Multilingual support is not yet available for the same marketplace.
* Different vendors of the same marketplace can't have different email templates.
* Before implementing in production, the new templates will be approved in a sandbox environment.
* Placeholders for the vendor or marketplace names can be considered.
* All templates are compliant with email regulations GDPR, LGPD and CCPA.
# Frequency Cap for Banners
Source: https://docs.topsort.com/en/changelog/2025-03-13-frequency-cap-for-banners
Limit the number of times a user sees the same ad within a given timeframe
March 12, 2025Ad PlatformNew Feature
## Frequency Cap for Banner Ads
Now, users may be overexposed to the same banner ad, leading to ad fatigue, negative brand perception, and diminished returns for advertisers. A frequency cap addresses this by limiting the number of times a user sees the same ad within a given timeframe.
### Key Benefits
* **Improved User Experience**: By limiting ad repetition, we create a less intrusive and more enjoyable browsing experience for users, reducing potential negative brand associations.
* **Increased Campaign Effectiveness**: Frequency capping can improve the effectiveness of ad campaigns by preventing wasted impressions on users who have already seen the ad multiple times.
* **Optimized Ad Spend**: By reducing wasted impressions, frequency capping helps advertisers make the most of their budget, ensuring that their ads are being shown to the most valuable audience.
* **Better Inventory Management**: Frequency capping can help distribute ad impressions more evenly across the available inventory, preventing certain users from being overexposed while others see no ads at all.
## How it works
Frequency capping is implemented by allowing advertisers to set a limit on the number of times a user sees a specific ad within a specified time period (e.g. per day, per week). This can be configured at the campaign level.
* **Frequency Cap Setting**: Advertisers will be able to set the desired frequency cap within the campaign settings. They can define both the maximum number of impressions and the time window (e.g., a maximum of 3 impressions per user per day).
* **Impression Tracking**: Topsort will track the number of impressions served to each user for each campaign.
* **Ad Serving Logic**: When serving ads, the ad server will check the frequency cap settings for the relevant campaign and the number of impressions already served to the user. If the frequency cap has been reached, the ad server will not serve the ad to that user again within the specified time window.
This feature requires the retailer to send the opaqueUserId in the auction request. Also, it requires for the marketplace to persist the opaqueUserId over time.
# New Vendor Creation UI
Source: https://docs.topsort.com/en/changelog/2025-04-09-new-vendor-creation-ui
Admins can now create vendors using the UI without
April 8, 2025Ad PlatformImprovement
### Simplified Vendor Creation and Onboarding
We are introducing a new user interface that allows marketplaces to create vendors, providing full parity with our existing catalog APIs. This feature addresses customer requests for a simpler way to create first-party vendors, enabling them to run campaigns and test the platform faster.
**How It Works**
We introduced a simple form to create and bulk upload vendors. Every vendor has a name, an external ID, and an optional picture. Once a vendor is created, its ID cannot be changed.
**Bulk Upload**
A bulk upload tool is available, allowing up to 100 vendors to be created at once. If needed, a sample file can be downloaded.
# Wallets for Budget Control
Source: https://docs.topsort.com/en/changelog/2025-04-09-wallets-for-budget-control
Wallets are now supported in the UI allowing admins to create separate balances per vendor.
April 8, 2025Ad PlatformNew Feature
### Introducing Wallets for Enhanced Advertising Budget Control
Wallets give admin and vendors a better control over their advertising budgets, enabling funds to be divided into different wallets. Each campaign can only spend from its assigned wallet, but multiple campaigns can be linked to the same wallet. This prevents overspending or unintentional use of funds. Marketplace admins can configure and manage wallets for each vendor, and both can create campaigns using the available wallets.
**Key Benefits**
* **Granular Budget Control**: Wallets allow admins to create separate balances per vendor, ensuring funds are allocated appropriately for different product lines, campaigns or cost centers.
* **Improved Financial Transparency**: By providing detailed tracking of balances and transactions per wallet, admins and vendors can better monitor ad spend and optimize budget distribution.
* **Enhanced Flexibility**: With the ability to top-up and transfer balances between wallets, admins can adapt budgets based on campaign needs while maintaining strict control over fund usage.
**How It Works**
Wallets can be found on the main dashboard and within each vendor's view, in the marketplace dashboard. The wallets dialogue allows marketplace admins to create, top-up and transfer balances as needed.
**Wallet Creation & Management**
* Admins can create a wallet for a vendor
* Admins can add credit to each wallet independently.
* Admins can also transfer funds between wallets.
**Assigning Wallets to Campaigns**
* During campaign creation, vendors and admins can select a specific wallet to fund that campaign. The wallet option appears only when the advertiser has more than one wallet.
* Once a wallet is assigned to a campaign, it can't be changed to preserve budget integrity.
# Public API Improvements
Source: https://docs.topsort.com/en/changelog/2025-04-16-public-api-improvements
Add Frequency Cap to Public API and create new reporting endpoint for attributed purchases
April 15, 2025Ad ServerImprovement
## Public API Improvements
#### **Frequency Cap in API**
Frequency cap is designed for limiting the number of times a user sees the same ad. We support configuring frequency cap for banner campaigns, allowing limiting the number of impressions per user by days or weeks.
Now it's also possible to create and update the frequency cap of a campaign using our Campaign Restrictions API:
1. [Get Restriction Types](/en/api-reference/campaign-api/get-restriction-types)
* Retrieve available restrictions
2. [Add Restriction to Campaign](/en/api-reference/campaign-api/create-campaign-restriction)
* Use this endpoint to set the frequency cap limit of a campaign, considering the available restriction types (daily or weekly impressions).
3. [Update Campaign Restriction](/en/api-reference/campaign-api/update-campaign-restriction)
* Endpoint to update an existing restriction. It's possible to change the restriction limit and status (active or inactive).
4. [Get Campaign Restriction](/en/api-reference/campaign-api/get-campaign-restriction)
* Retrieve all restrictions of a campaign.
#### **Export Attributed Purchases**
You can now export campaign performance reports with attributed purchases. Our new endpoint returns detailed attribution data in parquet files. The files are available after 3am UTC and contain the attribution data for the previous day.
Check the endpoint details in our [API documentation](/en/api-reference/reporting-api/get-scored-attribution-dump-urls).
# CDP integration
Source: https://docs.topsort.com/en/changelog/2025-04-30-cdp-integration
Add CDP integration to Topsort and use your segments to target users in campaigns
April 22, 2025Ad ServerNew Feature
Topsort now supports integration with Customer Data Platforms (CDPs). This allows you to leverage your existing user segments for targeted advertising campaigns. By integrating with your CDP, you can ensure that your audience data is always up-to-date and relevant.
## Filtering and Boosting bids
Topsort now supports filtering and boosting bids based on CDP segments. This allows you to target specific user segments for your campaigns, enhancing the effectiveness of your advertising efforts.
* **Filtering**: You can filter your campaigns to only include users from specific segments. This ensures that your ads are shown to the most relevant audience.
* **Boosting**: You can boost bids for specific user segments. This allows you to increase your chances of winning the auction for users who are more likely to convert.
See how to set up your CDP segments into Topsort in the following links:
* [CDP integration knowledge base](/knowledge-base/ad-platform/campaign-targeting/segments/)
* CDP integration API documentation
* [Retrieve list of segments](/en/api-reference/segments-service/%5Bbeta%5D-retrieve-a-list-of-segments)
* [Upsert segments](/en/api-reference/segments-service/%5Bbeta%5D-upsert-segments-with-the-provided-information)
* [Delete a segment](/en/api-reference/segments-service/%5Bbeta%5D-delete-a-segment)
* [Get signed url to upload users](/en/api-reference/segments-service/%5Bbeta%5D-get-upload-users-signed-url-for-a-segment)
* [Upload users to a segment](/en/api-reference/segments-service/%5Bbeta%5D-upload-users-to-a-segment)
# Audience Filtering & Enhanced Event Data
Source: https://docs.topsort.com/en/changelog/2025-05-01-audience-filtering-trial-expiration-ai-predictions-enhanced-event-data
CDP audience segments for targeted banner ads, a sandbox trial expiration, and Events API enhancements
April 29, 2025
Ad Server
New Feature
### Segments as Filters
Topsort's platform integrates with Customer Data Platforms (CDPs), enabling advertisers to precisely target banner ad campaigns using audience segments defined within their CDP. This feature allows for sophisticated audience filtering, ensuring that ads are displayed only to users who meet specific criteria established in the CDP.
To leverage this new functionality, retailers need to connect their CDP to Topsort and upload their desired audience segments. Detailed instructions on the CDP integration process and segment uploading can be found in the Topsort knowledge base at [/en/knowledge-base/targeting/cdp-integration](/en/knowledge-base/targeting/cdp-integration/). This guide provides step-by-step instructions and best practices for a seamless integration.
The behavior of the integrated audience segments, specifically whether they are used for boosting or filtering ad visibility, is configured at the marketplace level within Topsort. While filtering allows for highly targeted campaigns, Topsort strongly advises utilizing the boosting functionality. Boosting prioritizes showing ads to users within the selected audience segments, while still allowing broader exposure to other potentially relevant users. This approach is recommended to ensure that the advertising budget is fully utilized and that ads achieve optimal visibility among the target customer base and beyond, potentially reaching new, valuable customers.
### Device Type and Channel Supported on Events
Topsort has enhanced its Events API by introducing new contextual parameters. This allows for the capture of more detailed information regarding user interactions across various touchpoints. By including parameters such as mobile and desktop device types, alongside onsite, offsite, and in-store channels, a comprehensive understanding of customer journeys is now possible. This enriched data empowers a unified attribution model, providing retailers with a holistic view of how different interaction points contribute to conversions. Consequently, Topsort can now offer omnichannel reporting capabilities through the Data Room, enabling a more thorough analysis of user behavior and the effectiveness of different channels. Retailers can leverage this granular data to gain deeper insights into where interactions occur and optimize their strategies for improved customer engagement and conversion rates across all platforms.
Find more details at [/en/api-reference/events/report-events#body-impressions-device-type](/en/api-reference/events/report-events#body-impressions-device-type)
### Trial Ending
Topsort is implementing a new trial expiration mechanism specifically designed for sandbox accounts. Upon the creation of a new sandbox account, retailers will be granted a 14-day evaluation period to thoroughly explore the platform's functionalities. During this trial, retailers can familiarize themselves with the interface, experiment with various features, and integrate with available tools. Once the 14-day trial concludes, the sandbox account will be automatically suspended. This suspension will entail the blocking of access to the account itself, rendering it unusable. Furthermore, any associated API keys generated during the trial period will be revoked, and critical features within the Topsort platform will become inaccessible.
To regain access to the platform and transition to a fully functional, paid subscription, retailers whose trial accounts have expired will need to directly contact Topsort via email or through the UI. Upon contact, the Topsort team will guide the retailer through the necessary steps to reactivate their account and establish a paid subscription. Transitioning to a paid account will restore full access to all APIs, enabling seamless integration with other systems, and unlocking all default features.
# SDKs Upgrade
Source: https://docs.topsort.com/en/changelog/2025-05-14-sdks-upgrade
Upgrades of our Low Code SDKs for iOS and Android, adding callbacks logic to the banner components.
May 13, 2025Ad ServerImprovement
We've upgraded our **Low Code SDKs for iOS and Android**, adding callbacks logic to the banner components. This improvement enhances control and flexibility over banner behavior, requiring small changes to the implementations.
**iOS (Swift)**
This new version introduces structured callbacks to TopsortBanner, such as onNoWinners, onError, onImageLoad, and buttonClickedAction, allowing better control of the behavior of the banner. The library implementation changes from:
```
TopsortBanner(apiKey:..., url:..., ...)
```
To:
```
TopsortBanner(bannerAuctionBuilder: .init(slotId: ..., deviceType: ...))
.onNoWinners { ... }
.onError { error in ... }
.onImageLoad { ... }
.buttonClickedAction { response in ... }
.frame(maxHeight: 50)
.clipped()
```
Please refer to our [Online Documentation](/en/ad-platform/sdks/ios/ "iOS SDK") for more information.
**Android (Kotlin and Java)**
The Kotlin SDK v2.0.0 now supports callbacks for TopsortBanner, including onNoWinners, onError, onImageLoad, and onButtonClicked. This improves banner interaction logic and simplifies integration within Android UI flows:
```
TopsortBanner(...)
.onNoWinners { /* handle no winner */ }
.onError { error -> /* handle error */ }
.onImageLoad { /* handle success */ }
.onButtonClicked { response -> /* handle click */ }
```
The Java SDK follows the same changes as Kotlin. Java 17 or higher is required to use this SDK version.
Please refer to our [Online Documentation](/en/ad-platform/sdks/android/ "Android SDK") for more information.
# Product Creation via UI
Source: https://docs.topsort.com/en/changelog/2025-05-28-product-creation-via-ui
Marketplace admins can now create and update products directly from the Admin Dashboard UI.
May 27, 2025Ad PlatformNew Feature
Marketplace admins can now create and update products directly from the Admin Dashboard UI. This feature is particularly useful for sandbox environments, eliminating the need for API integrations or catalog feeds for product creation.
Key Benefits
*
Easy creation and editing: Create and edit products directly in the UI, without the need of catalog feeds or API integrations.
*
Bulk upload: Upload a CSV file to bulk create and edit products.
*
Update functionality: Existing product IDs are updated with new information provided in the CSV, working together with existing API and catalog feed integrations.
How it Works
Admins can navigate to the “Products” tab within the Admin Dashboard UI to create and edit products.
Bulk upload
After uploading a CSV file (using the provided example), products are ready for use in sponsored listing campaigns.
Update functionality
The system supports upserting of categories, brands, vendors, and products, ensuring both updates to existing entries and addition of new ones.
**Compatibility with other synchronization methods**
This new UI product creation works together with existing API and catalog feed integrations. For detailed instructions and best practices about Products and Catalog, please refer to our Integration Guide.
# Vendors Metadata
Source: https://docs.topsort.com/en/changelog/2025-07-02-vendors-metadata
Vendors Metadata is a new feature that allows you to manage vendor specific attributes through metadata.
July 1, 2025Ad PlatformNew Feature
We've launched **Vendors Metadata**, a new feature that allows you to manage vendor specific attributes through metadata. This feature enables you to define and manage custom attributes for vendors, enhancing your ability to tailor data to specific needs and visibility.
## Key Benefits
**Custom Vendor Attributes**:
Define and manage vendor specific attributes through metadata
**Improved Reporting**:
Generate reports with vendor metadata for better insights
**Add categories**:
Create custom categories for vendors to view insights from each category
## How It Works
Vendors Metadata allows you to create custom metadata fields for vendors, which can be used to store additional information relevant to your business needs. This metadata can be utilized in reporting and analytics, providing deeper insights of your advertisers.
The fields can be **free text** or **dropdown selector**.
In this example, we have created the following metadata fields:
* **Tier**: A dropdown selector with options like A, B, C, D, E
* **People**: A free text field to enter the number of people in the vendor's team
* **Type**: A free text field to specify the type of vendor
Once the metadata fields are set up, you can:
1. Add vendor specific attributes to your vendors when creating one
2. Edit or remove vendor metadata as needed
3. View vendor metadata in the vendor dashboard
4. **Use these attributes in reporting and analytics:** We integrate this metadata into our dataroom reporting tools, allowing you to filter and analyze data based on vendor attributes.
# New: Exclusive Banners
Source: https://docs.topsort.com/en/changelog/21-april-5-2023
This week’s update brings the Exclusive Banners for fixed tenancy and premium offerings, and Improved Reporting for deeper insights into banner ad performance. These enhancements aim to streamline campaign creation, meet vendor demands, and provide valuable analytics for your ad business.
April 4, 2023Ad PlatformNew Feature
This week's update brings the Exclusive Banners for fixed tenancy and premium offerings, and Improved Reporting for deeper insights into banner ad performance. These enhancements aim to streamline campaign creation, meet vendor demands, and provide valuable analytics for your ad business.
# Exclusive Banners
One of the most common requests we were receiving from our partners was about the fixed tenancy. Brands and vendors like to be shown on a certain category or landing page. With our recent update, you can create exclusive banners with a click of a button. When marked as exclusive, that banner slot will only be available to the vendors you pick and others can not enter the auctions for that spot for the timeframe you set.
To make a banner exclusive, simply select Exclusive from “Bidding or Exclusive” dropdown on the last step of campaign creation and set the start and end dates of the exclusivity period.
# Improved Reporting for Banner Campaigns
Now vendors can monitor the performance of their banner ads campaigns in more detail. Once you visit the banner campaign page, you’ll see overall campaign metrics as well as the details on the campaign target. For example, if the campaign promotes products a table with promoted products will show key metrics such as impressing, CTR, Ad Spend, etc per product. You'll see metrics when you promote the vendor page or a URL/backlink. Your vendors will also be able to see the targeting details such as targeted categories or keywords.
# Campaign-level View on Analytics Tab
Topsort Analytics tab shows the overview of ad performance metrics on the marketplace and vendor-level metrics to give you insights into your ad business and help you make data-driven decisions faster.
Now, the Analytics tab has campaign-level metrics too. You can switch between vendor and campaign-level metrics on the table and monitor the metrics that matter to you the most. You can configure the campaign-level metrics table by picking the metrics to view and export the data at the click of a button.
Clicking on the campaign name takes you to the campaign details page for a deeper dive into the performance.
# New: Autobidding control
Source: https://docs.topsort.com/en/changelog/22-may-22-2023
This week, we launched a new Autobidding Control feature in the admin dashboard, providing enhanced control and insights for ad businesses. We also introduced the beta version of the Products Tab, facilitating easy access and management of product catalogs, and some improvements for campaign creation and monitoring.
May 21, 2023Ad PlatformImprovement
This week, we launched a new Autobidding Control feature in the admin dashboard, providing enhanced control and insights for ad businesses. We also introduced the beta version of the Products Tab, facilitating easy access and management of product catalogs, and some improvements for campaign creation and monitoring.
## Autobidding Control
We are thrilled to announce the launch of our new Autobidding Control feature in the Topsort admin dashboard. This powerful new tool takes Topsort's mission of helping you build, scale, and optimize your ad businesses to the next level, offering unparalleled control and insights.
Here's what you can now do with the Autobidding Control feature:
**Monitor Ad Performance:** View your ad platform’s Return on Ad Spend (ROAS), Cost per Click (CPC), and Cost per Mille (CPM) over the last 7 or 30 days, right at your fingertips. See the trends on the chart.
**Set Target ROAS:** Adjust the Target ROAS for your marketplace as per your business objectives. Simply click on the “Change” button and set your new target ROAS using the **Autobidding Password**
> 📘 Autobidding Password is different from your admin password
> 🚧 You can only make 1 change every 24 hours
You can also use the change log to track changes to Target ROAS over time to understand your performance trends and make more informed decisions.
**View Reserve Prices:** You can now see the reserve prices for sponsored listings and sponsored banners on the Autobidding Tab.
**Monitor Vendors:** Keep an eye on each vendor's ROAS, and see if they are using autobidding for their sponsored listings and/or sponsored banner campaigns.
## Products Tab (Beta)
Catalog management is a key part of running ad campaigns. Vendors and marketplaces want to be able to easily access their entire catalog. We've heard your feedback and are introducing the Product Tab that gives you a comprehensive view of your catalog.
Using the Products Tab, marketplaces and vendors can view their entire catalog, filter the product per category, and search by SKU or product name.
As a marketplace, you can also filter the products by vendors as well.
Soon, the Product Tab will have additional features product and campaign management features as well as performance monitoring.
## Switching between Sandbox and Production Environments
Now, you will be able to switch between sandbox and production environments using the switch in the manager UI. You do not need to log out and log in or use two sets of credentials, anymore.
## Improvements
* We now have a more visual and intuitive Banner Campaign creation flow
* Pagination added to the campaigns table on the admin and vendor dashboards for easier navigation.
# Improvements to API key organization
Source: https://docs.topsort.com/en/changelog/23-june-1-2023
This week, we introduced the ability for admins to add labels to API keys for improved organization and launched new metrics within the campaign view for deeper insights into campaign performance. These features aim to enhance workflow efficiency and provide valuable data for more informed decision-making.
May 31, 2023Ad ServerImprovement
This week, we introduced the ability for admins to add labels to API keys for improved organization and launched new metrics within the campaign view for deeper insights into campaign performance. These features aim to enhance workflow efficiency and provide valuable data for more informed decision-making.
## API Key Labeling for Enhanced Organization
This week, we've launched a new feature that enables admins to add labels to API keys. As the complexity of projects grows, organizing Marketplace API Keys and Central Services API keys has never been more critical. With the introduction of API key labels, you'll now be able to quickly identify and categorize keys according to your needs. For all API keys created prior to this update, we've auto-generated labels to kickstart your organization process. You can, however, customize these labels to better suit your unique workflow.

## New Metrics in Campaign View
In our continuous effort to provide valuable insights for admins and vendors, we've also added new metrics to the campaign view. Now in the campaign view, you’ll be able to see the CPC and Clicks per product.
# New: Advanced Analytics
Source: https://docs.topsort.com/en/changelog/24-july-14-2023
This week Topsort introduces Advanced Analytics, enabling users to access granular data, create custom dashboards, and make data-driven decisions. Simplified sandbox switching and a Kotlin library for easy event reporting further enhance the user experience.
July 13, 2023Ad PlatformNew Feature
This week Topsort introduces Advanced Analytics, enabling users to access granular data, create custom dashboards, and make data-driven decisions. Simplified sandbox switching and a Kotlin library for easy event reporting further enhance the user experience.
## Advanced Analytics
To provide greater access and transparency to Topsort’s data, we have created a premium feature that allows users to access more granular data directly from a Snowflake database and explore the data.
The friendly UI allows users to not only navigate the more granular data but also to create customized dashboards with various forms of data visualizations. Build custom analytics, create visualizations, and save the reports. Save time and effort while making data-driven decisions.
Offer advanced analytics to your vendors and brands for a true value proposition they can't find anywhere else.
Advanced analytics will be offered as an add-on which will only be available to customers who request this upgrade.
> 📘 This is an add-on feature. To activate Advanced Analytics get in touch with your account managers.
## Sandbox switch update
We’ve made it a priority to simplify the way marketplaces can switch from "production" to "sandbox" on the admin dashboard. You can now view the two environments by clicking on a toggle on the bottom left side of the menu and easily transition your view of live metrics and campaigns versus your test environment.
## Easier events reporting with Kotlin library
Events reporting is now simpler than ever for your Android apps. Install the recently-launched Kotlin library for reporting events, and see the real-time metrics on your dashboard. [See details here](https://github.com/Topsort/analytics.kotlin)
# New: Multi-creative banners
Source: https://docs.topsort.com/en/changelog/25-july-28-2023
This week, we unveiled a feature that allows the creation of multi-creative banner campaigns via our dashboard. We’ve improved monitoring, provided detailed campaign configurations, and targeting info for better campaign management. Plus, we’ve streamlined onboarding and added customizable time zones for a personalized user experience.
July 27, 2023Ad PlatformNew Feature
This week, we unveiled a feature that allows the creation of multi-creative banner campaigns via our dashboard. We've improved monitoring, provided detailed campaign configurations, and targeting info for better campaign management. Plus, we've streamlined onboarding and added customizable time zones for a personalized user experience.
## Banner Campaigns with Multiple Creatives
It is now possible to create a banner campaign with up to **6 creatives**. Once you upload multiple creatives, you can also target different slots for each banner all in the same campaign creation flow. This feature will speed up the banner campaign creation process and allow for greater use of the admin and vendor dashboards. Multi-creative banners were already possible via API, but this will make it even more accessible for customers using Topsort’s dashboard interface.
With these new features, we also revamped our banner campaign performance monitoring flows, to give you better visibility, insights, and control over your campaigns.
You’ll notice **labels** on the campaign details page. These labels help you see the campaign configurations (Single or multiple banners, bidding or exclusive) at a glance.
Right below the creatives, you’ll also be able to see the **targeting** (Keywords, Categories, Geolocation, etc.) details.
The **previews** of your campaign creatives (mobile and desktop) are placed on top of the banner campaign details page. Use the slider to find the banner and click on the creative. The metrics table below with targeting details will be updated to display the performance of the banner.
### Improvements
* Phone number removed from onboarding step
* You can now set the timezone for your marketplace so users can see their time zones on the campaign creation steps. Simply visit the account details to change your time zone.
# Enhancements to Autobidding Control
Source: https://docs.topsort.com/en/changelog/26-august-28th-2023
This week, we’ve enhanced the Autobidding Control for direct Target ROAS adjustments for vendors. Additionally, we’ve expanded banner attribution, refined the vendor dashboard, and standardized dashboard data to UTC time. These updates underscore our dedication to optimizing the Topsort platform experience.
August 27, 2023Ad PlatformImprovement
This week, we've enhanced the Autobidding Control for direct Target ROAS adjustments for vendors. Additionally, we've expanded banner attribution, refined the vendor dashboard, and standardized dashboard data to UTC time. These updates underscore our dedication to optimizing the Topsort platform experience.
## Set Target ROAS for Vendors via Autobidding Control
Our one-of-a-kind Autobidding Control feature in the admin dashboard provides enhanced control and insights for ad businesses. And, it just got an update that gives more granular control. What you were able to do via API, can be done at a click of a button on the Autobidding Tab.
These changes provide marketplaces with more granular control over their vendor and campaigns while maintaining the structural integrity of marketplace economics.
You will now set 3 ROAS labels that allow you to quickly change the Target ROAS on the vendor level (and soon on the campaign level). Each three primary ROAS label: “Aggressive”, “Moderate”, and “Conservative”, are linked to specific ROAS values.
Once the ROAS values are set for these labels, altering the Target ROAS at the vendor level will be possible by just changing the label. Any subsequent campaigns created by that vendor will target the ROAS set by the label (only if those campaigns don't have a specified Target ROAS.)
Please note that these values differ across marketplaces and the Topsort data-science team will help you determine the initial values and update them to drive the best economic value for the marketplace.
You can still set a Target ROAS for vendors and campaigns using API. If a campaign or vendor is set to a value outside of the predefined label mappings using the API, a "custom" label will be displayed.
## Banner Attribution
Topsort banners serve as way more than an awareness campaign tool. Our flexible targeting and destination features take banners beyond awareness and make them a valuable conversion tool. With that flexibility comes the need for attribution. We’ve listened to our partners and expanded banner attribution to allow different attribution for brands, vendors, and products. Now a product or brand promoted by different vendors will get the attribution to the campaign that further optimizes the delivery and performance.
## Downloading Brand Guidelines
As a marketplace, the banner configuration guidelines were already available to your vendors on the configurations tab. Now, your vendors can easily download and reference these guidelines to ensure their banner creatives align with your marketplace's design standards. Enhancing consistency and compliance across the platform, while streamlining adoption by the vendors.
## Sponsored Listing Campaigns Scheduling
Marketplace admins can now define start and end hours for sponsored listing campaigns, enhancing granularity and precision in campaign management. A feature already present in banner campaign creation flow is not available for sponsored listings campaigns.
## Updated Vendor Dashboard Metrics
We've refined the vendor dashboard to better showcase key metrics. The summary block now displays **Ad Revenue, Clicks, Sales, and ROAS metrics**, aligning with the trends presented in the charts. This enhancement offers vendors a more streamlined and informative view of their performance indicators.
## Unified Time Zone Update
To streamline data visualization for teams across different time zones, all dashboard data is now consistently displayed in UTC time, ensuring that regardless of location, all users view identical data.
An exception is made during campaign creation: datetime will be shown in the user's local time zone for a more intuitive campaign setup. The set time zone for your marketplace can be verified under Settings > Account Details
## Building Blocks - Modal Improvements
Our building blocks that allow marketplaces to offer the most intuitive campaign creation to their vendors just got performance and experience improvements.
# Enhancements to platform experience
Source: https://docs.topsort.com/en/changelog/27-september-18th-2023
This week, we’ve rolled out pivotal updates to enhance your ad platform experience. Now you can set Target ROAS at the campaign level directly in the admin dashboard. We also launched category-specific Reserve Prices, and advanced editing for Sponsored Listings.
September 17, 2023Ad PlatformImprovement
This week, we've rolled out pivotal updates to enhance your ad platform experience. Now you can set Target ROAS at the campaign level directly in the admin dashboard. We also launched category-specific Reserve Prices, and advanced editing for Sponsored Listings.
## Target ROAS Control at Campaign Level
In our continuous efforts to give you more control over your ad platform, we're excited to introduce a direct configuration in the UI that allows marketplaces to control the Target ROAS for a campaign. This complements the pre-existing API functionality and the Target ROAS control at the Vendor level. Now, you have the flexibility of editing the Target ROAS across the marketplace, vendors, and campaign levels.
## Advanced Editing for Sponsored Listings Campaigns
We heard your feedback and are pleased to announce enhanced editing functionality for your Sponsored Listing Campaigns. Now, after launching a campaign, you can navigate to the campaign details page and make modifications to the products within the campaign, the campaign name, budget, targeting options, and campaign duration. To get started, simply click on the “Edit Campaign Settings” button, which will guide you through the campaign creation flow.
## Reserve Prices at Category Level
Our new update empowers marketplaces with the capability to set Reserve Prices at the category level. By tailoring your reserve prices according to specific categories, you can better optimize your ad platform. To help you maximize your ad revenue, we will help you calculate the reserve bids for each category.
# New: Custom Branding for Vendor Dashboards
Source: https://docs.topsort.com/en/changelog/28-january-5th-2024
Today we are really excited to announce some new Topsort Product features. Every Product decision we take is intended to get us one step closer to our mission of democratizing advanced monetization technology through simple, easy-to-use products.
January 27, 2024Ad PlatformImprovement
Today we are really excited to announce some new Topsort Product features. Every Product decision we take is intended to get us one step closer to our mission of democratizing advanced monetization technology through simple, easy-to-use products.
With this in mind, along with a number of smaller changes to the admin and vendor dashboards (more responsive, more filters & sorting, ability to change language in Settings, and general UI improvements throughout the app), we've also just finished three epics:
## Custom Branding for vendor dashboards
Own the relationship with your sellers by whitelabelling Topsort's vendor dashboards (relevant for customers using the vendor dashboard UI for vendors, not API-only)
Your relationship with your sellers is everything. For that reason, we want you to own the whole experience. We don’t want to get in the way. We are excited to announce that you can customize the look and feel of your vendor dashboards from your admin dashboard! Choose your brand’s colors, choose your logo, and watch your vendor dashboards come to life!
We want to add more customization features in future; so watch this space!
## New Finance tab in the admin dashboard
For reconciling budget and keeping track of top-ups (for all customers).
Reconciling what happens in Topsort with your company’s financials has never been easier with the new ‘Finance’ tab.
This new page in the admin dashboard provides a transparent record of all Top-ups that have been made in your marketplace. You can see who made what Top-up, when, and download this information to match it to your systems. You can also bulk Top-up vendor accounts.\
You can find the new Finance page in the main sidebar.
## BIDLESS™ Strategies for campaign creation
When creating a campaign, advertisers can now select a ‘BIDLESS™ Strategy ’ to adjust the target ROAS for that specific campaign. There are three strategies available:
* **Aggressive:** recommended for campaigns that aim to spend as much budget as possible and for which sales are more important than return on investment.
* **Moderate:** aims for the perfect balance between spending and ROAS. Is the default recommendation and similar to the previous automatic autobidding configuration (existing configuration).
* **Conservative:** maximizes ROAS even further, placing it as the key metric over sales.
To illustrate how the BIDLESS™ Strategies feature can be used in further detail, let's say a certain campaign is performing very well in terms of ROAS and advertisers are happy with current numbers. However, they would like to further increase sales and are willing to spend more money sponsoring the products for that campaign. They might also be launching a new product and want the product to be more visible for a time.
Creating a new campaign with a more aggressive BIDLESS™ Strategy level or simply updating the current campaign Bidless Strategy configuration should support this goal, helping the advertiser find the right balance between desired ROAS and spend levels.
BIDLESS™ Strategies can be easily updated after a campaign is created, inside the edit settings on the campaign page, and will be available both for campaigns created by the marketplace in the admin dashboard and also for vendors in the vendor dashboard.
As always, please reach out to us with any questions or product feedback. Your input is extremely important to us when it comes to further building out the product; there is no idea too big or small!
# New: Sponsored Brands and Self-service Payments
Source: https://docs.topsort.com/en/changelog/29-may-1-2024
At Topsort, we’re continually innovating to enhance your experience and extend your capabilities within the digital marketplace. This month, we’re excited to introduce two powerful new features designed to streamline your operations and amplify your success: Sponsored Brands and Self-Service Payments.
March 31, 2024Ad PlatformNew Feature
At Topsort, we’re continually innovating to enhance your experience and extend your capabilities within the digital marketplace. This month, we’re excited to introduce two powerful new features designed to streamline your operations and amplify your success: **Sponsored Brands** and **Self-Service Payments**.
### 1. Enhance brand visibility and product discovery with Sponsored Brands
Exciting news from the Topsort family! We're proud to introduce **Sponsored Brands**, our latest advertising innovation designed to enhance brand visibility and product discovery like never before. This new ad format offers a unique way for your brand to shine on our platform.
**Here’s What You Can Expect with Sponsored Brands:**
* **Strategic Ad Placements**: Capture customer attention where it counts.
* **Customizable Campaigns**: Tailor your ads to fit your brand’s unique story.
* **Enhanced Shopper Engagement**: Connect with customers through an interactive ad experience.
**Ready to elevate your brand?**\
Creating your Sponsored Brands campaign is easy and efficient. Just log in to your Topsort account, set up your campaign, and watch your brand awareness grow!
Don't miss out on the opportunity to transform how customers see your products. Start your Sponsored Brands journey today and make your mark! Contact us to set up your Sponsored Brands.
### **2. Simplify Transactions with Self-Service Payments**
To further empower you and streamline your operations, we’re proud to introduce **Self-Service Payments**. This feature simplifies the financial interactions between vendors and marketplaces, enhancing autonomy and operational efficiency.
**What You Can Expect:**
* **Easy Payment Management**: Vendors can now manage payment methods and track expenditures effortlessly.
* **Automated Billing**: Reduce manual processing with automated workflows that ensure accuracy and timeliness.
* **Financial Transparency**: Customizable credit limits and comprehensive reporting provide clarity and control over your financial operations.
Self-Service Payments is designed to free up your time and resources, so you can focus more on growing your business and less on managing transactions.
### **Get Started Now**
Ready to explore these features? Log in to your account and take advantage of these new tools today. For a detailed guide on how to make the most of Halo Attribution and Self-Service Payments, visit our Help Center.
We're here to support your journey every step of the way. If you have questions or need assistance, don't hesitate to reach out to our support team.
Thank you for choosing Topsort. We’re excited to see how these new features will help propel your business to new heights!
# More improvements to banner ads
Source: https://docs.topsort.com/en/changelog/3-july-1-2022
This week, Topsort released many improvements for banner ad configurations and campaign creation. Marketplaces and advertisers can now advertise on mobile as well. We also implemented the Kafka platform to improve real-time analytics for our users and empower them to create campaigns with confidence.
June 30, 2022Ad PlatformImprovement
This week, Topsort released many improvements for banner ad configurations and campaign creation. Marketplaces and advertisers can now advertise on mobile as well. We also implemented the Kafka platform to improve real-time analytics for our users and empower them to create campaigns with confidence.
# Major Releases
## Event-Driven System that Enables Real-Time Analytics
Topsort’s system is now running on Kafka, which is an event streaming platform made to handle streaming data in high volumes, high velocity, and low latency. It’s used at Netflix, Pinterest, and Airbnb–but hardly at many legacy retail media companies.
**Real-time analytics**: We’ve implemented it into Topsort, so analytics now update in real-time every 5 seconds.
**Iterate fast on actionable insights**: Real-time reporting empowers users to quickly assess and analyze performance and issues so that marketplaces learn and iterate much faster.
## Detailed Configuration Flow for Banner Ads
In addition to homepage configurations, users can now create banner ad configurations for category and search pages.
**Category-specific banner inventory configuration**: E-commerce sites and apps may have more category pages than they want to display ads on. We’ve added functionality for advertisers to narrow down on which pages they want to advertise. By choosing to display banner ads on specific category pages, marketplaces can get specific with their advertising strategy.
**Keyword-specific searchable banner ads**: Marketplaces users can now upload a CSV file of keywords to set up exactly which keyword search result will display a banner. This is a feature we’re working on continuously. Look forward to keyword improvements to come.
**Multiple device types for banners**: Topsort now supports multiple device types for banner ads. Marketplaces and retailers can now display banner ads on both mobile and desktop seamlessly!
## Improvements to Creating Banner Ads
With the expanded functionalities on banner configuration, we made the corresponding changes in the banner creation flow.
**Additional targeting**
When you create banner ad campaigns for your category or search pages, you can specify two additional targeting parameters: categories or keywords, respectively, in addition to “location targeting”.
Specify certain categories you want your banner ad to appear on and trust that the banner ad will be entered into auctions to be displayed on only those category pages.
For search page banner ads, specify keywords in targeting. When a campaign is launched, we match your ad’s keywords to the customer’s search query and display the associated banner creative on that search page.
**Multiple device set**
Users can set the creative to appear on either mobile or desktop to match its corresponding ratios. Choosing where and when to display banner ads gives marketplaces and advertisers flexibility and ownership over their advertising strategy.
**Cropping**
Perform any last minute resizing edits with our cropping tool in the preview window.
## Campaign API - Auction Engine for Companies with Custom Built Tech Stack
Topsort now offers a standalone campaign API that is completely decoupled from our existing UI. Companies with fully custom built tech stacks can integrate with the campaign API and leverage Topsort’s cutting edge auction technology to enable marketplaces and retailers to advertise with full flexibility, at scale.
# Improvements
## Supporting CPM Pricing Model for Banner Ads
Banner ads now operate on a CPM (cost per mille) model instead of CPC (cost per click). We made the switch because CPM is a model more suited for measuring an ads exposure rather than its clicks, which is perfect for banner ad campaigns. Basically, we’ve adapted the model to suit your goals for banner ads: brand and product awareness.
## Keyword Targeted Auctions Using Search Query and Category ID
Marketplaces and retailers can now send us the search query and category ID instead of having to send all product IDs that result from a search. We will determine which products from your catalog are relevant to that reference and run the auction only with those that match those keywords. This will ensure relevance in results by making sure only related products participate in the same auction independently of your search results.
## Manager Improvements
**Vendor list improvements**
Vendor list in marketplace dashboard is now sortable by currency. The vendor list also includes a new “Days until top-up” column to give advertisers a quick look into when vendors are in need of top-ups.
Estimated number of days left of ad spend is now available on vendor accounts. Previously the dashboard showed the percentage of ad budget spent, now it shows how many days of an advertiser’s budget are left to be spent.
**Configuration improvements**
Banner ad configuration limits are removed for homepage, category pages, and search pages. Marketplaces and retailers can now set up an unlimited number of banner configurations for all dimensions and custom placements.
Ability to add dimensions manually for banner configurations: In addition to uploading a creative and selecting preset aspect ratios, users can now manually input dimensions for a creative.
# Campaign management enhancements
Source: https://docs.topsort.com/en/changelog/30-june-3-2024
At Topsort, we’re always thinking about how to make processes smoother and more efficient for our users. Whether it’s enhancing the way you manage your ad campaigns or streamlining your financial transactions, our goal is to make your experience as seamless as possible. Today, we’re excited to introduce two powerful new features designed to elevate your marketing efforts and operational efficiency: Total Budget Control and Self-Service Payments.
June 2, 2024Ad PlatformImprovement
At Topsort, we're always thinking about how to make processes smoother and more efficient for our users. Whether it's enhancing the way you manage your ad campaigns or streamlining your financial transactions, our goal is to make your experience as seamless as possible. Today, we're excited to introduce two powerful new features designed to elevate your marketing efforts and operational efficiency: Total Budget Control and Self-Service Payments.
**Total Budget Control: Maximize Your Impact**\
We are thrilled to announce a significant update that empowers you to spend your campaign budget more effectively, especially during high-demand events like Black Friday.
What's New? We’ve removed daily limits on total budgets, giving you the flexibility to use your investment when you need it most.
**Why It Matters**: This change allows you to capitalize on traffic spikes, ensuring your campaigns reach their full potential without being constrained by daily budget limits.
**Key Benefits:**
**Total Control**: Manage your budget without daily limitations.\
**Improved Efficiency**: Utilize your budget more effectively at crucial moments.\
**Immediate Impact**: Achieve fast results during peak periods.
This upgrade is designed to help you make a significant impact quickly, optimizing your ad spend for maximum effect.
# Quick reporting UI enhancements
Source: https://docs.topsort.com/en/changelog/31-july-2-2024
The Topsort Dashboard centralizes essential data in real-time, giving you everything you need in one place. We’re constantly innovating to present information more effectively, helping you make better decisions and adding value.
June 25, 2024Ad PlatformImprovement
The Topsort Dashboard centralizes essential data in real-time, giving you everything you need in one place. We're constantly innovating to present information more effectively, helping you make better decisions and adding value. With this new update:
**Quick Reporting**: Tiles for Admin and Vendors now show metric trends comparing it with previous periods.
**Clickable Tiles**: The tiles are clickable and show a sidebar with actionable details about the metric
# Enhanced Security Features
Source: https://docs.topsort.com/en/changelog/32-july-12-2024
These updates reflect our commitment to enhancing both the security features of our platform and the flexibility with which users can manage their advertising campaigns. We are continually striving to improve our platform to meet the needs of our diverse user base.
July 11, 2024Ad ServerImprovement
These updates reflect our commitment to enhancing both the security features of our platform and the flexibility with which users can manage their advertising campaigns. We are continually striving to improve our platform to meet the needs of our diverse user base.
## Enhanced API Key Security
To strengthen the security of API key management, we've implemented significant changes to how API keys are handled within the platform.
**Single Copy Feature**: API keys are now copyable only once immediately after creation. Users are advised to store their keys securely, as they will not be accessible again.
## Vendor Dashboard - Enhanced Campaign Targeting Controls
New controls have been added to allow marketplace admins to manage the targeting options available to vendors. The configuration will apply to the self-service Vendor Dashboard only, not the Marketplace Dashboard.
**Targeting Controls:**
* Admins can disable specific targeting options such as categories and keywords for Sponsored Listings.
* When both options are disabled, the targeting dropdown is automatically hidden to simplify the user interface.
## Campaign Creation with Inactive Products
This update allows users to include inactive products in their campaigns, ensuring that no potential sales opportunities are missed due to stock fluctuations.
**Campaign Inclusion:**
* Inactive products are now selectable during campaign creation and are clearly marked to indicate their status.
* Products are visually distinguished (e.g., greyed out), with a tooltip provided on hover to explain why a product is inactive.
* This feature enables users to plan more inclusive campaigns, accounting for products that may become active again.
*Inactive product won't participate in auctions until their catalog status is changed to **available**.*
# Better integration with current systems
Source: https://docs.topsort.com/en/changelog/33-october-3-2024
We've introduced three key improvements to streamline integration and data management. Campaign Change Webhook reduces API polling by notifying users of campaign updates in real-time; Campaign ID in Auction Responses allows clients to map auctions to internal campaigns for better tracking and analysis; and Product Metadata in Catalog enables custom fields for enhanced product organization and advertiser experience.
October 2, 2024Ad ServerImprovement
# Campaign Change Webhook
The campaign change webhook allows us to notify users about updates in Topsort's system, eliminating the need for constant polling. This reduces the API load by informing users with a single request when changes occur.
## Key benefits
* Synchronization: Ensures the marketplace has up-to-date information aligned with Topsort's platform, preventing unsynchronized data issues.
## How it works
This webhook triggers whenever key changes happen to campaigns in Topsort, such as:
* `campaign:create`
* `campaign:update`
* `campaign:delete`
* `bid:create`
* `bid:update`
* `bid:delete`
Each event triggers a POST JSON request to subscribed webhooks with the following a specific payload.
# Campaign ID in Auction Response
Incorporating campaign IDs in auction responses allows clients to map Topsort auctions to their internal campaigns.
## Key Benefits:
* Tracking: Clients can store auction data to perform analysis and optimizations.
* Integration: Link Topsort campaign performance to external platforms like GA4.
## How It Works:
Each winning product or banner in an auction response now includes a campaign\_id.
Example:
```json theme={null}
{
"results": [{
"resultType": "listings",
"winners": [
{
"rank": 1,
"type": "product",
"id": "771860",
"resolvedBidId": "ChAGa8u1DSh2ZYkEcUqZAQPhEhABkS1FACZ4ko2uUXufbQ6WGhAGQ57M6WZx7pskxnrwxTQeIgoKBjc3MTg2MBABMOTrAQ",
"campaign_id": "01903525-2b99-72a8-a610-380b6910885c"
}
],
"error": false
}]
}
```
# Product Metadata in the Catalog
Product metadata allows clients to attach custom information to products in their catalog, facilitating better organization and searchability.
## Key Benefits:
* Facilitated Integration: Custom fields help retailers track products and their upload time.
* Enhanced Advertiser Experience: Advertisers can easily identify which products are being promoted with additional metadata.
## How It Works:
Clients can add metadata through a JSON object during product upserts. The JSON follows these constraints:
* Must be one level deep (no sub-objects).
* Allows string, integer, and float as value types.
* Supports up to 8 key-value pairs.
* Key max length: 16 characters.
* Value max length: 32 characters.
Example:
```json theme={null}
{
"products": [{
"id": "24-MB02",
"name": "Crown Summit Backpack",
"metadata": {
"size": "L",
"color": "blue"
}
}]
}
```
# Enhanced vendor experience
Source: https://docs.topsort.com/en/changelog/34-october-3-2024
We are excited to announce several updates aimed at enhancing the vendor experience on Topsort. These improvements focus on making the onboarding process smoother, improving communication, and offering more flexibility through Single Sign-On (SSO) integration.
October 2, 2024Ad PlatformImprovement
# Vendor Onboarding
Onboarding as a vendor can be challenging without prior knowledge of how the platform works. To improve this, we've introduced an onboarding guide to help vendors understand the key features and start using the platform efficiently.
## Key benefits
* Speed: Onboarding is now faster, with less need to ask questions.
* Personalization: The onboarding process can be customized for each marketplace.
* Knowledge Base: Vendors can refer back to the guide any time they need help.
## How it works
Once logged in, vendors will see a Topsort icon in the bottom-right corner of their dashboard. Clicking this icon opens a pop-up guide that includes tutorials
The pop-up appears by default upon login and can be closed and reopened as needed. For marketplaces, this feature must be requested from Topsort to activate it for their vendors.
# Custom Invitation Email for Vendors
To build trust and transparency, marketplaces can now invite vendors through a customized email. This personalized communication helps improve engagement and ensures the email aligns with the marketplace's branding.
## Key benefits
* Trust: Maintaining marketplace branding generates trust, reducing the chances of emails being marked as spam.
* Conversion: Familiar designs encourage vendors to engage with the email.
* User Experience: Marketplaces can tailor the invitation to match their communication style.
## How it works
Marketplaces can work with their Topsort Account Manager (KAM) to customize the email design and content. Different email templates can be created for:
* Invitations from marketplaces to vendors.
* Invitations from one vendor user to another.
# Single Sign-On (SSO) Integration
Some users prefer managing their own accounts using their existing authentication systems. Topsort now supports Single Sign-On (SSO) integration, allowing users to log in using their existing marketplace or vendor platform credentials, improving user experience and security.
## Key benefits
* Improved User Experience: Users can log in with existing credentials, reducing the need to remember multiple logins.
* Enhanced Security: Centralized authentication and authorization management.
* Customization: Marketplaces can tailor the login experience to match their brand.
* Increased Productivity: Users save time by avoiding multiple logins.
* Compliance: Centralized logs of all login activities make it easier to monitor access and detect unauthorized attempts.
## How it works
As Topsort uses Auth0 as the identity provider, users can integrate their authentication system with Auth0, which supports various protocols like OIDC, SAML, and OAuth. The setup process involves providing the necessary information to Topsort for integration.
For example, in an recent integration with Magalu ID (OIDC protocol), the following information was required:
* OIDC Discovery URL
* Client ID
* Client Secret
* Authorized Callback URL
After setup, a we create a custom login page for the marketplace, allowing users to log in using their existing credentials.
Magalu example:
1. Custom login page
2. Magalu ID login
3. User redirected to the dashboard
# Improve security and support
Source: https://docs.topsort.com/en/changelog/35-october-3-2024
We are excited to announce key updates to the Topsort platform, focusing on enhanced security and an improved customer support experience. These updates are designed to give marketplace users more control over access to information and make it easier for clients to find the help they need.
October 2, 2024Ad PlatformImprovement
# Roles and Permissions
With the introduction of Sales user roles, marketplace admins now have more control over access to sensitive information. Admin users can invite Sales users who will only have access to specific vendors. These Sales users can manage campaigns, view metrics, and top up wallets for their assigned vendors, without being able to access aggregated marketplace data, manage users, or modify marketplace settings.
## Key benefits
* Privacy: Limit access to resources for different users within the platform, maintaining data security.
* Simplicity: Ensure users only see relevant views and options, creating a more streamlined experience.
## How it works
A new Sales role has been introduced for marketplace users.
In settings, Admin users can invite Sales users and assign them to specific vendors.
This sales users can:
* Manage Campaigns: Create, read, update, and delete campaigns for assigned vendors.
* Access Vendor-Specific Analytics: View dashboards and metrics for selected vendors only.
* Top Up Vendor Wallets: Manage finances for the vendors they are assigned to.
They have a limited view of the platform.
# Topsupport
Topsort has prioritized improving the customer support experience. By integrating Jira’s help center service, a knowledge base, and AI tools, we’ve built a comprehensive Topsupport help center to better serve our clients and streamline issue resolution.
With this the customer experience is enhanced, and clients can find the help they need faster and more efficiently. A well-defined help center, FAQs, and AI integrations enable faster and more effective resolution of client issues.
## How it works
You can now access the Topsupport Help Center through the following link:
[https://help.center.topsort.com/servicedesk/customer/portals](https://help.center.topsort.com/servicedesk/customer/portals)
From here, you can:
* Navigate the Knowledge Base: Browse through Topsort's knowledge base to find answers to frequently asked questions.
* Request Help: If your question isn't answered by the knowledge base, contact the customer success team for general assistance or to request a demo.
# New: Toppie
Source: https://docs.topsort.com/en/changelog/36-october-3-2024
Toppie serves as a new investment channel for agencies and brands, which enables them to reach several marketplaces from one place. We are super excited not only to help agencies and brands optimize their operations but also Topsort’s retailers by giving them the opportunity to access new demand and gain additional ad revenue.
October 2, 2024Ad PlatformNew Feature
With Toppie, agencies can now manage all of their retail media marketing efforts in one place, eliminating the need to use multiple platforms. By leveraging the Topsort Ad Network, they can expand their reach to a wider audience across multiple online marketplaces, saving time and resources.
## Benefits
* Centralized Management: Advertise products across the entire Topsort Ad Network in just a few steps.
* Efficient Campaign Management: Handle all retail media marketing campaigns from a single, user-friendly platform.
* Expanded Reach: Access Topsort's network of retailers and marketplaces to grow marketing efforts.
* Cost Savings: Reduce expenses by avoiding the complexity of managing separate platforms for each marketplace.
* Boost for Marketplaces: Marketplaces can benefit from increased ad spending by activating this feature.
## Overview
### Campaigns:
Agencies and brands can create and manage Sponsored Listing campaigns across the Topsort network of marketplaces and retailers. Campaigns can be created in just 3 simple steps:
* Select Products: Choose from the available inventory in participating marketplaces.
* Autobidding: Balance between maximizing reach and optimizing for ROAS (Return on Ad Spend).
* Set Budget: Define the budget, and the campaign is ready to launch.
### Marketplaces:
Marketplaces now have the option to enable agency and brand campaigns from their dashboard, allowing brands to advertise products on their site. This feature can be activated or deactivated at any time, giving marketplaces full control.
### Reporting
Agencies will gain access to detailed reporting on all past and ongoing campaigns, including:
* Performance Metrics: ROAS, CPC (Cost per Click), total impressions, clicks, and attributed sales at both the campaign and product level.
* Real-Time Monitoring: Track performance across all marketplaces and make adjustments as needed.
Marketplaces will also see the impact of the agencies' campaigns within their own dashboard.
# New tools to provide a seamless integration experience
Source: https://docs.topsort.com/en/changelog/37-october-4-2024
We are excited to announce several key updates aimed to improve integration processes and enhancing usability across our platform.
October 3, 2024Ad ServerImprovement
# Segment Integration
The Segment integration enables users already utilizing Twilio Segment for tracking to easily integrate Topsort events without the need for additional code. This allows for seamless event tracking and reporting, making it faster and more efficient for marketplaces to send events to Topsort.
## Key Features
* No Code Integration: Existing Segment users can integrate Topsort without writing any new code.
* Universal Compatibility: Follows Segment's e-commerce event specification for impressions, clicks, and purchases.
* Simplified Event Mapping: Pre-configured event mapping for product views, clicks, and purchases, reducing setup time.
## Usage
Add Topsort as a destination within your Segment account.
Ensure events like Product Clicked, Product Viewed, and Order Completed are mapped with the required `resolvedBidId` for proper attribution.
Track logged-in users via Segment's identify method.
See complete documentation [here](/en/ad-server/events/twilio-segment).
# New Documentation Platform
We have transitioned from README to Starlight for our documentation platform, adding Codapi for interactive code examples. This new platform reduces integration time, makes it easier for developers to follow best practices, and offers better navigation and search capabilities.
## Key Benefits
* Improved Navigation and Search: Faster, more accessible documentation.
* Interactive Code Examples: Codapi integration provides 30+ interactive code playgrounds for various programming languages.
* SEO and Internationalization: Enhanced global reach and visibility.
* Developer-Focused Design: Features like dark mode, syntax highlighting, and clear typography make the documentation more engaging.
# New and improved SDKs
Source: https://docs.topsort.com/en/changelog/38-october-4-2024
We are thrilled to introduce new SDKs and features designed to simplify and speed up the integration of Topsort for retailers and marketplaces.
October 3, 2024
Ad Server
Improvement
# Topsort.js
We are launching topsort.js, a JavaScript SDK that simplifies integration with Topsort for retailers and marketplaces using JavaScript frameworks such as Angular, React, Next, Vue, and more. It also supports e-commerce plugins like Salesforce Commerce Cloud.
You can see the [documentation here](/en/ad-platform/sdks/javascript-sdk).
## Key Benefits
* Ease of Use: No need to manually handle API interactions or errors; the SDK manages them.
* Faster Integration: Simplified processes speed up integration.
* Error Reduction: Ensures consistent and standardized API calls.
* Best Practices: Pre-built functions for common tasks reduce development time.
# Google Tag Manager Banners.js integrations
With GTM (Google Tag Manager) integration for banners.js, retailers can now implement banner ads on their websites without modifying their source code—ideal for quick Proof of Concept tests.
## Key Benefits
* No changes needed to the source code.
* Banners can be integrated directly by the ads team without developer involvement.
* Easily monitor, update, and manage banner slots via GTM.
## How It Works
* Use GTM to create new tags and embed the Topsort Marketplace API key for banners.
* Implement banners and events tracking directly via GTM without codebase changes.
# Topsort.swift
Introducing topsort.swift, an SDK tailored for iOS developers to seamlessly integrate Topsort into their apps, enhancing banner ads and sponsored listings experiences with native support for Swift.
You can see the [documentation here](/en/clients/topsort-swift/).
## Key Benefits
* Ease of Use: Simplifies API interaction and error handling.
* Offline Retry: Automatically retries failed events when offline, without extra development effort.
* Error Reduction: Consistent and best-practice API calls.
## How It Works
* Auctions: Easily execute auctions for banners and sponsored listings.
* Events: Track impressions, clicks, and purchases in your iOS apps.
* TopsortBanners Component: Provides a SwiftUI component for banner integration, tracking user interactions and reporting events with minimal configuration.
These updates significantly enhance the flexibility, speed, and ease of integrating Topsort with various platforms, helping developers and businesses optimize their auction and advertising performance across web and mobile.
# New ad formats
Source: https://docs.topsort.com/en/changelog/39-october-4-2024
We are excited to announce the launch of new ad formats on Topsort. These formats are designed to help brands and agencies create more engaging and effective advertising campaigns across the Topsort Ad Network.
October 3, 2024Ad PlatformNew Feature
# Video ads
We've introduced a new ad format: Video Ads, designed to enhance the brand and product experience for advertisers. This new format aims to boost visibility and customer engagement by allowing products to be demonstrated in action.
## Key benefits
* Demonstrates products in action
* Enhances user engagement
* Conveys brand messages effectively
* Boosts visibility and brand awareness
* Ensures feature parity
## How it works
Campaign creation mirrors banner ads: upload video, set triggers, configure campaign details.
* Videos must be 6 to 20 seconds long, MP4 or MOV format, with a max size of 200MB.
* Marketplaces send slot ID and optional details during auction requests, and receive the video URL in the response.
### Integration Options:
* Cloudflare Stream Player (simple iframe embed).
* Using your own HLS/DASH player for greater compatibility.
### Reporting:
Using banners.js, Topsort tracks video impressions and clicks within the marketplace. An impression is counted when a video is watched for at least 5 seconds. According to IAB standards, a viewable impression occurs when 50% of the ad's pixels are visible for at least 2 seconds. Marketplaces can also control how to report impressions and clicks.
# Support external links
We've enabled External Links for banner campaigns, allowing marketplace admins to use external URLs for banner assets.
## Key benefits
* Flexibility to use externally hosted assets without duplicating them.
* Seamless integration with Asset Management Systems.
* Direct use of CDN-hosted assets.
## How it works
Admins can add multiple external asset URLs during the banner campaign creation process.
Supported formats include: jpg, jpeg, png, webp, avif, apng, gif, html, mp4, and quicktime.
# Html and gif banners
We've expanded the types of files that can be used in banner campaigns to include HTML and GIF, offering greater creative personalization.
## Key Benefits
* Flexibility to support more file types, such as HTML and GIF.
* Increased opportunities for personalized ads and higher conversion rates.
## How It Works
Admins can upload multiple supported file types during the banner campaign creation process.
These updates offer more dynamic, customizable options for campaigns, allowing advertisers and admins to better engage their audience and maximize the impact of their ads.
# Marketplace UI improvements
Source: https://docs.topsort.com/en/changelog/4-july-12-2022
This week, Topsort has updated our marketplace UI to improve your user experience. We’ve added a new way to view how many members are dedicated to a vendor account on Topsort. We’ve also moved “Ad Reviews” next to “Configurations” so that marketplace representatives can manage every setting related to banner ads all in one place.
July 11, 2022Ad PlatformImprovement
This week, Topsort has updated our marketplace UI to improve your user experience. We’ve added a new way to view how many members are dedicated to a vendor account on Topsort. We’ve also moved “Ad Reviews” next to “Configurations” so that marketplace representatives can manage every setting related to banner ads all in one place.
# Improvements
## Added members card to vendor’s page
The newly added members card is located next to the “Balance Breakdown.” It clearly displays how many members have joined the Topsort platform in a space efficient way. Users can also choose to add members to the platform on this card.
## New “Manage” tab for reviewing banner ad creatives
Reviews for banner ad creatives are now located next to the configuration tab for banners. Formerly, it was labeled “Ad Reviews” and existed as a separate section on Topsort’s sidebar. By grouping “Ad Reviews” with “Configurations," users can easily navigate between managing configuration settings and creative approvals.
# Better attribution and improvements
Source: https://docs.topsort.com/en/changelog/40-october-7-2024
We are pleased to announce two new features designed to enhance user tracking and ad campaign precision. These updates will empower marketplaces and advertisers to better track user behavior, optimize ad spend, and increase campaign effectiveness.
October 6, 2024Ad ServerImprovement
# Merge OpaqueUserId
The new Merge OpaqueUserId feature allows advertisers to track user interactions across devices and sessions, even when users switch from anonymous browsing to logged-in activity. This enables more accurate multi-device and multi-channel attribution.
## Key Benefits
* Enhanced Tracking: Allows marketplaces to better understand user behavior across devices and sessions.
* Improved Attribution: Merging anonymous and logged-in sessions improves ROAS by attributing conversions more accurately.
## How It Works
Marketplaces send events with an opaqueUserId during user interactions (e.g., clicks or views). When the user logs in, a new opaqueUserId is used.
The marketplace can link the anonymous and logged-in opaqueUserIds through the Link Users API, improving attribution calculations for purchases.
API Endpoint: `POST v2/events/beta/link-users`
```json theme={null}
{
"link-users": [
{
"from": "anonymous_opaqueUserId",
"to": "loggedIn_opaqueUserId"
}
]
}
```
# Keywords per Product
The Keywords per Product feature allows marketplaces to assign automated keywords to individual products, rather than applying them across entire campaigns. This enables more targeted and relevant advertising by running
[`searchQuery` auctions](/en/api-reference/examples/sponsored-listings/search) additionally to product lists and category auctions.
## Key Benefits
* Increased Relevance: Assigning keywords at the product level ensures ads are more closely aligned with user searches.
* Enhanced Competition: Allows multiple keywords per product, increasing participation in auctions and potentially driving higher ad spend.
* Increased Reach: having a more general pool of keywords allows products to participate in more auctions where they are relevant.
## How It Works
Marketplaces allow Topsort to activate the feature Automated Keywords Per Product and have [`searchQuery` auctions](/en/api-reference/examples/sponsored-listings/search).
The feature returns a list of automatically generated keywords for each promoted product based on historical auction data.
Example:
```json theme={null}
{
"product_id": "643727999",
"product_name": "Aceite Ominatural Esencial",
"keywords": ["aceites esenciales", "aceite esencial", "aceite omninatural", "omninatural", "aceites naturales", "aceites naturales esenciales", "aceite oleo esencial", "oleo esencial"]
}
```
During campaign setup, keywords are automatically used if enabled, removing the need for manual configuration.
# Kotlin SDK 1.1.0
Source: https://docs.topsort.com/en/changelog/40-october-8-2024
We are proud to announce the release of our latest Kotlin SDK, designed to enhance developer productivity and streamline application development. This new library is now available on Maven Central, making it easier than ever for developers to integrate into their projects using Gradle.
October 7, 2024Ad ServerImprovement
# Topsort.kt
A lightweight Kotlin SDK that simplifies integration with Topsort for Android developers.
You can see the [documentation here](/clients/topsort-kt/).
## Key Benefits
* Simplified installation, just add it to your gradle build!
* Ease of Use: Simplifies API interaction and error handling.
* Error Reduction: Consistent and best-practice API calls.
## How It Works
* Auctions: Support for both sponsored listings and banner auctions.
* Events: Track impressions, clicks and purchases in your Android app, with batching and queueing for later in low-battery mode.
* BannersView component: A specialized ImageView widget for banner integration, streamlining auctioning and event reporting.
# Banner improvements
Source: https://docs.topsort.com/en/changelog/41-october-7-2024
This release introduces several new features designed to enhance flexibility, control, and effectiveness of ad campaigns for retailers and advertisers. This provide greater control over campaign performance, budget allocation, and overall user experience.
October 6, 2024Ad PlatformImprovement
# New banner configurations
Advertisers now have additional options in the Sponsored Banners campaign creation flow, allowing them to choose their preferred charge type and optimization model. Advertisers can select between CPM (Cost per Mille) and CPC (Cost per Click) for the charge type and choose optimization models based on Impressions, Clicks, or Conversions.
## Key Benefits
* Cost Effective: Enables advertisers to align campaign costs with their goals, whether for brand awareness (CPM) or user engagement (CPC).
* Optimization: Allows for performance comparisons between different campaign configurations to find the best setup for desired outcomes.
## How It Works
In the final step of the campaign creation flow, advertisers can select their preferred charge type and objective, applicable to both autobidding and manual bidding.
### Charge Type:
* CPC: Pay only when users click on ads, ideal for lead generation and conversion-focused campaigns.
* CPM: Pay per thousand impressions, suitable for campaigns aiming to maximize brand visibility.
## Objective:
* Impressions: Focus on reaching a broader audience by prioritizing ad exposure.
* Clicks: Targets ads to users more likely to interact, enhancing engagement.
* Conversions: Uses a conservative approach, increasing bids when conversion likelihood is high.
# Campaign Scheduler
The Campaign Scheduler allows advertisers to precisely control when their ads are displayed, ensuring that ad budgets are utilized during the most effective times for conversions.
## Key Benefits
* Customization: Create tailored ad schedules, enabling ads to display or adjust bids during specific days and times.
* Optimization: Helps maximize the efficiency of ad spend by targeting high-conversion periods.
## How It Works
In the campaign setup process, advertisers can select not only the start and end dates but also specific days of the week and times for ad display.
Ads will only be shown during the designated schedule, ensuring that the budget is focused on the most productive time slots.
# Banner fallbacks
To prevent displaying empty banners when no active campaigns are available, the Banner Fallback feature allows marketplaces to set a default ad to be shown in these situations. This ensures continuous ad display and can be used for internal promotions.
## Key Benefits
* Internal Marketing: Retailers can use fallback banners for promoting internal campaigns or first-party (1P) products.
* Reporting: Enables comparison between the performance of fallback ads and active campaigns, including metrics like impressions, clicks, and CTR.
## How It Works
For each banner slot dimension, marketplaces can configure a default creative with an external asset and destination URL.
This fallback ad is displayed when no campaign wins the auction for that slot, without requiring changes to existing integrations.
# Better reporting
Source: https://docs.topsort.com/en/changelog/42-october-7-2024
We have introduced several updates to improve visibility, reporting, and analysis for both marketplaces and vendors. These updates enable better analysis, campaign optimization, and more accurate reporting.
October 6, 2024Ad PlatformImprovement
# Auctions won
A new "Auctions Won" metric is now available on the Banner Ads Campaign Detail page in both the Vendor Dashboard and the Admin Dashboard. This metric tracks the number of times a campaign was selected as a winner in an auction call, providing additional insight into the ad funnel.
## Key benefits
* Analysis: Offers a new data point to analyze why certain products or creatives are winning auctions but not being seen.
* Optimization: Helps identify areas where adjustments are needed to ensure that ads are not just winning but also being rendered and viewed by users.
# New metrics for vendors
New metrics have been added to the Vendors app, providing enhanced visibility into campaign performance and key performance indicators (KPIs). This includes detailed breakdowns and new metrics such as Auctions Won, Budget Consumed, and Items Sold.
## Key Benefits
* Detailed Analysis: Offers more granular breakdowns of metrics, including hourly data when viewing timeframes of 7 days or less, helping vendors spot daily performance peaks.
* Enhanced Visibility: Allows vendors to track key metrics, improving campaign monitoring and decision-making.
## New Metrics Available
* Auctions Won by Banner Campaign: Available in the Banners Campaign detail view, helping distinguish between auctions won and actual impressions.
* Budget Consumed + % of Daily Budget Consumed: Shows how much of the campaign's budget has been spent and the percentage of daily budget consumption, available in campaign views and tables.
* Number + Value of Items Sold: Displays the direct and indirect sales attributed to the campaign in Sponsored Listing details.
* ACOS alongside ROAS: Hover over ROAS to view the ACOS (Advertising Cost of Sale), with updates included in data exports.
# Halo attribution
The Halo Attribution feature has been introduced to provide a more comprehensive view of the Return on Ad Spend (ROAS). This feature extends attribution beyond direct product sales, considering indirect sales from the same vendor.
## Key Benefits
* More Realistic ROAS: Provides a more accurate calculation of the campaign's value by attributing sales to a vendor's ads, even when the purchased item is not the directly advertised product.
* Improved Comparability: Aligns ROAS reporting with industry standards, offering a clearer view of Topsort's value relative to other ad platforms.
# Vendor onboarding improvements
Source: https://docs.topsort.com/en/changelog/5-july-21-2022
Topsort has updated the vendor experience in two ways. First, a vendor’s first-time sign-up process now includes more fields for the user to specify their preferences and business roles. Secondly, the vendor dashboard now has a budget timer.
July 20, 2022Ad PlatformImprovement
Topsort has updated the vendor experience in two ways. First, a vendor’s first-time sign-up process now includes more fields for the user to specify their preferences and business roles. Secondly, the vendor dashboard now has a budget timer.
# Release Notes
## Vendor onboarding updates
Topsort has modified the vendor sign-up process to tailor experiences for users in the future. Vendor representatives invited to join Topsort’s self-service dashboard are now required to input their advertising preferences, experience level with advertising, and their role in the company. This information will be used in future developments to create customized experiences for advertisers on our platform.
## Budget Timer
Topsort has also added a timer to the vendor’s “Billing” dashboard to show how many days are left until the vendor’s budget runs out.
# New: API Logs for developers
Source: https://docs.topsort.com/en/changelog/6-july-26-2022
This week, the Topsort team releases the API Logs module for developers to troubleshoot issues quicker than ever before. This first launch in developer tools aims to bring transparency and clarity into the API integrations process for marketplace engineering teams. 🧑🔧
July 25, 2022Ad ServerImprovement
This week, the Topsort team releases the **API Logs** module for developers to troubleshoot issues quicker than ever before. This first launch in developer tools aims to bring transparency and clarity into the API integrations process for marketplace engineering teams. 🧑🔧
# Release Notes
## API Logs
The API Logs show users all the REST API request methods (GET, POST, PUSH, PATCH, and DELETE) and their corresponding response or status code (200, 400, etc.) made **within the last 2 weeks.**
**Filter through requests by date, status, HTTP method, and API endpoint**. Switch through the “Succeeded” and “Failed” tabs to look through requests with the same status.
Clicking on any one method to display detailed information about the request and response in the side view:
* HTTP method and URL
* Status
* Time
* Source
* Request query parameters
# Improvement
## Self-Service Dashboard Updates
Topsort has updated our self-service dashboard for vendors. We’ve reformatted the metrics and campaign overview elements to fit all on one screen without needing to scroll. Located on the bottom is a quick link to the Topsort Help Center as well.
# New: Billing API
Source: https://docs.topsort.com/en/changelog/7-aug-9-2022
Recently, Topsort has released the new Billing API that makes billing operations easier and more transparent for marketplaces and vendors. Marketplaces can now use the Billing API to check a vendor’s balance, their credit history, issue free credits, and manage credit limits. API Logs also got a revamp!
August 8, 2022Ad ServerNew Feature
Recently, Topsort has released the new **Billing API** that makes billing operations easier and more transparent for marketplaces and vendors. Marketplaces can now use the Billing API to check a vendor’s balance, their credit history, issue free credits, and manage credit limits. **API Logs** also got a revamp!
# Release Notes
## Billing API
With the call of an API you can **check your vendors current balance, their billing and credit history, and issue free credit for your vendors**! You can also **manage credit limits for your marketplace and vendors**. Here’s a rundown of the new functionalities:
* Manage credit limits for marketplaces and vendors
* Check a vendor’s current balance
* Check a vendor’s account activity
* Check a vendor’s credit history
* Add to a vendor’s current balance
Billing operations are now easier for all users. Formerly, vendors would have to top-up first before creating campaigns. Now, vendors can create campaigns and spend on ads in advance because credit limits set new thresholds for vendors and marketplaces.
# Improvements
## API Logs
We’ve improved the UI of API Logs to focus on just the essentials: **errors and summaries of API calls**. Troubleshoot even quicker with improved readability.
High-level summaries about API requests made, successful calls, and failed calls are displayed on the top in 3 cards.
* The “API request” card summarizes how many of each method was made that day.
* The “Successful calls” and “Failed calls” cards total the amount of successful and failed calls made that day respectively.
Each card displays the trend over time. And we still only record calls within the last 2 weeks.
Underneath the cards, we only show you errors so you don’t have to scroll through a large volume of requests.
Troubleshoot by viewing side-by-side information on the request, HTTP method, time it was made, source, and request query parameters. All information is ordered by date (shows 7 days by default) and you can view more requests by adjusting the date range.
# New: Topsort status updates
Source: https://docs.topsort.com/en/changelog/8-aug-16-2022
This week, we set up Topsort Status Updates for all our users. Be in the loop about any downtimes and incidents with our platform using the status page. 🚧🛠
August 15, 2022Ad PlatformImprovement
This week, we set up [Topsort Status Updates](https://topsort.statuspage.io/) for all our users. Be in the loop about any downtimes and incidents with our platform using the status page. 🚧🛠
# Release Notes
## Topsort Status Updates
We now have a status page for all our applications. Statuspage, [Topsort Status Updates](https://topsort.statuspage.io/) is the home for real-time and historical data on our system performance.
Users can check this page to stay informed about incidents and monitor the status of Topsort’s systems immediately in real-time. They can also refer to a history of past incidents and uptime regarding our APIs and third-party systems.
Any incidents will be manually reported via [Statuspage](https://manage.statuspage.io/pages/z92cdy5xzqk9/incidents). Going forward, Topsort’s engineering team will use it to communicate with our customers clearly about any outages. In the future, we’ll hook up a Slack integration to allow incident reporting to be even easier and faster.
# New: Ad reviews UI
Source: https://docs.topsort.com/en/changelog/9-aug-31-2022
Welcome back to another product update! We’ve improved the ad reviews interface and user flows, so that marketplace users can easily review banner ad campaign requests at scale. Our new “manage” tab organizes the requests by status: pending approval, approved, rejected, and rejected with feedback.
August 30, 2022Ad PlatformImprovement
Welcome back to another product update! We've **improved the ad reviews interface and user flows**, so that marketplace users can easily review banner ad campaign requests at scale. Our new "manage" tab organizes the requests by status: pending approval, approved, rejected, and rejected with feedback.
# New Releases
## The new "manage" tab for ad reviews
### What is ad reviews used for?
After a vendor creates a banner ad campaign and submits it for marketplace approval, the marketplace can either approve or reject their submission before it goes live or becomes eligible for ad auctions.
### Improvements
Ad reviews used to exist as its own category on the sidebar. We've moved ad reviews into a **"manage" tab right next to the "configurations" module**. Now you can manage everything banner ad-related in one place.
The "manage" tab **organizes all requests by status**, so that users can quickly see which vendors require approval for their banner ads and which are in the process of revision. This readability improvement will hopefully streamline your banner ad campaign management processes to be even faster.
Navigating the new tab requires an understanding of the different status types. Here are the status labels explained:
| Status | Definition |
| :----------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Waiting for approval | The request is pending the marketplace’s review and approval. |
| Approved | The marketplace has approved the campaign and the campaign is now live. |
| Rejected | The marketplace has rejected the campaign. The vendor can fix the campaign and resubmit it for approval. |
| Rejected • waiting for updates | The marketplace has rejected the campaign and sent feedback to the vendor to make corrections. The vendor can fix the campaign based on the feedback and resubmit it for approval. |
Lastly, here are some other new features on this page.
* You can click on a campaign's creative or its "See details" button after it is approved to view its "Campaign Details" page.
* The pop-up window for inputting feedback now gives you default multiple choice options as well as a text field for you to write specific suggestions for a vendor to fix their campaign before resubmission.
Check out our [knowledge base article](/en/knowledge-base/ad-platform/banners/campaign-approval) if you have more questions about reviewing ads on this new "manage" tab.