<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Blog</title>
    <link>https://connectad.io/blog</link>
    <description>Discover the latest trends in programmatic advertising for 2025 and learn why ConnectAd, with its Green Line product and strong European focus, is becoming a must-have partner in your ad stack—rivaling giants like PubMatic, Magnite, and Index Exchange.</description>
    <language>en</language>
    <pubDate>Tue, 18 Aug 2026 20:20:20 GMT</pubDate>
    <dc:date>2026-08-18T20:20:20Z</dc:date>
    <dc:language>en</dc:language>
    <item>
      <title>Real SSP or Reseller? 10 Checks Any Publisher Can Run Themselves</title>
      <link>https://connectad.io/blog/real-ssp-or-reseller-10-checks-any-publisher-can-run-themselves</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/real-ssp-or-reseller-10-checks-any-publisher-can-run-themselves" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/146351148/blog-bilder/real-ssp-or-reseller-hero-ink.jpg" alt="Real SSP or Reseller? Supply path transparency: single-node direct path vs. reseller chain with extra hops" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;div class="ca-article"&gt; 
 &lt;p&gt;In Q1 2026, Pixalate measured that &lt;strong&gt;20.8% of all authorized web inventory globally was resold rather than sold publisher-direct&lt;/strong&gt;. On mobile app it was 16.2%, on CTV 4.1%. Nearly one in five of the SSPs Pixalate ranks operate as primary arbitrageurs in at least one country.&lt;/p&gt; 
 &lt;p&gt;That matters to you in three concrete ways. Every extra hop takes a cut before the money reaches you. Every extra hop adds latency and a duplicate bid request, which degrades your auction rather than deepening it. And when something goes wrong — a brand-safety incident, a discrepancy, a payment delay — you are two companies removed from anyone who can fix it.&lt;/p&gt; 
 &lt;p&gt;The problem is that a reseller's website looks exactly like an exchange's website. So don't read the website. Run these ten checks instead. Most of them take under two minutes, none require a login, and none require the vendor to tell you anything.&lt;/p&gt; 
 &lt;h2&gt;Part 1 — Who they are&lt;/h2&gt; 
 &lt;p class="section-lede"&gt;Four independent registries and datasets that a company cannot self-declare into.&lt;/p&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;01.&lt;/span&gt; Are they on Google's DV360 exchange list?&lt;/h3&gt; 
 &lt;p&gt;Display &amp;amp; Video 360 is the single largest source of open-market demand for most European publishers. Google publishes the complete list of exchanges buyable in DV360 — currently &lt;strong&gt;90 entries&lt;/strong&gt; — and maintains it directly.&lt;/p&gt; 
 &lt;p&gt;Some rows carry a &lt;code&gt;(via BidSwitch)&lt;/code&gt; suffix. &lt;strong&gt;Both routes count.&lt;/strong&gt; A BidSwitch-intermediated integration is still reviewed, approved and enabled by Google on a per-exchange basis, and it appears in the same buyer-facing exchange picker as a direct integration. The meaningful distinction is not direct versus BidSwitch — it is &lt;em&gt;being on the list at all&lt;/em&gt;.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;Where to look:&lt;/strong&gt; &lt;a href="https://support.google.com/displayvideo/table/3267029"&gt;support.google.com/displayvideo/table/3267029&lt;/a&gt; — public, no login. Search for the company name.&lt;/p&gt; 
 &lt;div class="verdicts"&gt; 
  &lt;div class="v v-good"&gt; 
   &lt;b&gt;Real SSP&lt;/b&gt;A row with their own name on it, whether or not it says "via BidSwitch". 
  &lt;/div&gt; 
  &lt;div class="v v-bad"&gt; 
   &lt;b&gt;Wanna-be&lt;/b&gt;Not on the list — but the deck promises DV360 demand. That demand is reaching them through somebody else's seat. 
  &lt;/div&gt; 
 &lt;/div&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;02.&lt;/span&gt; Do they have their own TCF Global Vendor List registration?&lt;/h3&gt; 
 &lt;p&gt;If a company sells European inventory, it needs a GVL ID. Without one, no TCF consent management platform can signal consent for it, which means an EU publisher cannot lawfully pass a consent string to it at all. Registration requires a signed participation agreement with IAB Europe, an annual fee, and public declaration of legal bases, purposes, retention periods and a device-storage disclosure URL.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;Where to look:&lt;/strong&gt; &lt;a href="https://vendor-list.consensu.org/v3/vendor-list.json"&gt;vendor-list.consensu.org/v3/vendor-list.json&lt;/a&gt; (1,202 vendors as of list version 172). Search the JSON for their company name and check the &lt;code&gt;id&lt;/code&gt;.&lt;/p&gt; 
 &lt;p&gt;Two things to verify beyond mere presence. First, the ID must belong to &lt;em&gt;them&lt;/em&gt; — a Prebid adapter can declare any GVL ID that exists, and Prebid only validates that the number is real, not that it is theirs. Compare the vendor name in the list with the company you are talking to. Second, GVL IDs are issued sequentially: a two- or three-digit ID means registration in the 2018 TCF launch era; a four-digit ID means they registered recently.&lt;/p&gt; 
 &lt;div class="verdicts"&gt; 
  &lt;div class="v v-good"&gt; 
   &lt;b&gt;Real SSP&lt;/b&gt;Own GVL entry under their own legal entity, no 
   &lt;code&gt;deletedDate&lt;/code&gt;, and a working 
   &lt;code&gt;deviceStorageDisclosureUrl&lt;/code&gt;. 
  &lt;/div&gt; 
  &lt;div class="v v-bad"&gt; 
   &lt;b&gt;Wanna-be&lt;/b&gt;No GVL ID while selling EU traffic — or an adapter carrying a GVL ID registered to a different company. 
  &lt;/div&gt; 
 &lt;/div&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;03.&lt;/span&gt; Does their TAG ID in your ads.txt actually resolve?&lt;/h3&gt; 
 &lt;p&gt;Field #4 of an ads.txt record is the certification authority ID — in practice, the vendor's TAG ID. Most publishers paste it in without ever checking it. It is trivially verifiable, and a fabricated ID is detectable in one request.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;Where to look:&lt;/strong&gt; take the ID from the ads.txt line they asked you to add (or from the &lt;code&gt;identifiers[]&lt;/code&gt; block of their sellers.json) and enter it at &lt;a href="https://www.tagtoday.net/registry-search"&gt;tagtoday.net/registry-search&lt;/a&gt;. The search accepts the raw TAG ID and resolves to the company record.&lt;/p&gt; 
 &lt;p&gt;Being found in the registry is the bar. It means TAG has independently verified that this company is a real, identified legal entity — the "Verified by TAG" programme. Additional audited seals (Certified Against Fraud, Certified Against Malvertising, Brand Safety Certified) exist and are a genuine plus, but they are a separate, higher tier and their absence tells you nothing about whether the company is an exchange or a reseller.&lt;/p&gt; 
 &lt;div class="verdicts"&gt; 
  &lt;div class="v v-good"&gt; 
   &lt;b&gt;Real SSP&lt;/b&gt;The ID resolves, and the name on the record matches the company on your contract. 
  &lt;/div&gt; 
  &lt;div class="v v-bad"&gt; 
   &lt;b&gt;Wanna-be&lt;/b&gt;No TAG ID at all, an ID that returns nothing, or an ID that resolves to a different company than the one invoicing you. 
  &lt;/div&gt; 
 &lt;/div&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;04.&lt;/span&gt; What does Pixalate's Seller Trust Index say about their arbitrage ratio?&lt;/h3&gt; 
 &lt;p&gt;This is the closest thing the industry has to an objective answer, and it is free. Pixalate's &lt;strong&gt;Seller Trust Index 2.0&lt;/strong&gt; is a quarterly, per-country, per-SSP ranking whose explicit headline framing is arbitrage versus publisher-direct. It parses ads.txt and app-ads.txt for &lt;em&gt;claimed&lt;/em&gt; DIRECT relationships and cross-checks them against SupplyChain Object analysis of actual measured impression flow — so it validates the claim against observed transactions rather than trusting the file.&lt;/p&gt; 
 &lt;p&gt;The ranking combines three components: the &lt;strong&gt;arbitraged inventory ratio&lt;/strong&gt; (share of impressions with no authorized direct path), &lt;strong&gt;direct impression volume&lt;/strong&gt;, and &lt;strong&gt;DIRECT publisher penetration&lt;/strong&gt; (how many publishers actually declare the seller DIRECT). A seller is classed as primarily a reseller when more than half of its measured impressions lack an authorized direct path.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;Where to look:&lt;/strong&gt; &lt;a href="https://ratings.pixalate.com/rankings/domain/seller-trust-index"&gt;ratings.pixalate.com/rankings/domain/seller-trust-index&lt;/a&gt; (web), plus &lt;a href="https://ratings.pixalate.com/rankings/app/seller-trust-index"&gt;/app/&lt;/a&gt; and &lt;a href="https://ratings.pixalate.com/rankings/ctv/seller-trust-index"&gt;/ctv/&lt;/a&gt;. Filter to your market. The two most recent quarters show the actual numeric ratios without registration.&lt;/p&gt; 
 &lt;div class="verdicts"&gt; 
  &lt;div class="v v-good"&gt; 
   &lt;b&gt;Real SSP&lt;/b&gt;Ranked in your market with a low single-digit or sub-1% arbitrage ratio and thousands of DIRECT publishers. 
  &lt;/div&gt; 
  &lt;div class="v v-bad"&gt; 
   &lt;b&gt;Wanna-be&lt;/b&gt;Double-digit or majority arbitrage ratio — or absent from the index entirely in the market they are selling you. 
  &lt;/div&gt; 
 &lt;/div&gt; 
 &lt;div class="callout warn"&gt;
   One caveat, in fairness: Pixalate's MRC accreditation covers impression counting, viewability and invalid-traffic detection. It does 
  &lt;em&gt;not&lt;/em&gt; extend to the arbitrage methodology, which is proprietary. Treat the index as strong independent evidence, not as an audited certificate. 
 &lt;/div&gt; 
 &lt;h2&gt;Part 2 — What they actually built&lt;/h2&gt; 
 &lt;p class="section-lede"&gt;Four checks against open-source code that nobody can edit to flatter themselves.&lt;/p&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;05.&lt;/span&gt; Is their Prebid.js adapter a real adapter — or an alias?&lt;/h3&gt; 
 &lt;p&gt;A Prebid alias is a pure rename. It inherits the parent's &lt;code&gt;buildRequests&lt;/code&gt;, its &lt;code&gt;interpretResponse&lt;/code&gt;, its user syncs, and it posts to the parent's endpoint. Only the string changes. Of &lt;strong&gt;771 bidder codes in Prebid.js, 271 are aliases&lt;/strong&gt; — roughly 35%. Several parents carry 15 to 35 differently-branded children each.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;Quick check:&lt;/strong&gt; &lt;a href="https://docs.prebid.org/dev-docs/bidder-data.csv"&gt;docs.prebid.org/dev-docs/bidder-data.csv&lt;/a&gt;, column &lt;code&gt;aliasOf&lt;/code&gt;. Be aware it is incomplete — it captures about 169 of the 271.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;Authoritative check:&lt;/strong&gt; &lt;a href="https://raw.githubusercontent.com/prebid/Prebid.js/master/metadata/modules.json"&gt;&lt;code&gt;metadata/modules.json&lt;/code&gt;&lt;/a&gt;, generated automatically from the running build:&lt;/p&gt; 
 &lt;pre&gt;&lt;code&gt;curl -s https://raw.githubusercontent.com/prebid/Prebid.js/master/metadata/modules.json \
 | jq -r '.components[] | select(.componentType=="bidder" and .aliasOf!=null)
          | "\(.componentName) -&amp;gt; \(.aliasOf)"'&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;&lt;strong&gt;Live check:&lt;/strong&gt; open any page running their adapter and type &lt;code&gt;pbjs.aliasRegistry&lt;/code&gt; in the console, or compare &lt;code&gt;bid.bidderCode&lt;/code&gt; with &lt;code&gt;bid.adapterCode&lt;/code&gt; in &lt;code&gt;pbjs.getBidResponses()&lt;/code&gt;.&lt;/p&gt; 
 &lt;div class="callout"&gt; 
  &lt;strong&gt;Important: the documentation page will not tell you.&lt;/strong&gt; The rendered bidder page at 
  &lt;code&gt;docs.prebid.org/dev-docs/bidders/&amp;lt;code&amp;gt;.html&lt;/code&gt; does not display the 
  &lt;code&gt;aliasCode&lt;/code&gt; field, even when it is present in the source. Read the raw 
  &lt;code&gt;.md&lt;/code&gt; or the CSV. 
 &lt;/div&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;06.&lt;/span&gt; Is there any actual code in it?&lt;/h3&gt; 
 &lt;p&gt;Even without a formal alias declaration, file size gives it away. Serious exchanges run to several hundred or a few thousand lines: their adapters carry their own bid construction, their own ORTB mapping, their own user-sync logic, their own viewability and renderer handling. White-label derivatives are typically &lt;strong&gt;17 to 20 lines&lt;/strong&gt; and import every meaningful function from a shared vendor library.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;Where to look:&lt;/strong&gt; &lt;code&gt;github.com/prebid/Prebid.js/blob/master/modules/&amp;lt;name&amp;gt;BidAdapter.js&lt;/code&gt; (try &lt;code&gt;.ts&lt;/code&gt; too). Then check the imports.&lt;/p&gt; 
 &lt;ul&gt; 
  &lt;li&gt;Imports from &lt;code&gt;libraries/ortbConverter&lt;/code&gt;, &lt;code&gt;libraries/urlUtils&lt;/code&gt; or similar are &lt;strong&gt;Prebid core utilities&lt;/strong&gt; available to everyone. Neutral to positive.&lt;/li&gt; 
  &lt;li&gt;An import of an entire &lt;code&gt;libraries/&amp;lt;someVendor&amp;gt;Utils/bidderUtils.js&lt;/code&gt; that supplies &lt;code&gt;buildRequests&lt;/code&gt;, &lt;code&gt;isBidRequestValid&lt;/code&gt; and &lt;code&gt;interpretResponse&lt;/code&gt; wholesale means the adapter is a thin shell over another company's stack. The largest such library in the repo is shared by &lt;strong&gt;43 differently-named "SSPs"&lt;/strong&gt;.&lt;/li&gt; 
  &lt;li&gt;Missing &lt;code&gt;gvlid&lt;/code&gt;, missing &lt;code&gt;getUserSyncs&lt;/code&gt;, no &lt;code&gt;onBidWon&lt;/code&gt;/&lt;code&gt;onTimeout&lt;/code&gt; handling — all signs of a shell.&lt;/li&gt; 
 &lt;/ul&gt; 
 &lt;div class="verdicts"&gt; 
  &lt;div class="v v-good"&gt; 
   &lt;b&gt;Real SSP&lt;/b&gt;Hundreds of lines, own 
   &lt;code&gt;gvlid&lt;/code&gt;, own sync endpoints, own request logic. 
  &lt;/div&gt; 
  &lt;div class="v v-bad"&gt; 
   &lt;b&gt;Wanna-be&lt;/b&gt;Under 60 lines, all logic imported from another vendor's library, no GVL ID, maintainer contact on a free mail domain. 
  &lt;/div&gt; 
 &lt;/div&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;07.&lt;/span&gt; Do they have a native Prebid Server adapter?&lt;/h3&gt; 
 &lt;p&gt;Server-side is even more explicit, because Prebid encodes the answer in a config field. &lt;strong&gt;110 of 379&lt;/strong&gt; bidder configurations in prebid-server are pure alias files. Some are one line long:&lt;/p&gt; 
 &lt;pre&gt;&lt;code&gt;# static/bidder-info/&amp;lt;name&amp;gt;.yaml — entire file contents
