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

# Launch video campaigns across premium TV inventory

> Reach viewers across CTV, streaming, and digital through the familiar Topsort Offsite flow.

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">September 11, 2026</Badge>
  <Badge color="blue" size="sm" icon="rectangle-ad">Ad Platform</Badge>
  <Badge color="green" size="sm" icon="sparkles">New Feature</Badge>
</div>

## What's New

Topsort now supports **Universal Ads** as an Offsite channel. Vendors can launch video campaigns across CTV, streaming, and digital inventory using the same familiar Topsort experience as other Offsite campaigns.

Universal Ads provides access to premium inventory across publishers and platforms including NBCUniversal, Paramount, Warner Bros. Discovery, FOX, Roku, Samsung, and DIRECTV. In the United States, campaigns can reach up to 90% of households.

## Create a Universal Ads campaign

Advertisers select **Video** when creating an Offsite campaign, choose **Universal Ads** as the channel, upload a video up to 60 seconds long, and configure details such as the budget and bidding strategy.

Universal Ads campaigns are asset-based rather than product-based, so no catalog sync is required. Because television ads cannot be clicked, CTV performance is measured using view-through attribution.

## Get started

A marketplace can use Topsort’s Universal Ads account or grant Topsort access to its own account. Contact your Topsort Account Manager to enable Universal Ads.

For more information, see [Campaign Creation and Reporting](/en/knowledge-base/offsite-and-instore/offsite/campaign-creation).

<ChangelogActions />
