> ## Documentation Index
> Fetch the complete documentation index at: https://docs.topsort.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Listings—Category Reserve Prices for Manual Bidding

> Manual bidding validation now includes category-level reserve prices alongside marketplace minimums

export const ChangelogActions = () => {
  return <>
      <style>{`
        .changelog-actions {
          display: flex;
          justify-content: center;
          gap: 12px;
          margin-top: 2rem;
          padding-top: 1.5rem;
          border-top: 1px solid #e5e7eb;
        }
        
        [data-theme="dark"] .changelog-actions {
          border-top-color: #374151;
        }
        
        .changelog-btn {
          display: inline-flex;
          align-items: center;
          gap: 6px;
          padding: 8px 16px;
          border-radius: 9999px;
          border: 1px solid #d1d5db;
          background: transparent;
          color: #6b7280;
          font-size: 14px;
          cursor: pointer;
          transition: all 0.2s ease;
        }
        
        .changelog-btn:hover {
          border-color: #9ca3af;
          background: #f9fafb;
        }
        
        [data-theme="dark"] .changelog-btn {
          border-color: #4b5563;
          color: #9ca3af;
        }
        
        [data-theme="dark"] .changelog-btn:hover {
          border-color: #6b7280;
          background: #1f2937;
        }
      `}</style>
      <div className="changelog-actions">
        <button className="changelog-btn" onClick={() => {
    const btn = event.target.closest("button");
    btn.innerHTML = "❤️ Like";
    btn.style.borderColor = "#ec4899";
  }}>
          🤍 Like
        </button>
        <button className="changelog-btn" onClick={() => {
    const btn = event.target.closest("button");
    navigator.clipboard.writeText(window.location.href);
    const originalContent = btn.innerHTML;
    btn.innerHTML = "✓ Copied";
    btn.style.borderColor = "#22c55e";
    btn.style.color = "#22c55e";
    setTimeout(() => {
      btn.innerHTML = originalContent;
      btn.style.borderColor = "";
      btn.style.color = "";
    }, 2000);
  }}>
          ↗ Share
        </button>
      </div>
    </>;
};

<div style={{ display: "flex", gap: "8px", flexWrap: "wrap", marginBottom: "16px" }}>
  <Badge color="gray" size="sm" icon="calendar">August 4, 2025</Badge>
  <Badge color="blue" size="sm" icon="rectangle-ad">Ad Platform</Badge>
  <Badge color="orange" size="sm" icon="arrow-up">Improvement</Badge>
</div>

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.

<Frame>
  <img src="https://mintcdn.com/topsort/M3N4mDiL0uw6VdTk/images/changelog/listings-reserve-price-manual-bid.webp?fit=max&auto=format&n=M3N4mDiL0uw6VdTk&q=85&s=520b3bd4c9c233ebc737af42c19d1752" alt="Screenshot of reserve prices for listings." width="1303" height="455" data-path="images/changelog/listings-reserve-price-manual-bid.webp" />
</Frame>

## 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.

<ChangelogActions />
