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

# Audiences per Vendor

> Restrict audience segment visibility and activation to specific vendors

export const LastUpdated = ({date, lang = "en"}) => {
  const translations = {
    en: "Last updated:",
    es: "Última actualización:",
    pt: "Última atualização:",
    fr: "Dernière mise à jour:",
    de: "Zuletzt aktualisiert:"
  };
  const label = translations[lang] || translations.en;
  return <>
<style>{`
.last-updated-component {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 10px 16px;
border-radius: 8px;
margin-top: 12px;
margin-bottom: 16px;
font-size: 14px;
background-color: rgba(0, 0, 0, 0.05);
border: 1px solid rgba(0, 0, 0, 0.12);
color: rgba(0, 0, 0, 0.75);
line-height: 1;
}

        .last-updated-component svg {
          flex-shrink: 0;
          vertical-align: middle;
        }

        .last-updated-component span {
          display: inline-flex !important;
          align-items: center !important;
          line-height: 1 !important;
        }

        [data-theme="dark"] .last-updated-component {
          background-color: #3a3a3a;
          border: 2px solid #888888;
          color: #ffffff;
        }

        [data-theme="dark"] .last-updated-component svg {
          stroke: #ffffff;
        }
      `}</style>
      <div className="last-updated-component">
        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
          <circle cx="12" cy="12" r="10" />
          <polyline points="12 6 12 12 16 14" />
        </svg>
        <span>
          <strong style={{
    fontWeight: 600
  }}>{label}</strong> 
          <time dateTime={date}>{date}</time>
        </span>
      </div>
    </>;
};

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  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.
</div>

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

## Segment Scoping

Segment scope is determined by vendor associations:

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  * **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
</div>

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:

<div style={{ textAlign: "justify", marginBottom: "1.5rem" }}>
  * 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
</div>

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

***

<LastUpdated date="2026-03-06" />