aliasOf: "someOtherCompany"&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;&lt;strong&gt;Where to look:&lt;/strong&gt; &lt;a href="https://github.com/prebid/prebid-server/tree/master/static/bidder-info"&gt;prebid-server/static/bidder-info/&amp;lt;code&amp;gt;.yaml&lt;/a&gt; and the Java equivalent in &lt;a href="https://github.com/prebid/prebid-server-java/tree/master/src/main/resources/bidder-config"&gt;prebid-server-java/bidder-config/&lt;/a&gt;. Check for:&lt;/p&gt; 
 &lt;ul&gt; 
  &lt;li&gt;&lt;code&gt;aliasOf:&lt;/code&gt; — present means it is not their adapter.&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;whiteLabelOnly: true&lt;/code&gt; — Prebid's own flag for white-label platforms.&lt;/li&gt; 
  &lt;li&gt;A missing &lt;code&gt;endpoint:&lt;/code&gt; — the bidder silently inherits the parent's.&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;maintainer.email&lt;/code&gt; — this leaks the real operator even where &lt;code&gt;aliasOf&lt;/code&gt; is absent.&lt;/li&gt; 
  &lt;li&gt;In the Java config, &lt;code&gt;vendor-id: 0&lt;/code&gt; means no own GVL registration.&lt;/li&gt; 
 &lt;/ul&gt; 
 &lt;p&gt;You can also query any live Prebid Server host directly:&lt;/p&gt; 
 &lt;pre&gt;&lt;code&gt;curl -s https://&amp;lt;pbs-host&amp;gt;/info/bidders/&amp;lt;biddercode&amp;gt;
# returns {"maintainer":{"email":"..."},"aliasOf":"..."} when it is an alias&lt;/code&gt;&lt;/pre&gt; 
 &lt;div class="callout warn"&gt; 
  &lt;strong&gt;An absent &lt;code&gt;aliasOf&lt;/code&gt; is not an acquittal.&lt;/strong&gt; There are adapters in prebid-server that are byte-identical copies of another company's adapter, modulo the name, and declare no alias relationship at all. That is what checks 06 and 08 are for. 
 &lt;/div&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;08.&lt;/span&gt; Whose infrastructure does the bid request actually reach?&lt;/h3&gt; 
 &lt;p&gt;The check that no amount of positioning survives. Take the endpoint hostname out of their adapter and resolve it.&lt;/p&gt; 
 &lt;pre&gt;&lt;code&gt;python3 -c "import socket; print(socket.gethostbyname_ex('&amp;lt;their-endpoint-host&amp;gt;'))"
