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

# Negative/Excluding Audiences API

> Maximize campaign ROI by excluding users who don't match your targeting criteria

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">October 28, 2025</Badge>
  <Badge color="purple" size="sm" icon="server">Ad Server</Badge>
  <Badge color="green" size="sm" icon="sparkles">New Feature</Badge>
</div>

<Note>
  **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.
</Note>

<Frame>
  <img src="https://mintcdn.com/topsort/M3N4mDiL0uw6VdTk/images/changelog/negative-audiences-exclusionfilters-2.webp?fit=max&auto=format&n=M3N4mDiL0uw6VdTk&q=85&s=b9b33650ec1e1e892f017dfe39ca73db" alt="Exclusion filters" width="1302" height="1135" data-path="images/changelog/negative-audiences-exclusionfilters-2.webp" />
</Frame>

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

export const exampleCode = `curl --request POST \\
  --url https://api.topsort.com/public/v1/campaigns \\
  --header 'Authorization: Bearer <token>' \\
  --header 'Content-Type: application/json' \\
  --data '{
    "name": "Summer Sale Campaign",
    "budget": 1000,
    "exclusionFilters": {
      "exclusionFilters": [
        {
          "segmentId": 1,
          "type": "user_segment"
        }
      ],
      "isActive": true
    }
  }'`;

export const fileName = "Create Campaign with Exclusions";

<Code code={exampleCode} lang="bash" title={fileName} />

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.

<ChangelogActions />