curl -s -H 'Accept: application/json' https://rdap.arin.net/registry/ip/&amp;lt;ip&amp;gt; \
 | jq '{handle, name, startAddress, endAddress}'&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;What you are looking for is co-location. In one documented white-label cluster, &lt;strong&gt;18 separately branded "SSPs" share a single /21&lt;/strong&gt;; a second netblock holds 12 more, including the platform vendor's own demo host. When a dozen independent exchanges live in the same eight-thousand-address block, they are one platform wearing a dozen name tags.&lt;/p&gt; 
 &lt;p&gt;Two supporting tells: CNAMEs frequently name the parent outright, and entire alias families point at a single parent domain (&lt;code&gt;&amp;lt;brand-a&amp;gt;.parent.com&lt;/code&gt;, &lt;code&gt;&amp;lt;brand-b&amp;gt;.parent.com&lt;/code&gt;, and so on).&lt;/p&gt; 
 &lt;p&gt;One fair caveat: a CDN or reverse proxy in front of the endpoint hides the origin, and that is normal infrastructure practice rather than evidence of anything. Where you can see the origin, check who owns it.&lt;/p&gt; 
 &lt;h2&gt;Part 3 — How they actually sell&lt;/h2&gt; 
 &lt;p class="section-lede"&gt;The two checks that describe the commercial reality, not the technical one.&lt;/p&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;09.&lt;/span&gt; Are there DIRECT lines — and real publishers in their sellers.json?&lt;/h3&gt; 
 &lt;p&gt;The IAB spec is unusually precise here. &lt;code&gt;PUBLISHER&lt;/code&gt; means the inventory belongs to the named entity &lt;em&gt;and the advertising system pays them directly&lt;/em&gt;. &lt;code&gt;INTERMEDIARY&lt;/code&gt; means it does not, &lt;em&gt;or&lt;/em&gt; they are not paid directly. In ads.txt, &lt;code&gt;DIRECT&lt;/code&gt; means the publisher controls that account through a direct business contract; &lt;code&gt;RESELLER&lt;/code&gt; means someone else does.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;The decisive test:&lt;/strong&gt; crawl the ads.txt of 20 to 50 publishers the company names as references and count the lines carrying their domain with &lt;code&gt;DIRECT&lt;/code&gt;. A company with &lt;em&gt;zero&lt;/em&gt; DIRECT lines across its entire claimed portfolio has no direct publisher contracts at all, whatever it calls itself.&lt;/p&gt; 
 &lt;p&gt;Then fetch &lt;code&gt;https://&amp;lt;their-domain&amp;gt;/sellers.json&lt;/code&gt; and check:&lt;/p&gt; 
 &lt;ul&gt; 
  &lt;li&gt;The &lt;strong&gt;absolute number&lt;/strong&gt; of &lt;code&gt;PUBLISHER&lt;/code&gt; entries — not the ratio. A legitimate exchange can show a high intermediary share for structural reasons; what it cannot fake is thousands of direct publisher relationships.&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;contact_email&lt;/code&gt;, &lt;code&gt;contact_address&lt;/code&gt; and an &lt;code&gt;identifiers[]&lt;/code&gt; block with a TAG ID. Their absence is a hygiene signal.&lt;/li&gt; 
  &lt;li&gt;A very high &lt;code&gt;is_confidential: 1&lt;/code&gt; share on a small file, which means the actual sources are being hidden.&lt;/li&gt; 
  &lt;li&gt;&lt;strong&gt;Spot-check the graph.&lt;/strong&gt; Pick a handful of &lt;code&gt;seller_id&lt;/code&gt;s that are marked &lt;code&gt;PUBLISHER&lt;/code&gt; and open the ads.txt of the publisher named in the entry. The seller ID from the sellers.json record must appear in that publisher’s ads.txt, on a line carrying the vendor’s domain — ideally as &lt;code&gt;DIRECT&lt;/code&gt;. If the ID is missing on the publisher side, or only appears as &lt;code&gt;RESELLER&lt;/code&gt; for a different domain, the sellers.json entry describes a relationship that the publisher does not confirm. A few samples that don’t reconcile tell you how much the rest of the file is worth.&lt;/li&gt; 
 &lt;/ul&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;10.&lt;/span&gt; In the supply chain object, are they node 1?&lt;/h3&gt; 
 &lt;p&gt;Save the best for last, because this one cannot be spun without breaking the standard. The &lt;a href="https://github.com/InteractiveAdvertisingBureau/openrtb/blob/master/supplychainobject.md"&gt;SupplyChain Object&lt;/a&gt; is ordered, and &lt;strong&gt;node 1 is the entity with the direct relationship to the inventory owner&lt;/strong&gt;. Everything after it is a hop.&lt;/p&gt; 
 &lt;div class="verdicts"&gt; 
  &lt;div class="v v-good"&gt; 
   &lt;b&gt;Real SSP&lt;/b&gt; 
   &lt;code&gt;nodes.length == 1&lt;/code&gt;, 
   &lt;code&gt;complete: 1&lt;/code&gt;, 
   &lt;code&gt;asi&lt;/code&gt; is their own domain and 
   &lt;code&gt;sid&lt;/code&gt; is your seller ID. One hop, one margin. 
  &lt;/div&gt; 
  &lt;div class="v v-bad"&gt; 
   &lt;b&gt;Wanna-be&lt;/b&gt;Always node 2 or later. They are never node 1 because they never buy from you directly — they buy from whoever is. 
  &lt;/div&gt; 
 &lt;/div&gt; 
 &lt;p&gt;&lt;strong&gt;How to verify:&lt;/strong&gt; ask a buyer you trust what arrives in &lt;code&gt;source.schain&lt;/code&gt; (OpenRTB 2.6) or &lt;code&gt;source.ext.schain&lt;/code&gt; (2.5) on your inventory. Then, for every node, confirm that &lt;code&gt;https://&amp;lt;asi&amp;gt;/sellers.json&lt;/code&gt; contains that &lt;code&gt;sid&lt;/code&gt;, and that its &lt;code&gt;seller_type&lt;/code&gt; matches its position: node 1 should be &lt;code&gt;PUBLISHER&lt;/code&gt; or &lt;code&gt;BOTH&lt;/code&gt;, later nodes &lt;code&gt;INTERMEDIARY&lt;/code&gt;.&lt;/p&gt; 
 &lt;p&gt;A chronic &lt;code&gt;complete: 0&lt;/code&gt; is its own answer. It is a formal admission that the chain is not declared all the way back to the inventory owner — that the company either cannot or will not name its own upstream.&lt;/p&gt; 
 &lt;h2&gt;Red flags at a glance&lt;/h2&gt; 
 &lt;ul class="flags"&gt; 
  &lt;li&gt;They ask you to set &lt;code&gt;allowAlternateBidderCodes: true&lt;/code&gt;. Translation: "we will return bids seated as other companies."&lt;/li&gt; 
  &lt;li&gt;Their Prebid adapter has no &lt;code&gt;gvlid&lt;/code&gt;, but they are selling you European traffic.&lt;/li&gt; 
  &lt;li&gt;The Prebid maintainer contact is a free mail address rather than a company domain.&lt;/li&gt; 
  &lt;li&gt;"We're connected to 40+ DSPs" — but they are not on the DV360 exchange list and not in the Seller Trust Index for your market.&lt;/li&gt; 
  &lt;li&gt;Asked what schain they append, you get a vague answer — or a chronic &lt;code&gt;complete: 0&lt;/code&gt;.&lt;/li&gt; 
  &lt;li&gt;They cite "Google Authorized Buyer" as proof of SSP status. That is the &lt;em&gt;buy&lt;/em&gt; side. It says they purchase inventory, not that they sell yours.&lt;/li&gt; 
  &lt;li&gt;They cite “Google &lt;a href="https://www.google.com/ads/publisher/partners/"&gt;Certified Publishing Partner&lt;/a&gt;” as proof of SSP status. That badge means the partner’s people are “trained experts on Google Ad Manager, Google AdSense, and/or Google AdMob” — a services and consulting credential. It does not make them an SSP, an exchange, or an accredited buyer or seller of anything.&lt;/li&gt; 
 &lt;/ul&gt; 
 &lt;h2&gt;The twenty-minute version&lt;/h2&gt; 
 &lt;ol class="steps"&gt; 
  &lt;li&gt;Search their name in the &lt;a href="https://support.google.com/displayvideo/table/3267029"&gt;DV360 exchange table&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;Search their name in the &lt;a href="https://vendor-list.consensu.org/v3/vendor-list.json"&gt;TCF Global Vendor List&lt;/a&gt; and check the ID belongs to them.&lt;/li&gt; 
  &lt;li&gt;Put their TAG ID into the &lt;a href="https://www.tagtoday.net/registry-search"&gt;TAG registry search&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;Look them up in the &lt;a href="https://ratings.pixalate.com/rankings/domain/seller-trust-index"&gt;Pixalate Seller Trust Index&lt;/a&gt; for your market.&lt;/li&gt; 
  &lt;li&gt;Grep &lt;a href="https://docs.prebid.org/dev-docs/bidder-data.csv"&gt;bidder-data.csv&lt;/a&gt; for their bidder code, then confirm against &lt;code&gt;metadata/modules.json&lt;/code&gt;.&lt;/li&gt; 
  &lt;li&gt;Open their adapter file. Count the lines. Read the imports.&lt;/li&gt; 
  &lt;li&gt;Fetch their &lt;code&gt;static/bidder-info/&amp;lt;code&amp;gt;.yaml&lt;/code&gt; from prebid-server.&lt;/li&gt; 
  &lt;li&gt;Resolve their bid endpoint and RDAP the IP.&lt;/li&gt; 
  &lt;li&gt;Fetch their &lt;code&gt;sellers.json&lt;/code&gt;. Count &lt;code&gt;PUBLISHER&lt;/code&gt; entries.&lt;/li&gt; 
  &lt;li&gt;Crawl the ads.txt of 20 publishers they name. Count &lt;code&gt;DIRECT&lt;/code&gt; lines.&lt;/li&gt; 
 &lt;/ol&gt; 
 &lt;p&gt;No single check settles it. But a company that fails checks 01, 05, 09 and 10 together is not an SSP, regardless of what the homepage says. And a company that passes all ten belongs to a group you can count on two hands.&lt;/p&gt; 
 &lt;div class="selfaudit"&gt; 
  &lt;h2&gt;We ran the checklist on ourselves&lt;/h2&gt; 
  &lt;p&gt;Publishing a test you have not taken is cheap. Here is ConnectAd against all ten, with the evidence public and linked so you can repeat every line of it.&lt;/p&gt; 
  &lt;table&gt; 
   &lt;thead&gt; 
    &lt;tr&gt; 
     &lt;th style="width:38px"&gt;#&lt;/th&gt; 
     &lt;th&gt;Check&lt;/th&gt; 
     &lt;th&gt;Evidence&lt;/th&gt; 
     &lt;th style="width:60px"&gt;Result&lt;/th&gt; 
    &lt;/tr&gt; 
   &lt;/thead&gt; 
   &lt;tbody&gt; 
    &lt;tr&gt; 
     &lt;td&gt;01&lt;/td&gt; 
     &lt;td&gt;DV360 exchange list&lt;/td&gt; 
     &lt;td&gt;Listed as &lt;em&gt;ConnectAd (via BidSwitch)&lt;/em&gt; in Google's &lt;a href="https://support.google.com/displayvideo/table/3267029"&gt;supported exchange partners&lt;/a&gt; table&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;02&lt;/td&gt; 
     &lt;td&gt;TCF Global Vendor List&lt;/td&gt; 
     &lt;td&gt;&lt;strong&gt;GVL ID 138&lt;/strong&gt;, ConnectAd Demand GmbH — a three-digit ID from the original 2018 registration wave. Sole matching entry, no &lt;code&gt;deletedDate&lt;/code&gt;, device-storage disclosure live at &lt;code&gt;cdn.connectad.io&lt;/code&gt;&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;03&lt;/td&gt; 
     &lt;td&gt;TAG ID resolves&lt;/td&gt; 
     &lt;td&gt;&lt;code&gt;85ac85a30c93b3e5&lt;/code&gt; — declared in our sellers.json, carried in field #4 of our publishers' ads.txt lines, and resolving in the &lt;a href="https://www.tagtoday.net/registry-search"&gt;TAG registry&lt;/a&gt;&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;04&lt;/td&gt; 
     &lt;td&gt;Pixalate arbitrage ratio&lt;/td&gt; 
     &lt;td&gt;Web Seller Trust Index 2.0, Q2 2026 — &lt;strong&gt;Germany: rank 12 of 92, arbitrage ratio 0.066%&lt;/strong&gt;, 3,526 DIRECT publishers. &lt;strong&gt;US: rank 30 of 143, 0.115%&lt;/strong&gt;, 11,794 DIRECT publishers. Both figures are an order of magnitude below the global 20.8% average&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;05&lt;/td&gt; 
     &lt;td&gt;Not a Prebid alias&lt;/td&gt; 
     &lt;td&gt;&lt;code&gt;metadata/modules.json&lt;/code&gt; shows &lt;code&gt;connectad&lt;/code&gt; with &lt;code&gt;"aliasOf": null&lt;/code&gt; and its own &lt;code&gt;gvlid: 138&lt;/code&gt;. We are a &lt;em&gt;parent&lt;/em&gt;: &lt;code&gt;connectadrealtime&lt;/code&gt; is our alias, not the other way round&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;06&lt;/td&gt; 
     &lt;td&gt;Own adapter code&lt;/td&gt; 
     &lt;td&gt;&lt;a href="https://github.com/prebid/Prebid.js/blob/master/modules/connectadBidAdapter.js"&gt;&lt;code&gt;connectadBidAdapter.js&lt;/code&gt;&lt;/a&gt; — 323 lines, own &lt;code&gt;gvlid&lt;/code&gt;, own &lt;code&gt;getUserSyncs&lt;/code&gt;, own outstream renderer, own viewability handling. Imports only Prebid core libraries; no vendor &lt;code&gt;Utils&lt;/code&gt; library&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;07&lt;/td&gt; 
     &lt;td&gt;Native Prebid Server adapter&lt;/td&gt; 
     &lt;td&gt;Native Go adapter (&lt;code&gt;adapters/connectad/&lt;/code&gt;) &lt;em&gt;and&lt;/em&gt; native Java adapter (&lt;code&gt;ConnectAdBidder.java&lt;/code&gt;). No &lt;code&gt;aliasOf&lt;/code&gt;, no &lt;code&gt;whiteLabelOnly&lt;/code&gt;, own &lt;code&gt;gvlVendorID: 138&lt;/code&gt;, own cookie family, maintainer &lt;code&gt;support@connectad.io&lt;/code&gt;&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;08&lt;/td&gt; 
     &lt;td&gt;Own infrastructure&lt;/td&gt; 
     &lt;td&gt;Bid, sync and CDN endpoints all on &lt;code&gt;connectad.io&lt;/code&gt; (&lt;code&gt;i.&lt;/code&gt;, &lt;code&gt;bidder.&lt;/code&gt;, &lt;code&gt;sync.&lt;/code&gt;, &lt;code&gt;cdn.&lt;/code&gt;). Our APAC endpoint resolves into a network block assigned to ConnectAd directly — not shared white-label space&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;09&lt;/td&gt; 
     &lt;td&gt;DIRECT lines &amp;amp; sellers.json&lt;/td&gt; 
     &lt;td&gt;518 sellers, &lt;strong&gt;241 typed &lt;code&gt;PUBLISHER&lt;/code&gt;&lt;/strong&gt;, zero confidential entries, full contact details. &lt;code&gt;DIRECT&lt;/code&gt; lines under &lt;code&gt;connectad.io&lt;/code&gt; in the live ads.txt of kleinanzeigen.de, 20min.ch, flightradar24.com, blick.ch, wp.pl, wetteronline.de, vecernji.hr and others&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;10&lt;/td&gt; 
     &lt;td&gt;schain node 1&lt;/td&gt; 
     &lt;td&gt;On directly contracted supply we append exactly one node — &lt;code&gt;asi: connectad.io&lt;/code&gt;, your seller ID, &lt;code&gt;complete: 1&lt;/code&gt;. Ask any buyer to confirm it from their bid stream; that is the point of the check&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
   &lt;/tbody&gt; 
  &lt;/table&gt; 
  &lt;p style="margin-bottom:0"&gt;Two things we will not overstate. Our TAG record shows Verified by TAG, the identity tier — we hold no additional audited seals today. And our DV360 row reads "via BidSwitch", a Google-approved integration route rather than a bilateral one. Both are accurate, both are visible to anyone who looks, and we would rather you read them here than discover them later.&lt;/p&gt; 
 &lt;/div&gt; 
 &lt;div class="cta"&gt; 
  &lt;p&gt;&lt;strong&gt;Run the checklist on whoever you are talking to. Then run it on us.&lt;/strong&gt;&lt;/p&gt; 
  &lt;p style="color:var(--muted);font-size:15.5px"&gt;If anything in our answers above doesn’t check out, tell us. If it all does, let’s talk about your inventory.&lt;/p&gt; 
  &lt;a class="btn" href="https://connectad.io/contact"&gt;Talk to ConnectAd&lt;/a&gt; 
 &lt;/div&gt;  
 &lt;p&gt;&lt;strong&gt;Sources.&lt;/strong&gt; Google DV360 supported exchange partners (support.google.com/displayvideo/table/3267029) · IAB Europe TCF Global Vendor List v3 (vendor-list.consensu.org) · TAG registry search (tagtoday.net/registry-search) · Pixalate Seller Trust Index 2.0, web/app/CTV, Q1 and Q2 2026 (ratings.pixalate.com) and methodology (pixalate.com/knowledgebase/rankings) · Prebid.js &lt;code&gt;metadata/modules.json&lt;/code&gt;, &lt;code&gt;modules/&lt;/code&gt; and &lt;code&gt;libraries/&lt;/code&gt; · prebid-server &lt;code&gt;static/bidder-info/&lt;/code&gt; and prebid-server-java &lt;code&gt;bidder-config/&lt;/code&gt; · docs.prebid.org bidder data · IAB Tech Lab sellers.json v1.0 and ads.txt v1.1 · IAB Tech Lab SupplyChain Object specification.&lt;/p&gt; 
 &lt;p&gt;All figures verified live in August 2026. Repositories, registries and rankings change over time; the methods stay valid, the numbers are a snapshot. Nothing here is a claim about any specific company other than ConnectAd.&lt;/p&gt;  
&lt;/div&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/real-ssp-or-reseller-10-checks-any-publisher-can-run-themselves" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/146351148/blog-bilder/real-ssp-or-reseller-hero-ink.jpg" alt="Real SSP or Reseller? Supply path transparency: single-node direct path vs. reseller chain with extra hops" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;div class="ca-article"&gt; 
 &lt;p&gt;In Q1 2026, Pixalate measured that &lt;strong&gt;20.8% of all authorized web inventory globally was resold rather than sold publisher-direct&lt;/strong&gt;. On mobile app it was 16.2%, on CTV 4.1%. Nearly one in five of the SSPs Pixalate ranks operate as primary arbitrageurs in at least one country.&lt;/p&gt; 
 &lt;p&gt;That matters to you in three concrete ways. Every extra hop takes a cut before the money reaches you. Every extra hop adds latency and a duplicate bid request, which degrades your auction rather than deepening it. And when something goes wrong — a brand-safety incident, a discrepancy, a payment delay — you are two companies removed from anyone who can fix it.&lt;/p&gt; 
 &lt;p&gt;The problem is that a reseller's website looks exactly like an exchange's website. So don't read the website. Run these ten checks instead. Most of them take under two minutes, none require a login, and none require the vendor to tell you anything.&lt;/p&gt; 
 &lt;h2&gt;Part 1 — Who they are&lt;/h2&gt; 
 &lt;p class="section-lede"&gt;Four independent registries and datasets that a company cannot self-declare into.&lt;/p&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;01.&lt;/span&gt; Are they on Google's DV360 exchange list?&lt;/h3&gt; 
 &lt;p&gt;Display &amp;amp; Video 360 is the single largest source of open-market demand for most European publishers. Google publishes the complete list of exchanges buyable in DV360 — currently &lt;strong&gt;90 entries&lt;/strong&gt; — and maintains it directly.&lt;/p&gt; 
 &lt;p&gt;Some rows carry a &lt;code&gt;(via BidSwitch)&lt;/code&gt; suffix. &lt;strong&gt;Both routes count.&lt;/strong&gt; A BidSwitch-intermediated integration is still reviewed, approved and enabled by Google on a per-exchange basis, and it appears in the same buyer-facing exchange picker as a direct integration. The meaningful distinction is not direct versus BidSwitch — it is &lt;em&gt;being on the list at all&lt;/em&gt;.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;Where to look:&lt;/strong&gt; &lt;a href="https://support.google.com/displayvideo/table/3267029"&gt;support.google.com/displayvideo/table/3267029&lt;/a&gt; — public, no login. Search for the company name.&lt;/p&gt; 
 &lt;div class="verdicts"&gt; 
  &lt;div class="v v-good"&gt; 
   &lt;b&gt;Real SSP&lt;/b&gt;A row with their own name on it, whether or not it says "via BidSwitch". 
  &lt;/div&gt; 
  &lt;div class="v v-bad"&gt; 
   &lt;b&gt;Wanna-be&lt;/b&gt;Not on the list — but the deck promises DV360 demand. That demand is reaching them through somebody else's seat. 
  &lt;/div&gt; 
 &lt;/div&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;02.&lt;/span&gt; Do they have their own TCF Global Vendor List registration?&lt;/h3&gt; 
 &lt;p&gt;If a company sells European inventory, it needs a GVL ID. Without one, no TCF consent management platform can signal consent for it, which means an EU publisher cannot lawfully pass a consent string to it at all. Registration requires a signed participation agreement with IAB Europe, an annual fee, and public declaration of legal bases, purposes, retention periods and a device-storage disclosure URL.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;Where to look:&lt;/strong&gt; &lt;a href="https://vendor-list.consensu.org/v3/vendor-list.json"&gt;vendor-list.consensu.org/v3/vendor-list.json&lt;/a&gt; (1,202 vendors as of list version 172). Search the JSON for their company name and check the &lt;code&gt;id&lt;/code&gt;.&lt;/p&gt; 
 &lt;p&gt;Two things to verify beyond mere presence. First, the ID must belong to &lt;em&gt;them&lt;/em&gt; — a Prebid adapter can declare any GVL ID that exists, and Prebid only validates that the number is real, not that it is theirs. Compare the vendor name in the list with the company you are talking to. Second, GVL IDs are issued sequentially: a two- or three-digit ID means registration in the 2018 TCF launch era; a four-digit ID means they registered recently.&lt;/p&gt; 
 &lt;div class="verdicts"&gt; 
  &lt;div class="v v-good"&gt; 
   &lt;b&gt;Real SSP&lt;/b&gt;Own GVL entry under their own legal entity, no 
   &lt;code&gt;deletedDate&lt;/code&gt;, and a working 
   &lt;code&gt;deviceStorageDisclosureUrl&lt;/code&gt;. 
  &lt;/div&gt; 
  &lt;div class="v v-bad"&gt; 
   &lt;b&gt;Wanna-be&lt;/b&gt;No GVL ID while selling EU traffic — or an adapter carrying a GVL ID registered to a different company. 
  &lt;/div&gt; 
 &lt;/div&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;03.&lt;/span&gt; Does their TAG ID in your ads.txt actually resolve?&lt;/h3&gt; 
 &lt;p&gt;Field #4 of an ads.txt record is the certification authority ID — in practice, the vendor's TAG ID. Most publishers paste it in without ever checking it. It is trivially verifiable, and a fabricated ID is detectable in one request.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;Where to look:&lt;/strong&gt; take the ID from the ads.txt line they asked you to add (or from the &lt;code&gt;identifiers[]&lt;/code&gt; block of their sellers.json) and enter it at &lt;a href="https://www.tagtoday.net/registry-search"&gt;tagtoday.net/registry-search&lt;/a&gt;. The search accepts the raw TAG ID and resolves to the company record.&lt;/p&gt; 
 &lt;p&gt;Being found in the registry is the bar. It means TAG has independently verified that this company is a real, identified legal entity — the "Verified by TAG" programme. Additional audited seals (Certified Against Fraud, Certified Against Malvertising, Brand Safety Certified) exist and are a genuine plus, but they are a separate, higher tier and their absence tells you nothing about whether the company is an exchange or a reseller.&lt;/p&gt; 
 &lt;div class="verdicts"&gt; 
  &lt;div class="v v-good"&gt; 
   &lt;b&gt;Real SSP&lt;/b&gt;The ID resolves, and the name on the record matches the company on your contract. 
  &lt;/div&gt; 
  &lt;div class="v v-bad"&gt; 
   &lt;b&gt;Wanna-be&lt;/b&gt;No TAG ID at all, an ID that returns nothing, or an ID that resolves to a different company than the one invoicing you. 
  &lt;/div&gt; 
 &lt;/div&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;04.&lt;/span&gt; What does Pixalate's Seller Trust Index say about their arbitrage ratio?&lt;/h3&gt; 
 &lt;p&gt;This is the closest thing the industry has to an objective answer, and it is free. Pixalate's &lt;strong&gt;Seller Trust Index 2.0&lt;/strong&gt; is a quarterly, per-country, per-SSP ranking whose explicit headline framing is arbitrage versus publisher-direct. It parses ads.txt and app-ads.txt for &lt;em&gt;claimed&lt;/em&gt; DIRECT relationships and cross-checks them against SupplyChain Object analysis of actual measured impression flow — so it validates the claim against observed transactions rather than trusting the file.&lt;/p&gt; 
 &lt;p&gt;The ranking combines three components: the &lt;strong&gt;arbitraged inventory ratio&lt;/strong&gt; (share of impressions with no authorized direct path), &lt;strong&gt;direct impression volume&lt;/strong&gt;, and &lt;strong&gt;DIRECT publisher penetration&lt;/strong&gt; (how many publishers actually declare the seller DIRECT). A seller is classed as primarily a reseller when more than half of its measured impressions lack an authorized direct path.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;Where to look:&lt;/strong&gt; &lt;a href="https://ratings.pixalate.com/rankings/domain/seller-trust-index"&gt;ratings.pixalate.com/rankings/domain/seller-trust-index&lt;/a&gt; (web), plus &lt;a href="https://ratings.pixalate.com/rankings/app/seller-trust-index"&gt;/app/&lt;/a&gt; and &lt;a href="https://ratings.pixalate.com/rankings/ctv/seller-trust-index"&gt;/ctv/&lt;/a&gt;. Filter to your market. The two most recent quarters show the actual numeric ratios without registration.&lt;/p&gt; 
 &lt;div class="verdicts"&gt; 
  &lt;div class="v v-good"&gt; 
   &lt;b&gt;Real SSP&lt;/b&gt;Ranked in your market with a low single-digit or sub-1% arbitrage ratio and thousands of DIRECT publishers. 
  &lt;/div&gt; 
  &lt;div class="v v-bad"&gt; 
   &lt;b&gt;Wanna-be&lt;/b&gt;Double-digit or majority arbitrage ratio — or absent from the index entirely in the market they are selling you. 
  &lt;/div&gt; 
 &lt;/div&gt; 
 &lt;div class="callout warn"&gt;
   One caveat, in fairness: Pixalate's MRC accreditation covers impression counting, viewability and invalid-traffic detection. It does 
  &lt;em&gt;not&lt;/em&gt; extend to the arbitrage methodology, which is proprietary. Treat the index as strong independent evidence, not as an audited certificate. 
 &lt;/div&gt; 
 &lt;h2&gt;Part 2 — What they actually built&lt;/h2&gt; 
 &lt;p class="section-lede"&gt;Four checks against open-source code that nobody can edit to flatter themselves.&lt;/p&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;05.&lt;/span&gt; Is their Prebid.js adapter a real adapter — or an alias?&lt;/h3&gt; 
 &lt;p&gt;A Prebid alias is a pure rename. It inherits the parent's &lt;code&gt;buildRequests&lt;/code&gt;, its &lt;code&gt;interpretResponse&lt;/code&gt;, its user syncs, and it posts to the parent's endpoint. Only the string changes. Of &lt;strong&gt;771 bidder codes in Prebid.js, 271 are aliases&lt;/strong&gt; — roughly 35%. Several parents carry 15 to 35 differently-branded children each.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;Quick check:&lt;/strong&gt; &lt;a href="https://docs.prebid.org/dev-docs/bidder-data.csv"&gt;docs.prebid.org/dev-docs/bidder-data.csv&lt;/a&gt;, column &lt;code&gt;aliasOf&lt;/code&gt;. Be aware it is incomplete — it captures about 169 of the 271.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;Authoritative check:&lt;/strong&gt; &lt;a href="https://raw.githubusercontent.com/prebid/Prebid.js/master/metadata/modules.json"&gt;&lt;code&gt;metadata/modules.json&lt;/code&gt;&lt;/a&gt;, generated automatically from the running build:&lt;/p&gt; 
 &lt;pre&gt;&lt;code&gt;curl -s https://raw.githubusercontent.com/prebid/Prebid.js/master/metadata/modules.json \
 | jq -r '.components[] | select(.componentType=="bidder" and .aliasOf!=null)
          | "\(.componentName) -&amp;gt; \(.aliasOf)"'&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;&lt;strong&gt;Live check:&lt;/strong&gt; open any page running their adapter and type &lt;code&gt;pbjs.aliasRegistry&lt;/code&gt; in the console, or compare &lt;code&gt;bid.bidderCode&lt;/code&gt; with &lt;code&gt;bid.adapterCode&lt;/code&gt; in &lt;code&gt;pbjs.getBidResponses()&lt;/code&gt;.&lt;/p&gt; 
 &lt;div class="callout"&gt; 
  &lt;strong&gt;Important: the documentation page will not tell you.&lt;/strong&gt; The rendered bidder page at 
  &lt;code&gt;docs.prebid.org/dev-docs/bidders/&amp;lt;code&amp;gt;.html&lt;/code&gt; does not display the 
  &lt;code&gt;aliasCode&lt;/code&gt; field, even when it is present in the source. Read the raw 
  &lt;code&gt;.md&lt;/code&gt; or the CSV. 
 &lt;/div&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;06.&lt;/span&gt; Is there any actual code in it?&lt;/h3&gt; 
 &lt;p&gt;Even without a formal alias declaration, file size gives it away. Serious exchanges run to several hundred or a few thousand lines: their adapters carry their own bid construction, their own ORTB mapping, their own user-sync logic, their own viewability and renderer handling. White-label derivatives are typically &lt;strong&gt;17 to 20 lines&lt;/strong&gt; and import every meaningful function from a shared vendor library.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;Where to look:&lt;/strong&gt; &lt;code&gt;github.com/prebid/Prebid.js/blob/master/modules/&amp;lt;name&amp;gt;BidAdapter.js&lt;/code&gt; (try &lt;code&gt;.ts&lt;/code&gt; too). Then check the imports.&lt;/p&gt; 
 &lt;ul&gt; 
  &lt;li&gt;Imports from &lt;code&gt;libraries/ortbConverter&lt;/code&gt;, &lt;code&gt;libraries/urlUtils&lt;/code&gt; or similar are &lt;strong&gt;Prebid core utilities&lt;/strong&gt; available to everyone. Neutral to positive.&lt;/li&gt; 
  &lt;li&gt;An import of an entire &lt;code&gt;libraries/&amp;lt;someVendor&amp;gt;Utils/bidderUtils.js&lt;/code&gt; that supplies &lt;code&gt;buildRequests&lt;/code&gt;, &lt;code&gt;isBidRequestValid&lt;/code&gt; and &lt;code&gt;interpretResponse&lt;/code&gt; wholesale means the adapter is a thin shell over another company's stack. The largest such library in the repo is shared by &lt;strong&gt;43 differently-named "SSPs"&lt;/strong&gt;.&lt;/li&gt; 
  &lt;li&gt;Missing &lt;code&gt;gvlid&lt;/code&gt;, missing &lt;code&gt;getUserSyncs&lt;/code&gt;, no &lt;code&gt;onBidWon&lt;/code&gt;/&lt;code&gt;onTimeout&lt;/code&gt; handling — all signs of a shell.&lt;/li&gt; 
 &lt;/ul&gt; 
 &lt;div class="verdicts"&gt; 
  &lt;div class="v v-good"&gt; 
   &lt;b&gt;Real SSP&lt;/b&gt;Hundreds of lines, own 
   &lt;code&gt;gvlid&lt;/code&gt;, own sync endpoints, own request logic. 
  &lt;/div&gt; 
  &lt;div class="v v-bad"&gt; 
   &lt;b&gt;Wanna-be&lt;/b&gt;Under 60 lines, all logic imported from another vendor's library, no GVL ID, maintainer contact on a free mail domain. 
  &lt;/div&gt; 
 &lt;/div&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;07.&lt;/span&gt; Do they have a native Prebid Server adapter?&lt;/h3&gt; 
 &lt;p&gt;Server-side is even more explicit, because Prebid encodes the answer in a config field. &lt;strong&gt;110 of 379&lt;/strong&gt; bidder configurations in prebid-server are pure alias files. Some are one line long:&lt;/p&gt; 
 &lt;pre&gt;&lt;code&gt;# static/bidder-info/&amp;lt;name&amp;gt;.yaml — entire file contents
aliasOf: "someOtherCompany"&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;&lt;strong&gt;Where to look:&lt;/strong&gt; &lt;a href="https://github.com/prebid/prebid-server/tree/master/static/bidder-info"&gt;prebid-server/static/bidder-info/&amp;lt;code&amp;gt;.yaml&lt;/a&gt; and the Java equivalent in &lt;a href="https://github.com/prebid/prebid-server-java/tree/master/src/main/resources/bidder-config"&gt;prebid-server-java/bidder-config/&lt;/a&gt;. Check for:&lt;/p&gt; 
 &lt;ul&gt; 
  &lt;li&gt;&lt;code&gt;aliasOf:&lt;/code&gt; — present means it is not their adapter.&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;whiteLabelOnly: true&lt;/code&gt; — Prebid's own flag for white-label platforms.&lt;/li&gt; 
  &lt;li&gt;A missing &lt;code&gt;endpoint:&lt;/code&gt; — the bidder silently inherits the parent's.&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;maintainer.email&lt;/code&gt; — this leaks the real operator even where &lt;code&gt;aliasOf&lt;/code&gt; is absent.&lt;/li&gt; 
  &lt;li&gt;In the Java config, &lt;code&gt;vendor-id: 0&lt;/code&gt; means no own GVL registration.&lt;/li&gt; 
 &lt;/ul&gt; 
 &lt;p&gt;You can also query any live Prebid Server host directly:&lt;/p&gt; 
 &lt;pre&gt;&lt;code&gt;curl -s https://&amp;lt;pbs-host&amp;gt;/info/bidders/&amp;lt;biddercode&amp;gt;
# returns {"maintainer":{"email":"..."},"aliasOf":"..."} when it is an alias&lt;/code&gt;&lt;/pre&gt; 
 &lt;div class="callout warn"&gt; 
  &lt;strong&gt;An absent &lt;code&gt;aliasOf&lt;/code&gt; is not an acquittal.&lt;/strong&gt; There are adapters in prebid-server that are byte-identical copies of another company's adapter, modulo the name, and declare no alias relationship at all. That is what checks 06 and 08 are for. 
 &lt;/div&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;08.&lt;/span&gt; Whose infrastructure does the bid request actually reach?&lt;/h3&gt; 
 &lt;p&gt;The check that no amount of positioning survives. Take the endpoint hostname out of their adapter and resolve it.&lt;/p&gt; 
 &lt;pre&gt;&lt;code&gt;python3 -c "import socket; print(socket.gethostbyname_ex('&amp;lt;their-endpoint-host&amp;gt;'))"
curl -s -H 'Accept: application/json' https://rdap.arin.net/registry/ip/&amp;lt;ip&amp;gt; \
 | jq '{handle, name, startAddress, endAddress}'&lt;/code&gt;&lt;/pre&gt; 
 &lt;p&gt;What you are looking for is co-location. In one documented white-label cluster, &lt;strong&gt;18 separately branded "SSPs" share a single /21&lt;/strong&gt;; a second netblock holds 12 more, including the platform vendor's own demo host. When a dozen independent exchanges live in the same eight-thousand-address block, they are one platform wearing a dozen name tags.&lt;/p&gt; 
 &lt;p&gt;Two supporting tells: CNAMEs frequently name the parent outright, and entire alias families point at a single parent domain (&lt;code&gt;&amp;lt;brand-a&amp;gt;.parent.com&lt;/code&gt;, &lt;code&gt;&amp;lt;brand-b&amp;gt;.parent.com&lt;/code&gt;, and so on).&lt;/p&gt; 
 &lt;p&gt;One fair caveat: a CDN or reverse proxy in front of the endpoint hides the origin, and that is normal infrastructure practice rather than evidence of anything. Where you can see the origin, check who owns it.&lt;/p&gt; 
 &lt;h2&gt;Part 3 — How they actually sell&lt;/h2&gt; 
 &lt;p class="section-lede"&gt;The two checks that describe the commercial reality, not the technical one.&lt;/p&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;09.&lt;/span&gt; Are there DIRECT lines — and real publishers in their sellers.json?&lt;/h3&gt; 
 &lt;p&gt;The IAB spec is unusually precise here. &lt;code&gt;PUBLISHER&lt;/code&gt; means the inventory belongs to the named entity &lt;em&gt;and the advertising system pays them directly&lt;/em&gt;. &lt;code&gt;INTERMEDIARY&lt;/code&gt; means it does not, &lt;em&gt;or&lt;/em&gt; they are not paid directly. In ads.txt, &lt;code&gt;DIRECT&lt;/code&gt; means the publisher controls that account through a direct business contract; &lt;code&gt;RESELLER&lt;/code&gt; means someone else does.&lt;/p&gt; 
 &lt;p&gt;&lt;strong&gt;The decisive test:&lt;/strong&gt; crawl the ads.txt of 20 to 50 publishers the company names as references and count the lines carrying their domain with &lt;code&gt;DIRECT&lt;/code&gt;. A company with &lt;em&gt;zero&lt;/em&gt; DIRECT lines across its entire claimed portfolio has no direct publisher contracts at all, whatever it calls itself.&lt;/p&gt; 
 &lt;p&gt;Then fetch &lt;code&gt;https://&amp;lt;their-domain&amp;gt;/sellers.json&lt;/code&gt; and check:&lt;/p&gt; 
 &lt;ul&gt; 
  &lt;li&gt;The &lt;strong&gt;absolute number&lt;/strong&gt; of &lt;code&gt;PUBLISHER&lt;/code&gt; entries — not the ratio. A legitimate exchange can show a high intermediary share for structural reasons; what it cannot fake is thousands of direct publisher relationships.&lt;/li&gt; 
  &lt;li&gt;&lt;code&gt;contact_email&lt;/code&gt;, &lt;code&gt;contact_address&lt;/code&gt; and an &lt;code&gt;identifiers[]&lt;/code&gt; block with a TAG ID. Their absence is a hygiene signal.&lt;/li&gt; 
  &lt;li&gt;A very high &lt;code&gt;is_confidential: 1&lt;/code&gt; share on a small file, which means the actual sources are being hidden.&lt;/li&gt; 
  &lt;li&gt;&lt;strong&gt;Spot-check the graph.&lt;/strong&gt; Pick a handful of &lt;code&gt;seller_id&lt;/code&gt;s that are marked &lt;code&gt;PUBLISHER&lt;/code&gt; and open the ads.txt of the publisher named in the entry. The seller ID from the sellers.json record must appear in that publisher’s ads.txt, on a line carrying the vendor’s domain — ideally as &lt;code&gt;DIRECT&lt;/code&gt;. If the ID is missing on the publisher side, or only appears as &lt;code&gt;RESELLER&lt;/code&gt; for a different domain, the sellers.json entry describes a relationship that the publisher does not confirm. A few samples that don’t reconcile tell you how much the rest of the file is worth.&lt;/li&gt; 
 &lt;/ul&gt; 
 &lt;h3&gt;&lt;span class="n"&gt;10.&lt;/span&gt; In the supply chain object, are they node 1?&lt;/h3&gt; 
 &lt;p&gt;Save the best for last, because this one cannot be spun without breaking the standard. The &lt;a href="https://github.com/InteractiveAdvertisingBureau/openrtb/blob/master/supplychainobject.md"&gt;SupplyChain Object&lt;/a&gt; is ordered, and &lt;strong&gt;node 1 is the entity with the direct relationship to the inventory owner&lt;/strong&gt;. Everything after it is a hop.&lt;/p&gt; 
 &lt;div class="verdicts"&gt; 
  &lt;div class="v v-good"&gt; 
   &lt;b&gt;Real SSP&lt;/b&gt; 
   &lt;code&gt;nodes.length == 1&lt;/code&gt;, 
   &lt;code&gt;complete: 1&lt;/code&gt;, 
   &lt;code&gt;asi&lt;/code&gt; is their own domain and 
   &lt;code&gt;sid&lt;/code&gt; is your seller ID. One hop, one margin. 
  &lt;/div&gt; 
  &lt;div class="v v-bad"&gt; 
   &lt;b&gt;Wanna-be&lt;/b&gt;Always node 2 or later. They are never node 1 because they never buy from you directly — they buy from whoever is. 
  &lt;/div&gt; 
 &lt;/div&gt; 
 &lt;p&gt;&lt;strong&gt;How to verify:&lt;/strong&gt; ask a buyer you trust what arrives in &lt;code&gt;source.schain&lt;/code&gt; (OpenRTB 2.6) or &lt;code&gt;source.ext.schain&lt;/code&gt; (2.5) on your inventory. Then, for every node, confirm that &lt;code&gt;https://&amp;lt;asi&amp;gt;/sellers.json&lt;/code&gt; contains that &lt;code&gt;sid&lt;/code&gt;, and that its &lt;code&gt;seller_type&lt;/code&gt; matches its position: node 1 should be &lt;code&gt;PUBLISHER&lt;/code&gt; or &lt;code&gt;BOTH&lt;/code&gt;, later nodes &lt;code&gt;INTERMEDIARY&lt;/code&gt;.&lt;/p&gt; 
 &lt;p&gt;A chronic &lt;code&gt;complete: 0&lt;/code&gt; is its own answer. It is a formal admission that the chain is not declared all the way back to the inventory owner — that the company either cannot or will not name its own upstream.&lt;/p&gt; 
 &lt;h2&gt;Red flags at a glance&lt;/h2&gt; 
 &lt;ul class="flags"&gt; 
  &lt;li&gt;They ask you to set &lt;code&gt;allowAlternateBidderCodes: true&lt;/code&gt;. Translation: "we will return bids seated as other companies."&lt;/li&gt; 
  &lt;li&gt;Their Prebid adapter has no &lt;code&gt;gvlid&lt;/code&gt;, but they are selling you European traffic.&lt;/li&gt; 
  &lt;li&gt;The Prebid maintainer contact is a free mail address rather than a company domain.&lt;/li&gt; 
  &lt;li&gt;"We're connected to 40+ DSPs" — but they are not on the DV360 exchange list and not in the Seller Trust Index for your market.&lt;/li&gt; 
  &lt;li&gt;Asked what schain they append, you get a vague answer — or a chronic &lt;code&gt;complete: 0&lt;/code&gt;.&lt;/li&gt; 
  &lt;li&gt;They cite "Google Authorized Buyer" as proof of SSP status. That is the &lt;em&gt;buy&lt;/em&gt; side. It says they purchase inventory, not that they sell yours.&lt;/li&gt; 
  &lt;li&gt;They cite “Google &lt;a href="https://www.google.com/ads/publisher/partners/"&gt;Certified Publishing Partner&lt;/a&gt;” as proof of SSP status. That badge means the partner’s people are “trained experts on Google Ad Manager, Google AdSense, and/or Google AdMob” — a services and consulting credential. It does not make them an SSP, an exchange, or an accredited buyer or seller of anything.&lt;/li&gt; 
 &lt;/ul&gt; 
 &lt;h2&gt;The twenty-minute version&lt;/h2&gt; 
 &lt;ol class="steps"&gt; 
  &lt;li&gt;Search their name in the &lt;a href="https://support.google.com/displayvideo/table/3267029"&gt;DV360 exchange table&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;Search their name in the &lt;a href="https://vendor-list.consensu.org/v3/vendor-list.json"&gt;TCF Global Vendor List&lt;/a&gt; and check the ID belongs to them.&lt;/li&gt; 
  &lt;li&gt;Put their TAG ID into the &lt;a href="https://www.tagtoday.net/registry-search"&gt;TAG registry search&lt;/a&gt;.&lt;/li&gt; 
  &lt;li&gt;Look them up in the &lt;a href="https://ratings.pixalate.com/rankings/domain/seller-trust-index"&gt;Pixalate Seller Trust Index&lt;/a&gt; for your market.&lt;/li&gt; 
  &lt;li&gt;Grep &lt;a href="https://docs.prebid.org/dev-docs/bidder-data.csv"&gt;bidder-data.csv&lt;/a&gt; for their bidder code, then confirm against &lt;code&gt;metadata/modules.json&lt;/code&gt;.&lt;/li&gt; 
  &lt;li&gt;Open their adapter file. Count the lines. Read the imports.&lt;/li&gt; 
  &lt;li&gt;Fetch their &lt;code&gt;static/bidder-info/&amp;lt;code&amp;gt;.yaml&lt;/code&gt; from prebid-server.&lt;/li&gt; 
  &lt;li&gt;Resolve their bid endpoint and RDAP the IP.&lt;/li&gt; 
  &lt;li&gt;Fetch their &lt;code&gt;sellers.json&lt;/code&gt;. Count &lt;code&gt;PUBLISHER&lt;/code&gt; entries.&lt;/li&gt; 
  &lt;li&gt;Crawl the ads.txt of 20 publishers they name. Count &lt;code&gt;DIRECT&lt;/code&gt; lines.&lt;/li&gt; 
 &lt;/ol&gt; 
 &lt;p&gt;No single check settles it. But a company that fails checks 01, 05, 09 and 10 together is not an SSP, regardless of what the homepage says. And a company that passes all ten belongs to a group you can count on two hands.&lt;/p&gt; 
 &lt;div class="selfaudit"&gt; 
  &lt;h2&gt;We ran the checklist on ourselves&lt;/h2&gt; 
  &lt;p&gt;Publishing a test you have not taken is cheap. Here is ConnectAd against all ten, with the evidence public and linked so you can repeat every line of it.&lt;/p&gt; 
  &lt;table&gt; 
   &lt;thead&gt; 
    &lt;tr&gt; 
     &lt;th style="width:38px"&gt;#&lt;/th&gt; 
     &lt;th&gt;Check&lt;/th&gt; 
     &lt;th&gt;Evidence&lt;/th&gt; 
     &lt;th style="width:60px"&gt;Result&lt;/th&gt; 
    &lt;/tr&gt; 
   &lt;/thead&gt; 
   &lt;tbody&gt; 
    &lt;tr&gt; 
     &lt;td&gt;01&lt;/td&gt; 
     &lt;td&gt;DV360 exchange list&lt;/td&gt; 
     &lt;td&gt;Listed as &lt;em&gt;ConnectAd (via BidSwitch)&lt;/em&gt; in Google's &lt;a href="https://support.google.com/displayvideo/table/3267029"&gt;supported exchange partners&lt;/a&gt; table&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;02&lt;/td&gt; 
     &lt;td&gt;TCF Global Vendor List&lt;/td&gt; 
     &lt;td&gt;&lt;strong&gt;GVL ID 138&lt;/strong&gt;, ConnectAd Demand GmbH — a three-digit ID from the original 2018 registration wave. Sole matching entry, no &lt;code&gt;deletedDate&lt;/code&gt;, device-storage disclosure live at &lt;code&gt;cdn.connectad.io&lt;/code&gt;&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;03&lt;/td&gt; 
     &lt;td&gt;TAG ID resolves&lt;/td&gt; 
     &lt;td&gt;&lt;code&gt;85ac85a30c93b3e5&lt;/code&gt; — declared in our sellers.json, carried in field #4 of our publishers' ads.txt lines, and resolving in the &lt;a href="https://www.tagtoday.net/registry-search"&gt;TAG registry&lt;/a&gt;&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;04&lt;/td&gt; 
     &lt;td&gt;Pixalate arbitrage ratio&lt;/td&gt; 
     &lt;td&gt;Web Seller Trust Index 2.0, Q2 2026 — &lt;strong&gt;Germany: rank 12 of 92, arbitrage ratio 0.066%&lt;/strong&gt;, 3,526 DIRECT publishers. &lt;strong&gt;US: rank 30 of 143, 0.115%&lt;/strong&gt;, 11,794 DIRECT publishers. Both figures are an order of magnitude below the global 20.8% average&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;05&lt;/td&gt; 
     &lt;td&gt;Not a Prebid alias&lt;/td&gt; 
     &lt;td&gt;&lt;code&gt;metadata/modules.json&lt;/code&gt; shows &lt;code&gt;connectad&lt;/code&gt; with &lt;code&gt;"aliasOf": null&lt;/code&gt; and its own &lt;code&gt;gvlid: 138&lt;/code&gt;. We are a &lt;em&gt;parent&lt;/em&gt;: &lt;code&gt;connectadrealtime&lt;/code&gt; is our alias, not the other way round&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;06&lt;/td&gt; 
     &lt;td&gt;Own adapter code&lt;/td&gt; 
     &lt;td&gt;&lt;a href="https://github.com/prebid/Prebid.js/blob/master/modules/connectadBidAdapter.js"&gt;&lt;code&gt;connectadBidAdapter.js&lt;/code&gt;&lt;/a&gt; — 323 lines, own &lt;code&gt;gvlid&lt;/code&gt;, own &lt;code&gt;getUserSyncs&lt;/code&gt;, own outstream renderer, own viewability handling. Imports only Prebid core libraries; no vendor &lt;code&gt;Utils&lt;/code&gt; library&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;07&lt;/td&gt; 
     &lt;td&gt;Native Prebid Server adapter&lt;/td&gt; 
     &lt;td&gt;Native Go adapter (&lt;code&gt;adapters/connectad/&lt;/code&gt;) &lt;em&gt;and&lt;/em&gt; native Java adapter (&lt;code&gt;ConnectAdBidder.java&lt;/code&gt;). No &lt;code&gt;aliasOf&lt;/code&gt;, no &lt;code&gt;whiteLabelOnly&lt;/code&gt;, own &lt;code&gt;gvlVendorID: 138&lt;/code&gt;, own cookie family, maintainer &lt;code&gt;support@connectad.io&lt;/code&gt;&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;08&lt;/td&gt; 
     &lt;td&gt;Own infrastructure&lt;/td&gt; 
     &lt;td&gt;Bid, sync and CDN endpoints all on &lt;code&gt;connectad.io&lt;/code&gt; (&lt;code&gt;i.&lt;/code&gt;, &lt;code&gt;bidder.&lt;/code&gt;, &lt;code&gt;sync.&lt;/code&gt;, &lt;code&gt;cdn.&lt;/code&gt;). Our APAC endpoint resolves into a network block assigned to ConnectAd directly — not shared white-label space&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;09&lt;/td&gt; 
     &lt;td&gt;DIRECT lines &amp;amp; sellers.json&lt;/td&gt; 
     &lt;td&gt;518 sellers, &lt;strong&gt;241 typed &lt;code&gt;PUBLISHER&lt;/code&gt;&lt;/strong&gt;, zero confidential entries, full contact details. &lt;code&gt;DIRECT&lt;/code&gt; lines under &lt;code&gt;connectad.io&lt;/code&gt; in the live ads.txt of kleinanzeigen.de, 20min.ch, flightradar24.com, blick.ch, wp.pl, wetteronline.de, vecernji.hr and others&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
    &lt;tr&gt; 
     &lt;td&gt;10&lt;/td&gt; 
     &lt;td&gt;schain node 1&lt;/td&gt; 
     &lt;td&gt;On directly contracted supply we append exactly one node — &lt;code&gt;asi: connectad.io&lt;/code&gt;, your seller ID, &lt;code&gt;complete: 1&lt;/code&gt;. Ask any buyer to confirm it from their bid stream; that is the point of the check&lt;/td&gt; 
     &lt;td class="ok"&gt;Pass&lt;/td&gt; 
    &lt;/tr&gt; 
   &lt;/tbody&gt; 
  &lt;/table&gt; 
  &lt;p style="margin-bottom:0"&gt;Two things we will not overstate. Our TAG record shows Verified by TAG, the identity tier — we hold no additional audited seals today. And our DV360 row reads "via BidSwitch", a Google-approved integration route rather than a bilateral one. Both are accurate, both are visible to anyone who looks, and we would rather you read them here than discover them later.&lt;/p&gt; 
 &lt;/div&gt; 
 &lt;div class="cta"&gt; 
  &lt;p&gt;&lt;strong&gt;Run the checklist on whoever you are talking to. Then run it on us.&lt;/strong&gt;&lt;/p&gt; 
  &lt;p style="color:var(--muted);font-size:15.5px"&gt;If anything in our answers above doesn’t check out, tell us. If it all does, let’s talk about your inventory.&lt;/p&gt; 
  &lt;a class="btn" href="https://connectad.io/contact"&gt;Talk to ConnectAd&lt;/a&gt; 
 &lt;/div&gt;  
 &lt;p&gt;&lt;strong&gt;Sources.&lt;/strong&gt; Google DV360 supported exchange partners (support.google.com/displayvideo/table/3267029) · IAB Europe TCF Global Vendor List v3 (vendor-list.consensu.org) · TAG registry search (tagtoday.net/registry-search) · Pixalate Seller Trust Index 2.0, web/app/CTV, Q1 and Q2 2026 (ratings.pixalate.com) and methodology (pixalate.com/knowledgebase/rankings) · Prebid.js &lt;code&gt;metadata/modules.json&lt;/code&gt;, &lt;code&gt;modules/&lt;/code&gt; and &lt;code&gt;libraries/&lt;/code&gt; · prebid-server &lt;code&gt;static/bidder-info/&lt;/code&gt; and prebid-server-java &lt;code&gt;bidder-config/&lt;/code&gt; · docs.prebid.org bidder data · IAB Tech Lab sellers.json v1.0 and ads.txt v1.1 · IAB Tech Lab SupplyChain Object specification.&lt;/p&gt; 
 &lt;p&gt;All figures verified live in August 2026. Repositories, registries and rankings change over time; the methods stay valid, the numbers are a snapshot. Nothing here is a claim about any specific company other than ConnectAd.&lt;/p&gt;  
&lt;/div&gt;  
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=146351148&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fconnectad.io%2Fblog%2Freal-ssp-or-reseller-10-checks-any-publisher-can-run-themselves&amp;amp;bu=https%253A%252F%252Fconnectad.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <pubDate>Tue, 18 Aug 2026 20:20:20 GMT</pubDate>
      <author>connect@connectad.io (ConnectAd)</author>
      <guid>https://connectad.io/blog/real-ssp-or-reseller-10-checks-any-publisher-can-run-themselves</guid>
      <dc:date>2026-08-18T20:20:20Z</dc:date>
    </item>
    <item>
      <title>Revenue Per Hop: The KPI Programmatic Should Be Talking About</title>
      <link>https://connectad.io/blog/revenue-per-hop-the-kpi-programmatic-should-be-talking-about</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/revenue-per-hop-the-kpi-programmatic-should-be-talking-about" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/64_A-new-KPI_Vorschau.jpg" alt="Revenue Per Hop: The KPI Programmatic Should Be Talking About" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p class="isSelectedEnd"&gt;The programmatic advertising industry has never been short of metrics. We measure CPMs, fill rates, bid density, viewability, latency, win rates and countless other performance indicators. Every campaign, every auction and every impression generates data that helps us optimize performance.&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/revenue-per-hop-the-kpi-programmatic-should-be-talking-about" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/64_A-new-KPI_Vorschau.jpg" alt="Revenue Per Hop: The KPI Programmatic Should Be Talking About" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p class="isSelectedEnd"&gt;The programmatic advertising industry has never been short of metrics. We measure CPMs, fill rates, bid density, viewability, latency, win rates and countless other performance indicators. Every campaign, every auction and every impression generates data that helps us optimize performance.&lt;/p&gt;  
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=146351148&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fconnectad.io%2Fblog%2Frevenue-per-hop-the-kpi-programmatic-should-be-talking-about&amp;amp;bu=https%253A%252F%252Fconnectad.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>Blog</category>
      <pubDate>Wed, 08 Jul 2026 08:09:00 GMT</pubDate>
      <author>connect@connectad.io (ConnectAd)</author>
      <guid>https://connectad.io/blog/revenue-per-hop-the-kpi-programmatic-should-be-talking-about</guid>
      <dc:date>2026-07-08T08:09:00Z</dc:date>
    </item>
    <item>
      <title>What Makes an SSP Worth Keeping?</title>
      <link>https://connectad.io/blog/what-makes-an-ssp-worth-keeping</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/what-makes-an-ssp-worth-keeping" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/63_SSps-worth-keeping_Vorschau.jpg" alt="What Makes an SSP Worth Keeping?" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p class="font-claude-response-body break-words whitespace-normal"&gt;Every publisher is having the same conversation right now.&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/what-makes-an-ssp-worth-keeping" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/63_SSps-worth-keeping_Vorschau.jpg" alt="What Makes an SSP Worth Keeping?" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p class="font-claude-response-body break-words whitespace-normal"&gt;Every publisher is having the same conversation right now.&lt;/p&gt;  
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=146351148&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fconnectad.io%2Fblog%2Fwhat-makes-an-ssp-worth-keeping&amp;amp;bu=https%253A%252F%252Fconnectad.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>Blog</category>
      <pubDate>Thu, 02 Jul 2026 11:10:02 GMT</pubDate>
      <author>connect@connectad.io (ConnectAd)</author>
      <guid>https://connectad.io/blog/what-makes-an-ssp-worth-keeping</guid>
      <dc:date>2026-07-02T11:10:02Z</dc:date>
    </item>
    <item>
      <title>Programmatic Dollar Flow: Why the Future of Media Buying Belongs to Transparent Supply Paths</title>
      <link>https://connectad.io/blog/programmatic-dollar-flow-why-the-future-of-media-buying-belongs-to-transparent-supply-paths</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/programmatic-dollar-flow-why-the-future-of-media-buying-belongs-to-transparent-supply-paths" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/62_Programmatic-Dollar-Flow_Vorschau.jpg" alt="Programmatic Dollar Flow: Why the Future of Media Buying Belongs to Transparent Supply Paths" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p class="font-claude-response-body break-words whitespace-normal"&gt;In programmatic advertising, every campaign begins with a simple promise: money should move efficiently from advertiser to media owner in exchange for attention, outcomes, and measurable value.&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/programmatic-dollar-flow-why-the-future-of-media-buying-belongs-to-transparent-supply-paths" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/62_Programmatic-Dollar-Flow_Vorschau.jpg" alt="Programmatic Dollar Flow: Why the Future of Media Buying Belongs to Transparent Supply Paths" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p class="font-claude-response-body break-words whitespace-normal"&gt;In programmatic advertising, every campaign begins with a simple promise: money should move efficiently from advertiser to media owner in exchange for attention, outcomes, and measurable value.&lt;/p&gt;  
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=146351148&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fconnectad.io%2Fblog%2Fprogrammatic-dollar-flow-why-the-future-of-media-buying-belongs-to-transparent-supply-paths&amp;amp;bu=https%253A%252F%252Fconnectad.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>Blog</category>
      <pubDate>Wed, 24 Jun 2026 10:21:55 GMT</pubDate>
      <author>connect@connectad.io (ConnectAd)</author>
      <guid>https://connectad.io/blog/programmatic-dollar-flow-why-the-future-of-media-buying-belongs-to-transparent-supply-paths</guid>
      <dc:date>2026-06-24T10:21:55Z</dc:date>
    </item>
    <item>
      <title>The Supply Chain Is Broken. Here’s What That Actually Costs You.</title>
      <link>https://connectad.io/blog/the-supply-chain-is-broken-heres-what-that-actually-costs-you</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/the-supply-chain-is-broken-heres-what-that-actually-costs-you" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/61_Bloated-Supply-Paths_Vorschau.jpg" alt="The Supply Chain Is Broken. Here’s What That Actually Costs You." class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p class="p1"&gt;Programmatic advertising made a promise: smarter, faster, more efficient media trading. A better way to connect publishers with advertisers.&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/the-supply-chain-is-broken-heres-what-that-actually-costs-you" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/61_Bloated-Supply-Paths_Vorschau.jpg" alt="The Supply Chain Is Broken. Here’s What That Actually Costs You." class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p class="p1"&gt;Programmatic advertising made a promise: smarter, faster, more efficient media trading. A better way to connect publishers with advertisers.&lt;/p&gt;  
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=146351148&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fconnectad.io%2Fblog%2Fthe-supply-chain-is-broken-heres-what-that-actually-costs-you&amp;amp;bu=https%253A%252F%252Fconnectad.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>Blog</category>
      <pubDate>Tue, 02 Jun 2026 09:41:04 GMT</pubDate>
      <author>connect@connectad.io (ConnectAd)</author>
      <guid>https://connectad.io/blog/the-supply-chain-is-broken-heres-what-that-actually-costs-you</guid>
      <dc:date>2026-06-02T09:41:04Z</dc:date>
    </item>
    <item>
      <title>The Ad-Tech Tax Is Not One Tax — It’s a Stack of Small Leakages</title>
      <link>https://connectad.io/blog/the-ad-tech-tax-is-not-one-tax-its-a-stack-of-small-leakages</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/the-ad-tech-tax-is-not-one-tax-its-a-stack-of-small-leakages" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/60_Unseen-Ad-Taxes_Vorschau.jpg" alt="The Ad-Tech Tax Is Not One Tax — It’s a Stack of Small Leakages" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Everyone in programmatic knows the phrase “ad-tech tax.” It appears in panels, pitch decks, agency reviews, procurement conversations, and SPO discussions. It sounds simple: one tax, one deduction, one identifiable cost between advertiser and publisher.&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/the-ad-tech-tax-is-not-one-tax-its-a-stack-of-small-leakages" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/60_Unseen-Ad-Taxes_Vorschau.jpg" alt="The Ad-Tech Tax Is Not One Tax — It’s a Stack of Small Leakages" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;Everyone in programmatic knows the phrase “ad-tech tax.” It appears in panels, pitch decks, agency reviews, procurement conversations, and SPO discussions. It sounds simple: one tax, one deduction, one identifiable cost between advertiser and publisher.&lt;/p&gt;  
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=146351148&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fconnectad.io%2Fblog%2Fthe-ad-tech-tax-is-not-one-tax-its-a-stack-of-small-leakages&amp;amp;bu=https%253A%252F%252Fconnectad.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>Blog</category>
      <pubDate>Wed, 13 May 2026 11:26:51 GMT</pubDate>
      <author>connect@connectad.io (ConnectAd)</author>
      <guid>https://connectad.io/blog/the-ad-tech-tax-is-not-one-tax-its-a-stack-of-small-leakages</guid>
      <dc:date>2026-05-13T11:26:51Z</dc:date>
    </item>
    <item>
      <title>From Setup to Scale: How Frictionless PMP Activation Can Transform Your Programmatic Strategy</title>
      <link>https://connectad.io/blog/from-setup-to-scale-how-frictionless-pmp-activation-can-transform-your-programmatic-strategy</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/from-setup-to-scale-how-frictionless-pmp-activation-can-transform-your-programmatic-strategy" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/57_Scaling-with-PMPs_Vorschau.jpg" alt="From Setup to Scale: How Frictionless PMP Activation Can Transform Your Programmatic Strategy" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;In today’s programmatic landscape, Private Marketplace (PMP) deals are no longer optional, they’re strategic engines that help advertisers control quality, maximize ROI, and unlock premium inventory that traditional open auctions simply can’t match. But while everyone talks about PMPs, the reality is that many programmatic teams still struggle with complex setup processes, fragmented integrations, and slow scaling.&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/from-setup-to-scale-how-frictionless-pmp-activation-can-transform-your-programmatic-strategy" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/57_Scaling-with-PMPs_Vorschau.jpg" alt="From Setup to Scale: How Frictionless PMP Activation Can Transform Your Programmatic Strategy" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;In today’s programmatic landscape, Private Marketplace (PMP) deals are no longer optional, they’re strategic engines that help advertisers control quality, maximize ROI, and unlock premium inventory that traditional open auctions simply can’t match. But while everyone talks about PMPs, the reality is that many programmatic teams still struggle with complex setup processes, fragmented integrations, and slow scaling.&lt;/p&gt;  
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=146351148&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fconnectad.io%2Fblog%2Ffrom-setup-to-scale-how-frictionless-pmp-activation-can-transform-your-programmatic-strategy&amp;amp;bu=https%253A%252F%252Fconnectad.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>Blog</category>
      <pubDate>Wed, 21 Jan 2026 15:05:52 GMT</pubDate>
      <author>connect@connectad.io (ConnectAd)</author>
      <guid>https://connectad.io/blog/from-setup-to-scale-how-frictionless-pmp-activation-can-transform-your-programmatic-strategy</guid>
      <dc:date>2026-01-21T15:05:52Z</dc:date>
    </item>
    <item>
      <title>More Media. Less Tax. – How Discipline, Not Excess, Drives Sustainable Growth</title>
      <link>https://connectad.io/blog/more-media-less-tax-how-discipline-not-excess-drives-sustainable-growth</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/more-media-less-tax-how-discipline-not-excess-drives-sustainable-growth" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/56_More-Media_-Less-Tax__Vorschau.jpg" alt="More Media. Less Tax. – How Discipline, Not Excess, Drives Sustainable Growth" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;In an era when advertising budgets are stretched, regulations are tightening, and technology complexity increases, growth and profitability are no longer automatic. They require discipline, focus, and a willingness to do things differently. At ConnectAd, that’s not just philosophy, it’s strategy. And it’s why we’ve outpaced the broader display market and delivered strong revenue growth for our publisher partners, year after year.&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/more-media-less-tax-how-discipline-not-excess-drives-sustainable-growth" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/56_More-Media_-Less-Tax__Vorschau.jpg" alt="More Media. Less Tax. – How Discipline, Not Excess, Drives Sustainable Growth" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p&gt;In an era when advertising budgets are stretched, regulations are tightening, and technology complexity increases, growth and profitability are no longer automatic. They require discipline, focus, and a willingness to do things differently. At ConnectAd, that’s not just philosophy, it’s strategy. And it’s why we’ve outpaced the broader display market and delivered strong revenue growth for our publisher partners, year after year.&lt;/p&gt;  
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=146351148&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fconnectad.io%2Fblog%2Fmore-media-less-tax-how-discipline-not-excess-drives-sustainable-growth&amp;amp;bu=https%253A%252F%252Fconnectad.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>Blog</category>
      <pubDate>Mon, 12 Jan 2026 07:31:20 GMT</pubDate>
      <author>connect@connectad.io (ConnectAd)</author>
      <guid>https://connectad.io/blog/more-media-less-tax-how-discipline-not-excess-drives-sustainable-growth</guid>
      <dc:date>2026-01-12T07:31:20Z</dc:date>
    </item>
    <item>
      <title>2026 Publisher Roadmap: What Really Matters</title>
      <link>https://connectad.io/blog/2026-publisher-roadmap-what-really-matters</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/2026-publisher-roadmap-what-really-matters" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/55_AdTech-Checklist-for-Publishers-2026_Vorschau.jpg" alt="2026 Publisher Roadmap: What Really Matters" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;br&gt; 
&lt;h3&gt;&lt;strong&gt;Why Transparency, Efficiency &amp;amp; Alignment Matter More Than Ever&lt;/strong&gt;&lt;/h3&gt; 
&lt;p&gt;The programmatic ecosystem has never been short on complexity, but 2026 is the year publishers finally stop accepting it as a given. With cookies almost gone, privacy requirements tightening, supply-chain scrutiny intensifying and sustainability moving into the core of media buying, publishers are being pushed to re-evaluate not just their tech stack, but the entire philosophy behind their monetization strategy.&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/2026-publisher-roadmap-what-really-matters" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/55_AdTech-Checklist-for-Publishers-2026_Vorschau.jpg" alt="2026 Publisher Roadmap: What Really Matters" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;br&gt; 
&lt;h3&gt;&lt;strong&gt;Why Transparency, Efficiency &amp;amp; Alignment Matter More Than Ever&lt;/strong&gt;&lt;/h3&gt; 
&lt;p&gt;The programmatic ecosystem has never been short on complexity, but 2026 is the year publishers finally stop accepting it as a given. With cookies almost gone, privacy requirements tightening, supply-chain scrutiny intensifying and sustainability moving into the core of media buying, publishers are being pushed to re-evaluate not just their tech stack, but the entire philosophy behind their monetization strategy.&lt;/p&gt;  
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=146351148&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fconnectad.io%2Fblog%2F2026-publisher-roadmap-what-really-matters&amp;amp;bu=https%253A%252F%252Fconnectad.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>Blog</category>
      <pubDate>Wed, 10 Dec 2025 06:49:17 GMT</pubDate>
      <author>connect@connectad.io (ConnectAd)</author>
      <guid>https://connectad.io/blog/2026-publisher-roadmap-what-really-matters</guid>
      <dc:date>2025-12-10T06:49:17Z</dc:date>
    </item>
    <item>
      <title>Transparency Compliance: The Cornerstone of a Trustworthy Programmatic Ecosystem</title>
      <link>https://connectad.io/blog/transparency-compliance-the-cornerstone-of-a-trustworthy-programmatic-ecosystem</link>
      <description>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/transparency-compliance-the-cornerstone-of-a-trustworthy-programmatic-ecosystem" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/53_Transparency-Compliance_Vorschau.jpg" alt="Transparency Compliance: The Cornerstone of a Trustworthy Programmatic Ecosystem" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p class="p3"&gt;Transparency has evolved from an industry ideal into a compliance necessity. With the DSA, GDPR enforcement, and rising expectations around supply-path integrity, every player, from publisher to SSP, must prove who they are, what they do, and how their data and impressions move.&lt;/p&gt;</description>
      <content:encoded>&lt;div class="hs-featured-image-wrapper"&gt; 
 &lt;a href="https://connectad.io/blog/transparency-compliance-the-cornerstone-of-a-trustworthy-programmatic-ecosystem" title="" class="hs-featured-image-link"&gt; &lt;img src="https://connectad.io/hubfs/Imported_Blog_Media/53_Transparency-Compliance_Vorschau.jpg" alt="Transparency Compliance: The Cornerstone of a Trustworthy Programmatic Ecosystem" class="hs-featured-image" style="width:auto !important; max-width:50%; float:left; margin:0 15px 15px 0;"&gt; &lt;/a&gt; 
&lt;/div&gt; 
&lt;p class="p3"&gt;Transparency has evolved from an industry ideal into a compliance necessity. With the DSA, GDPR enforcement, and rising expectations around supply-path integrity, every player, from publisher to SSP, must prove who they are, what they do, and how their data and impressions move.&lt;/p&gt;  
&lt;img src="https://track-eu1.hubspot.com/__ptq.gif?a=146351148&amp;amp;k=14&amp;amp;r=https%3A%2F%2Fconnectad.io%2Fblog%2Ftransparency-compliance-the-cornerstone-of-a-trustworthy-programmatic-ecosystem&amp;amp;bu=https%253A%252F%252Fconnectad.io%252Fblog&amp;amp;bvt=rss" alt="" width="1" height="1" style="min-height:1px!important;width:1px!important;border-width:0!important;margin-top:0!important;margin-bottom:0!important;margin-right:0!important;margin-left:0!important;padding-top:0!important;padding-bottom:0!important;padding-right:0!important;padding-left:0!important; "&gt;</content:encoded>
      <category>Blog</category>
      <pubDate>Thu, 04 Dec 2025 20:57:00 GMT</pubDate>
      <author>connect@connectad.io (ConnectAd)</author>
      <guid>https://connectad.io/blog/transparency-compliance-the-cornerstone-of-a-trustworthy-programmatic-ecosystem</guid>
      <dc:date>2025-12-04T20:57:00Z</dc:date>
    </item>
  </channel>
</rss>
