# The Inventory is Dark and Full of Misinformation:
Understanding Ad Inventory Pooling in the Ad-Tech Supply Chain

Yash Vekaria
University of California, Davis
<EMAIL_ADDRESS>Rishab Nithyanand
University of Iowa
<EMAIL_ADDRESS>Zubair Shafiq
University of California, Davis
<EMAIL_ADDRESS>
###### Abstract

Ad-tech enables publishers to programmatically sell their ad inventory to
millions of demand partners through a complex supply chain. The complexity and
opacity of the ad-tech supply chain can be exploited by low-quality publishers
(e.g., misinformation sites) to deceptively monetize their ad inventory. To
combat such deception, the digital advertising industry has developed
transparency standards and brand safety products. In this paper, we show that
these developments still fall short of preventing deceptive monetization.
Specifically, we focus on how publishers can exploit the ad-tech supply chain,
subvert ad-tech transparency standards, and undermine brand safety protections
by pooling their ad inventory with unrelated sites. This type of deception is
referred to as dark pooling. Our study shows that dark pooling is commonly
employed by misinformation publishers on various major ad exchanges, and
allows misinformation publishers to deceptively sell their ad inventory to
highly reputable brands. We conclude with a discussion of potential
countermeasures such as better vetting of ad exchange supply partners,
adoption of new ad-tech transparency standards that enable end-to-end
validation of the ad-tech supply chain, as well as widespread deployment of
independent audits like ours.

##  1 Introduction

The complexity of online advertising lends itself to fraud.  Key to the
success of online advertising is the ability of advertisers and publishers to
programmatically buy and sell ad inventory across hundreds of millions of
websites in real-time [1]. Notably, Real-Time Bidding (RTB) allows publishers
to list their supply of individual ad impressions for bidding at an auction
hosted by an ad exchange [2]. The ad exchange then requests its demand
partners to bid on the listed ad inventory from its supply partners based on
the associated contextual and behavioral information. The ad-tech supply chain
is complex because it relies on hundreds of specialized entities to
effectively buy and sell the ad inventory in real-time and at scale [3].
Another factor exacerbating this complexity is that each ad impression is sold
and resold across multiple parallel or waterfall auctions [4]. Such scale and
complexity, combined with the opaque nature of the ad tech supply chain, makes
it a ripe target for fraud and abuse that has been extensively studied in both
industry and academia [5, 6, 7, 8, 9, 10, 11, 12, 13]. One of the most common
types of ad fraud involves creating low-quality websites and monetizing the
resulting ad inventory. Fraudsters attempt to drive large volumes of traffic
to their website through various illicit means such as bots, underground
marketplaces, traffic exchanges, or even driving legitimate traffic through
click-bait and viral propaganda [14, 15, 16]. A notable example that motivated
our work is that of the “Macedonian fake news complex” [17, 18, 19]. In this
scheme, fraudsters created misinformation websites with misleading and click-
bait news headlines intentionally designed to go viral on social media,
garnered millions of page views, and resulted in tens of millions of monetized
ad impressions.

Advertisers are invested in preventing fraud.  Ad-tech has safeguards to
protect against this type of ad fraud by blocking the ad inventory of low-
quality websites even when the ad impressions might be from legitimate users.
Specifically, brand safety features supported by demand-side platforms aim to
allow advertisers to block ad inventory of web pages that contain hardcore
violence, hate speech, pornography, or other types of potentially
objectionable content [20]. All the effort of fraudsters would be wasted if
they are unable to monetize their ad inventory through programmatic
advertising due to these brand safety features. To undermine brand safety
protections, fraudsters are known to exploit the opaque nature of the complex
ad tech supply chain by misrepresenting their ad inventory [21]. For example,
in domain spoofing [22], low-quality publishers spoof the URLs of their ad
inventory with that of reputable publishers; thereby deceiving reputable
brands into buying their ad inventory even though their own domain is blocked
due to brand safety concerns [23, 24, 25]. To mitigate ad fraud due to
misrepresented ad inventory, the Interactive Advertising Bureau (IAB)
introduced two transparency standards. ads.txt [26] requires publishers to
disclose a list of all sellers that are authorized to sell their ad inventory.
sellers.json [27] requires ad exchanges to disclose a list of all publishers
and intermediate sellers whose ad inventory is listed on their exchange.
Together, these standards, if implemented correctly, would reduce the
prevalence of ad fraud by allowing buyers of ad impressions to verify the
sources of the inventory.

Transparency mechanisms to prevent fraud are falling short.  There is
increasing concern that the ads.txt and sellers.json standards are either not
widely adopted, implemented in ways that do not facilitate effective supply-
chain validation, or intentionally subverted by malicious actors in a variety
of ways. In this paper, we empirically investigate these concerns. We find
that the ads.txt and sellers.json disclosures are plagued by a large number of
compliance issues and misrepresentations. From this investigation, we find
extensive evidence of ‘pooling’ of ad inventory from unrelated websites — a
practice known in the industry as ‘dark pooling’ that makes it impossible for
a buyer to correctly identify ad inventory sources (i.e., where their ad will
eventually be placed). Dark pooling effectively allows low-quality websites to
‘launder’ their inventory by making them indistinguishable from well-reputed
websites. To better understand how low-quality publishers may subvert the
transparency demanded by the ads.txt and sellers.json standards, we use a set
of well-known misinformation websites as a case study. Focusing on these
misinformation websites, we confirm: (1) their widespread failure to comply
with the ads.txt and sellers.json standards; and (2) widespread prevalence of
ad inventory pooling. As a consequence, we also find real world instances of
reputable brands purchasing impressions on these misinformation websites,
perhaps unintentionally. Taken together, we make three key contributions.

Measuring compliance with ads.txt and sellers.json transparency standards.  We
study a set of ‘control’ and well-known misinformation websites to measure
their compliance with ads.txt and sellers.json. We find that although
compliance issues are widespread even in our control set of websites, they are
significantly more prevalent on misinformation websites.

Measuring the prevalence of (dark) pooling.  We measure high prevalence of ad
inventory ‘pooling’ by our control and misinformation websites. By simply
analyzing public ads.txt and sellers.json files associated with our control
and misinformation websites, we are able to identify over 79K instances of
pooling, of which 8.7K (11%) are used by misinformation sites to effectively
launder their ad inventory. By further analyzing the RTB metadata, we are able
to confirm 297 pools across 38 ad exchanges being used by misinformation
websites.

Measuring the (in)effectiveness of brand safety tools.  We find a correlation
between the prevalence of pooling and ads from reputable brands on
misinformation websites. We find that misinformation websites that participate
heavily in pooling are more likely to attract ads from reputable brands such
as Forbes and GoDaddy.

##  2 Background

In this section, we provide a high-level overview of the mechanisms behind the
supply of programmatic ads (Section 2.1) and the vulnerabilities in the ad
supply chain (Section 2.2).

###  2.1 Programmatic advertising

At its core, programmatic advertising is the automated trading of ad slot
inventory (made available by publishers) for impressions of ad creatives made
available by brands or advertisers. Although there are a variety of mechanisms
for programmatic advertising (e.g., real-time bidding, header bidding,
exchange bidding, etc.) and the organizations participating in each might
differ, the types of entities involved in the supply chain remain the same for
each mechanism.

The supply chain of programmatic advertising.  Internet-scale programmatic
advertising is made possible by the following entities: supply-side platforms
(SSPs) for publishers to list their ad slot inventory in real time, ad
exchanges (AdX) which aggregate the inventory of multiple SSPs and facilitate
bidding on individual slots, and demand-side platforms (DSPs) which allow
advertisers and brands to identify targets for their ad creatives and make
bids on inventory listed at ad exchanges. These entities work together to
create a supply chain for ads as follows: When a user visits a publisher, the
ad slot inventory associated with that visit is put up for auction at an AdX
by the SSP. DSPs, operating on behalf of advertisers and brands, then make
bids on the ad slot inventory available at the AdX. These bids are informed by
what is known (to the DSP) about the user and the publisher. The winner of the
auction is then notified by the AdX and the associated ad creative is used to
fill the ad slot on the publisher’s website. Figure 1 provides an illustration
of the supply chain mechanism.

Figure 1: Programmatic Advertising Ecosystem: When a user visits a publisher
website (Step 1), the publisher puts its ad-inventory for sale on ad-exchanges
via SSPs in real-time (Step 2). Advertisers bid for these slots via DSPs (Step
3). Advertisement of the winning bid is displayed to the user on the publisher
website (Step 4). To mitigate fraud, advertisers use sellers.json of ad
exchanges and ads.txt of publishers to verify who is and who is not an
authorized seller of a given inventory.

Transparency in the supply chain.  Crucial to the correct operation of the ad
supply chain is that the participating organizations are able to trust that
publishers and AdXs are not misrepresenting their inventories or their
relationships with other entities. For example, it is important for DSPs to
confirm that the ad slot inventory that they are bidding on is actually
associated with a particular publisher. Similarly, it is important for DSPs to
confirm that the AdXs that they are purchasing ad slot inventory from are
actually authorized to (re)sell that inventory. The absence of trust in this
supply chain can lead to situations where DSPs make premium bids for ad slots
that are actually associated with non-premium publishers — ultimately leading
to a brand’s ad creative being displayed on publishers that they may not want
to be associated with. In an effort to introduce trust and the ability for
DSPs to perform basic verification of the ad slot inventory, the Interactive
Advertising Bureau (IAB) introduced two standards: ads.txt and sellers.json.

The ads.txt standard.  The ads.txt 111“ads” in ads.txt stands for Authorized
Digital Sellers. Full specification of the ads.txt standard is available at:
https://iabtechlab.com/wp-content/uploads/2021/03/ads.txt-1.0.3.pdf standard
(introduced in 2017) aims to address ad slot inventory fraud by requiring each
publisher domain to maintain an ads.txt file at the root level directory
(e.g., publisher.com/ads.txt). The ads.txt file should contain entries for all
AdXs that are authorized to sell or resell the ad slot inventory of the
publisher. Each entry in the ads.txt file must contain the following fields:

  * •

the authorized AdX,

  * •

the publisher ID assigned to the publisher domain within the AdX network, and

  * •

the authorized relationship between the publisher and authorized AdX — i.e.,
whether the AdX is authorized as a DIRECT seller or RESELLER of inventory for
the domain.

How ads.txt helps prevent fraud. When a bid request is sent by a publisher to
an AdX (which forwards it to DSPs), the request contains the publisher ID and
the domain associated with the inventory being listed. Importantly, because
publisher IDs are typically associated with an organization and not a domain,
it is possible for multiple domains to share the same publisher ID. This can
make the prevention of domain spoofing challenging. ads.txt presents a
mechanism to verify that a website is not spoofing the domain in their bid
requests. More specifically, ads.txt allows:

  * •

AdXs to verify that the publisher ID in the bid request matches the publisher
ID associated with the domain in the bid request and

  * •

DSPs to verify that the AdX claiming to (re)sell the inventory of a domain is
authorized by the domain to do so.

Prior to the ads.txt standard, there were no mechanisms to facilitate such
checks and the sale of fraudulent inventory was widespread [21].

The sellers.json standard.  Similar to the ads.txt standard, sellers.json also
aims to mitigate inventory fraud and misrepresentation. The sellers.json
standard222Full specification of the sellers.json standard is available at:
https://iabtechlab.com/wp-content/uploads/2019/07/Sellers.json_Final.pdf
requires each AdX and SSP to maintain a sellers.json file at the root level
directory (e.g., adx.com/sellers.json).333We observed that several AdXs,
including Google, use non-standard paths — e.g., Google’s sellers.json is
located at https://storage.googleapis.com/adx-rtb-dictionaries/sellers.json
This sellers.json file must contain an entry for each entity that may be paid
for inventory purchased through an AdX — i.e., one entry for each partner that
is an inventory source for the AdX. Each of these entries contain the
following fields:

  * •

the seller type which indicates whether the entry is associated with a
PUBLISHER, an INTERMEDIARY (i.e., inventory reseller AdX), or BOTH (i.e., this
entity has their own inventory and also resells other inventory);

  * •

the seller ID associated with the inventory source (same as the publisher ID
in ads.txt if this entry is associated with a publisher); and

  * •

the name and domain associated with the seller ID (these fields may be marked
as “confidential” and hidden by AdXs to preserve the privacy of publishers).

How sellers.json helps prevent fraud. When a bid request is received by a DSP
from an AdX that is in compliance with the sellers.json standard, it must
contain information about the provenance of the inventory in a Supply Chain
Object (SCO).444Supply Chain Object (SCO) contains an ordered list of all the
entities involved in the ad transaction (e.g., publisher $\rightarrow$ SSP
$\rightarrow$ reseller $\rightarrow$ AdX). At a high level, the sellers.json
file provides a mechanism for DSPs to identify and verify all the entities
listed in this SCO. This is done as follows:

  * •

When a bid request is received by the DSP, it should use the AdX’s
sellers.json file to verify that the final AdX has an authorized relationship
with the prior holder (an SSP or another AdX) of the inventory.

  * •

The previous step is applied recursively (on all intermediate neighbors in the
SCO) to verify the end-to-end authenticity of the inventory.

  * •

The DSP then uses the sellers.json files of all intermediaries and the ads.txt
file of the publisher to verify that the publisher is legitimate and
(re)sellers who handle the publisher’s inventory are authorized to do so.

This ability to conduct end-to-end validation of the SCO helps DSPs identify
cases where the ad inventory is sourced from low-quality publishers with fake
ads.txt files or where non-existent inventory is sold by malicious
intermediaries.

###  2.2 Supply chain vulnerabilities

Despite the introduction of the ads.txt and sellers.json standards, there
remain many vulnerabilities in the ad inventory supply chain. Our
investigation focuses on the vulnerabilities that enable low-quality
publishers to monetize their ad inventory by misrepresenting or obscuring its
source. Some of these vulnerabilities arise from misrepresentations in the
ads.txt and sellers.json files, while others arise from pooling their low-
quality inventory with the inventory of unrelated high-quality publishers. We
refer to the former as inventory misrepresentation and the latter as dark
pooling.

Inventory misrepresentation.  Inventory misrepresentation arises from
misrepresentations of ad inventory by publishers. This misrepresentation can
be identified by discrepancies in the publisher’s ads.txt file and is
successful only when DSPs and AdXs do not follow the standards of the IAB’s
ads.txt and sellers.json specifications. Some examples of these
misrepresentations are:

  * •

a publisher’s ads.txt file might falsely indicate that a popular AdX is an
authorized (re)seller of its inventory in order to boost its reputation with
other AdXs.

  * •

a publisher’s ads.txt file might falsely use publisher IDs of other popular
publishers to suggest an authorized relationship with an AdX in order to boost
the value of its inventory.

  * •

a publisher’s ads.txt might have multiple conflicting entries for a single AdX
making it possible to deceive certain implementations of ads.txt and
sellers.json verification.

  * •

a publisher’s ads.txt file might list authorized relationships with
(re)sellers that have no sellers.json files and make end-to-end verification
of inventory impossible.

As we show later, each of these misrepresentation occurs frequently in the
case of misinformation publishers.

Dark pooling.  Pooling is a common strategy to share resources in online
advertising. Consider, for example, the case where two or more publishers are
owned by the same parent organization. In such scenarios, the ability to share
advertising infrastructure and AdX accounts allows for more efficient
operation and management. One way to identify the occurrence of pooling is by
noting a single AdX-issued ‘publisher ID’ shared by multiple publisher
websites. Dark pools are pools in which publisher IDs are shared by
organizationally-unrelated publishers (possibly of differing reputation). Note
that “dark pooling” is a term of art that is commonly used in industry. While
pooling is not itself a “dark” practice, pooling publisher IDs of unrelated
publishers is considered a “dark” practice because it deceives potential
buyers about the actual source of the ad inventory [28, 29].

The publisher/seller ID defined in ads.txt and sellers.json standards is also
defined in the RTB protocol [30, 31]. Note that the payment after successful
completion of an RTB auction is made to the publisher (i.e., the seller)
associated with the publisher ID [32]. Hence, it should be noted that simply
using another domain’s publisher ID in ad requests from a domain will result
in any ad-related payments being made to the owner of the publisher ID.
Therefore, for revenue sharing, the creation of these pools need to be
facilitated either through intermediaries (e.g., SSPs) or by direct
collaboration between publishers.

End-to-end validation of pooled supply chains.  Pooling leads to a break down
of any brand or DSP’s ability to perform end-to-end verification of the ad
inventory supply chain. Specifically, the final step of verification
highlighted in Section 2.1 cannot be meaningfully completed unless all domains
associated with a publisher’s account are publicly known (and unfortunately,
this is not the case). This is because the end-to-end verification of the ad
inventory supply chain, as specified by the IAB, implicitly relies on trust
that publisher IDs are actually associated with specific organizations and
that these associations are verified by AdXs. We illustrate this with an
example.

  * •

Consider a publisher domain sportsnews.com which has a legitimate subsidiary:
nbanews.com. The publisher registers for an account with a popular AdX (adx)
and is issued the publisher ID pubid after being vetted by adx. It is expected
that this domain can now share this publisher ID with its subsidiaries. Both
sites will now list adx as a DIRECT seller through the pubid account in their
ads.txt files.

  * •

The publisher now decides to share adx’s issued publisher ID with
fakesportsnews.com, another sports news site but of low quality, for a cut of
the revenue generated from ads shown on fakesportsnews.com. In its ads.txt
file, fakesportsnews.com now adds adx as a DIRECT seller and also lists pubid
as its publisher ID. Note that fakesportsnews.com would otherwise be unable to
get directly listed on adx and monetize its ad inventory due to its low
quality.

  * •

When a bid request is sent from fakesportsnews.com, all basic supply chain
validation checks are successful because the publisher ID pubid is in fact
registered by adx in their sellers.json file. Any bidding DSP will therefore
operate under the assumption that the site receiving their ads has been vetted
by adx and is associated with sportsnews.com.

  * •

Complications only arise if the verifier notices that pubid was only
registered to the owner of sportsnews.com and the bid request actually
originated at fakesportsnews.com. However, invalidating the bid request simply
because of this inconsistency will mean that even legitimate subsidiaries such
as nbanews.com cannot pool their inventory. Instead, additional checks are
required to ascertain whether fakesportsnews.com and sportsnews.com are
related or whether adx vetted fakesportsnews.com as well. This issue remains
unaddressed by current validation mechanisms.

_Caveat._ The above example illustrates explicit collusion between
sportsnews.com and fakesportsnews.com. It is possible for this collusion to be
inadvertent in many cases — e.g., if sportsnews.com and fakesportsnews.com are
both assigned the same publisher ID through a common intermediary (an SSP, for
example).

In essence, the trouble with the ability to pool multiple unrelated publisher
websites behind a single publisher ID is that it provides a mechanism for low-
quality publishers to effectively ‘launder’ their inventory by becoming
indistinguishable from the inventory of high-quality publishers. Further, this
can be achieved without explicit vetting by the AdX who likely issued the
publisher ID to a high-quality publisher (or an SSP), which in turn
intentionally or unintentionally did not suitably vet low-quality publishers
whose inventory it decides to pool. As we show later, such pooling is common.
In fact, we find some AdXs (e.g., Google) even providing services, via
intermediaries, that facilitate pooling of unrelated entities.

##  3 Data Collection

In this section, we explain the selection of publishers that we study (Section
3.1) and our methodology for collection of ads.txt, sellers.json, and ad-
related metadata associated with these websites (Section 3.2).555The dataset
is available at the following OSF project repository:
https://osf.io/hxfkw/?view_only=bda006ebbd7d4ec2be869cbb198c6bd5.

Figure 2: Overview of data gathering methodology.

###  3.1 Publisher domain selection

Our goal is to identify practices that prevent effective end-to-end validation
of the ad inventory supply chain, among high-quality and low-quality websites.
We use well-known misinformation domains as a case study for low-quality
websites and use comparably ranked domains from the Tranco list [33] that have
ads.txt as a stand-in for high-quality websites (referred to as a control).

Selection of misinformation domains.  Identifying misinformation websites is
not the focus of this work. Therefore, rather than performing our own
categorizations of domains, we leveraged existing datasets of misinformation
domains curated by media scholars [34, 35] and computer scientists [36,
37].666For domains obtained from [35], we discard those labeled as ‘state’,
‘political’, ‘credible’, and ‘unknown’. To construct our misinformation domain
set, we began by aggregating all domains from these lists and removing
duplicates. This left us with 1276 domains. Next, we discarded 434 domains
which were no longer functional. Finally, we conducted manual verification to
ensure that each remaining domain contained content that was undeniably
misinformation. We did this by classifying each misinformation website using
multiple independent sources – Politifact, Snopes, MBFC, OpenSources,
PropOrNot, and FakeNewsCodex. We excluded domains that were now parked
domains, seemed to have been repurposed, or had conflicting labels across
different sources. This left us with a set of 669 unique misinformation
domains (M${}_{\text{full}}$). Note that none of the misinformation websites
were blocked by Google Safe Browsing. Of these 669 domains, we created a
subset of all the 251 domains that had an ads.txt file and were also present
in the Tranco top-million list [33] (M${}_{\text{ranked}}$). In parts of our
analysis, M${}_{\text{ranked}}$ is used to perform a controlled comparison on
the prevalence of ads.txt and sellers.json discrepancies between
misinformation and non-misinformation sites.

Selection of benign (control) domains.  In order to facilitate comparisons of
the prevalence of specific behaviors between misinformation and benign
domains, we created a control set of non-misinformation domains
(C${}_{\text{ranked}}$). For each domain in M${}_{\text{ranked}}$, we included
the most-similarly ranked non-misinformation domain that also had an ads.txt
file. We performed matching based on ranks to avoid confounds related to
popularity of domains. We also created a control set of the Tranco top-100K
domains which contained an ads.txt file (C${}_{\text{100K}}$). This dataset
was used to investigate the broad prevalence of pooling. These four sets of
domains (M${}_{\text{full}}$, M${}_{\text{ranked}}$, C${}_{\text{ranked}}$,
and C${}_{\text{100K}}$) are the subject of our study.

###  3.2 Data gathering

Our analysis relies on three sources of data: (1) ads.txt and sellers.json
files related to publishers, AdXs, and other intermediaries; (2) bid/ad
requests and responses during visits to a publisher domain; and (3) brands
placing advertisements on a publisher domain. An overview of our data
collection is illustrated in Figure 2. Table I lists the notations for
different datasets used throughout the paper.

Notation | Description | Size
---|---|---
M${}_{\text{full}}$ | Complete set of misinformation domains studied | 669
M${}_{\text{ranked}}$ |  Sites in M${}_{\text{full}}$ with ads.txt & part of Tranco-1M | 251
C${}_{\text{ranked}}$ |  Similar-ranked NM with ads.txt for each M${}_{\text{ranked}}$ | 251
C${}_{\text{100K}}$ |  Tranco Top-100K domains with ads.txt presence | 20K
D${}^{\text{static}}_{\text{10/21}}$ |  ads.txt and sellers.json crawled on 10/21 | 1.2K
D${}^{\text{static}}_{\text{2/22}}$ |  ads.txt and sellers.json crawled on 02/22 | 1.4K
D${}^{\text{crawls}}$ |  (PD, AdX, OD) tuples from dynamic crawl of M${}_{\text{full}}$ | 2.8K
D${}^{\text{brands}}$ |  (PD, Brand) pairs from dynamic crawl of M${}_{\text{full}}$ | 4.2K
TABLE I: Description of dataset notations and sizes. NM represents non-
misinformation domains. PD and OD represent publisher domain and owner domain
respectively.

ads.txt and sellers.json files.  To build evidence for the occurrence of
pooling and other misrepresentations, we need to analyze published ads.txt and
sellers.json files associated with publishers and ad-tech entities.

Processing ads.txt files.  We programmatically searched for an ads.txt file at
the root of each domain in M${}_{\text{full}}$, M${}_{\text{ranked}}$,
C${}_{\text{ranked}}$, and C${}_{\text{100K}}$. From these ads.txt files, we
extracted the domains of all the entities that were listed as DIRECT sellers
or RESELLERS of the publisher’s inventory.

Processing sellers.json files.  For each seller identified in our ads.txt
files, we programmatically obtained the sellers.json file at their domain’s
root. When the sellers.json file was unavailable at this path, a best-effort
attempt was made to manually identify any non-standard location of this file
(e.g., Google used a non-standard location). We then parsed each sellers.json
file to identify entities (and their domains) that were associated with
PUBLISHER, INTERMEDIARY, or BOTH entries. Finally, until no new entities were
discovered, we recursively fetched and parsed the sellers.json file associated
with the entities labeled as either INTERMEDIARY or BOTH. This recursive
fetching ensures that we have complete coverage of all the supply chain
entities that may sell the inventory of all publishers in our datasets.

The D${}^{\text{static}}_{\text{ }}$ datasets.  The above process was repeated
in October 2021 and February 2022. We refer to the corresponding datasets of
ads.txt and sellers.json files as D${}^{\text{static}}_{\text{10/21}}$ and
D${}^{\text{static}}_{\text{2/22}}$. In total, each dataset included over 98K
relationships from ads.txt files and 2.4M relationships from sellers.json
files. We primarily rely on D${}^{\text{static}}_{\text{2/22}}$ for the
remainder of this study and only use D${}^{\text{static}}_{\text{10/21}}$ to
understand temporal changes in publisher and seller behaviors (Section 7).

Limitations of this dataset.  It should be noted that, by itself, this dataset
cannot present evidence that pooling is actually occurring. This is because
each publisher is responsible only for the content of their own ads.txt file,
misrepresentations in other publishers’ ads.txt file is not sufficient to
imply pooling. This is because the ads.txt standard does not require a
publisher to verify that their account IDs are not used by other unrelated
entities.

Obtaining real-time bidding metadata.  To identify concrete evidence of
pooling, we constructed a dataset of real-time bidding metadata. These include
bid requests, responses, redirects, and payloads associated with ad requests
and responses. Publisher ID is communicated in requests and responses to
different entities in the advertising ecosystem. Therefore, during a crawl of
a given publisher’s website, observing an unrelated entity’s publisher ID in
these metadata constitutes a more concrete evidence of pooling between them.

Crawling configuration.  Following the best practices for crawling-based data
collection and methodology specification [38, 39], we obtained this dataset by
using a web crawler driven by Selenium (v4.1.0) and the Chrome browser (v91.0)
with bot mitigation strategies (multiple randomly timed full page scrolls and
randomized mouse movements), Xvfb from a non-cloud vantage point, and a
30-second waiting time after the completion of each page load. Prior work has
shown that the bidders and content of ad slots are impacted by previous
browsing history [40, 41]. Therefore, each page load was conducted with a new
browser profile to avoid biases in our measurements of ad responses and
content. With these settings, we loaded each website in M${}_{\text{full}}$
and saved the associated HTTP Archive (HAR) files and full-page screenshots.
In order to improve the completeness of our dataset, each crawl was repeated
twice.

Extracting ad-related requests and responses.  From each HAR file, we obtained
all requests to and responses from ad-related URLs by matching them against
nine popular advertising filter lists used in prior work [42]. Matching was
performed using the adblockparser
library.777https://github.com/scrapinghub/adblockparser

Extracting real-time bidding metadata from ad-related requests and responses.
We extracted the URLs, content, and HTTP POST-encoded data from each ad-
related request, response, and redirect. From this data, we identified all
(key, value) pairs encoded as key=value (including minor variations such as
key=“value”). Finally, we performed a match of all identified values with the
publisher/seller IDs extracted from the D${}^{\text{static}}_{\text{2/22}}$
dataset. To reduce the incidence rates of false-positives, we only matched IDs
with a length greater than five characters. Requests, responses, and redirects
containing a match are labeled as real-time bidding-related flows. For each of
these real-time bidding-related flows, we assigned the publisher domain from
which the request originated as the publisher domain (i.e., observed inventory
source) and the AdX domain owning the detected publisher ID as the AdX (i.e.,
inventory seller). We then used the sellers.json of the AdX/inventory seller
to identify the domain that owned the publisher ID found in the ad request.
This domain is labeled as the owner domain (i.e., expected inventory source).
All (publisher domain, AdX, owner domain) triples were saved for later
analysis.

Methodology validation.  To verify that our method for extraction of real-time
bidding metadata was valid, we conducted a manual validation test which
included all RTB-related flows recorded from one of our crawls. In this test,
we manually examined the flows to verify that they did in fact include a $key$
that suggested that the $value$ was associated with a publisher/seller ID. Our
manual verification yielded a false-positive rate of 1.5%.

The D${}^{\text{crawls}}$ dataset.  We label this dataset of (publisher
domain, AdX, owner domain) triples as D${}^{\text{crawls}}$. In total, the
D${}^{\text{crawls}}$ dataset consisted of 3.1K distinct triples observed
across 2 crawls of 669 M${}_{\text{full}}$ domains. In Section 4, we use these
triples to identify evidence of (dark) pooling in the misinformation
ecosystem.

Limitations of this dataset.  The advertising ecosystem and real-time bidding
is auction-driven and participation from entities is non-deterministic.
Therefore, any observations of entities and IDs in requests and responses
related to ads will vary from one visit to the next, even when all other
client-related factors are identical. Further, the client browser provides a
vantage point that only affords observations of the winners of real-time
bidding auctions. Finally, it is possible that some communications of the
seller/publisher ID are not visible to us due to hashing or other obfuscation
[43]. As a consequence, the completeness of our crawl data is limited (despite
crawl repetition). Unfortunately, this limitation is unavoidable. It should be
noted, however, that this limitation only impacts the completeness of our
findings and not the correctness. In other words, the prevalence of pooling
and other discrepancies, as measured by our crawls, are only a lower-bound for
their actual prevalence.

Identifying brands in advertisements.  We also analyzed the characteristics of
the brands whose ads appear on misinformation sites. To identify brands
advertising on different misinformation domains, we performed 10 separate
crawls. This repetition was to account for the probabilistic nature of online
advertising which allows a single user to receive multiple different ads on
repeated visits to the same website. In each of the 10 crawls, after each page
load was complete and the 30-second wait period ended, we identified and
automated clicks on the DOM elements associated with each advertising-related
URL found on the page. These clicks resulted in a number of redirects and
eventually redirected the browser to the destination website for the brand
associated with the advertisement. We used this landing website’s domain as
the “brand” associated with the ad.

Methodology validation.  To test the effectiveness of this methodology, we
conducted a pilot test on one crawl where we compared the brand names
identified through manual analysis and the automated approach. We found that
in 30% of the displayed ads, the automated approach failed to identify the
brand associated with an ad. In these cases, failure was largely due to the
fact that some ad-related URLs were associated with hidden ‘unclickable’
elements of the ad. As a result, our automated approach could not correctly
trigger the redirects that reach the website associated with the brand.
Therefore, to ensure completeness, we supplemented our automated approach by
manually annotating the ads on all crawls that could not be associated with
brands. This process was relatively quick since most of the ads had been
already automatically annotated.

The D${}^{\text{brands}}$ dataset.  Using the above methodology, we recorded
all the (publisher, brand) pairs identified with this methodology in a dataset
that we refer to as D${}^{\text{brands}}$. In total, the D${}^{\text{brands}}$
dataset consisted of 4.2K distinct (publisher, brand) pairs and 2.1K unique
brands.

Crawl success rate.  Our crawling infrastructure for ads.txt and sellers.json
had 100% success rate (i.e., if a website had a file, we were able to crawl it
without any failures). Dynamic web crawls did fail for a small percentage of
websites ($<5\%$) due to timeouts. However, we were able to crawl all websites
at least once since we performed multiple crawls for each website.

Ethical considerations.  We discuss the ethics of our web crawling along three
dimensions: infrastructure costs, privacy risks, and advertising costs caused
by this study.

Infrastructure costs.  Our crawling methodology was used only for measuring
the prevalence of compliance issues and misrepresentations to understand its
effect on brands. Our two dynamic crawls were not conducted concurrently to
avoid stress on the website servers. Similarly, our additional static crawls
for ads.txt and sellers.json were performed six months apart. Our crawling
mechanism was in line with the typical auditing studies as described in
Sandvig et al. [44] and is not considered in violation of the CFAA per a
supreme court ruling in Van Buren vs. United States [45].

Privacy risks.  By visiting only the front pages of each domain using full-
fledged web browsers, our dynamic crawls did not disobey the robots.txt
directives set by publishers. Additionally, our study did not involve human
subjects or gather any personally identifiable information (PII).

Advertising costs.  To actually understand what brands are advertising on
misinformation websites and what ad-exchange is responsible for showing that
ad, we had no other option but to explicitly click on the ads shown during the
dynamic load of the websites because of the absence of public APIs to obtain
this information. The dollar costs associated with our clicks are negligible
(CPMs are in the order of fractions of cents and we clicked a total of 4247
ads). This negligible cost trade-off is necessary to understand
vulnerabilities in ad-tech and the monetization of online misinformation
ecosystems.

Overall, our study respects the principle of beneficence as outlined in the
Menlo Report [46] and Belmont Report [47] by maximizing the possible benefits
and minimizing the harms.

##  4 Measuring Problematic Representations

In this section, we answer the question: what are the incidence rates of
pooling and other problematic representations in the misinformation ecosystem?
Specifically, we focus on measuring the prevalence of situations which would
result in the failure of any reasonable inventory supply chain validation
efforts. In Section 4.1, we provide a broad overview of the types of errors
and misrepresentations commonly seen in sellers.json and ads.txt files that
hinder end-to-end supply chain validation. We compare the prevalence of these
errors on our control and misinformation domains. Then, in Section 4.2, we
present evidence for ad inventory pooling in the advertising ecosystem and
highlight cases of dark pooling by misinformation domains.

###  4.1 Prevalence of misrepresentations

Certain types of errors or misrepresentations in a publisher’s ads.txt file or
an AdX’s sellers.json file may prohibit automated end-to-end verification of
the ad inventory supply chain. In our dataset, we identified eight such
problematic representations: (1) _Misrepresented direct relationships:_ These
are cases when a publisher claims that an AdX is a DIRECT seller of its
inventory, but the AdX sellers.json lists it as an INTERMEDIARY (reseller)
relationship; (2) _Fabricated publisher/seller IDs:_ A publisher’s ads.txt
claims that an AdX is authorized to sell its inventory, but the AdX’s
sellers.json does not claim any relationship with the publisher; (3)
_Conflicting relationships:_ A publisher claims multiple relationships with an
AdX in their ads.txt, but the AdX only lists one of these in their
sellers.json; (4) _Invalid seller type:_ The sellers.json does not use any of
the three acceptable types (PUBLISHER, INTERMEDIARY, or BOTH) to describe the
source of the inventory associated with a specific publisher/sellerID; (5)
_Invalid domain names:_ The sellers.json does not present a valid domain name
in the ‘domain’ field; (6) _Confidential sellers:_ The sellers.json lists the
domain associated with the publisher/sellerID as ‘confidential’. It should be
noted that this is not a violation of the sellers.json standard, but does
prevent end-to-end supply chain verification; (7) _Listing intermediaries
without sellers.json:_ An AdX’s sellers.json lists intermediaries that do not
have a sellers.json; and (8) _Non-unique publisher/seller IDs:_ The
sellers.json lists multiple publishers and domains with the same
seller/publisher ID.

In Table II, we present the prevalence of these misrepresentations in ads.txt
files from C${}_{\text{ranked}}$ and M${}_{\text{ranked}}$ domains. We find a
statistically significant difference in the number of errors present in
ads.txt files from C${}_{\text{ranked}}$ and M${}_{\text{ranked}}$ domains
($\chi^{2}$-test; $p<.05$). We find that, even when controlling for the rank
of a website, misinformation domains are more likely to contain higher rates
of ads.txt errors that result in failed supply chain validation. Table III
compares the fraction of misrepresented/erroneous entries from sellers.json of
AdXs that serve M${}_{\text{full}}$ (344 AdXs) domains with the sellers.json
from AdXs that do not serve any of our M${}_{\text{full}}$ domains (483 AdXs).
Once again, we see that the AdXs that engage with misinformation domains are
significantly more likely to have errors in their sellers.json that result in
the inability to perform supply chain validation. Taken all together, these
results highlight the broad unreliability of the ads.txt and sellers.json
standards and their current inability to allow end-to-end validation of the
supply chain. This problem is especially pronounced for the ad inventory
associated with misinformation domains.

Type | C${}_{\text{ranked}}$ | M${}_{\text{ranked}}$
---|---|---
Misrepresented direct relationships | 51% | 64%
Fabricated publisher/seller IDs | 65% | 83%
Conflicting relationships | 33% | 49%
TABLE II: Prevalence of problematic representations in ads.txt from domains in C${}_{\text{ranked}}$ and M${}_{\text{ranked}}$. Type | No M${}_{\text{full}}$ |  $\geq$ 1 M${}_{\text{full}}$
---|---|---
Invalid seller type | 0.7% | 0%
Invalid domain names | 0.8% | 54.8%
Confidential sellers | 0.1% | 46.1%
Intermed. w/o sellers.json | 13.3% | 49.8%
Non-unique IDs | 62.6% | 95.3%
TABLE III: Fraction of sellers.json entries that contain different problematic
representations from AdXs serving no M${}_{\text{full}}$ domains and at least
one M${}_{\text{full}}$ domain.

###  4.2 Prevalence of pooling

As described in Section 2.2, pooling is the practice of using a single AdX
account to manage the inventory of multiple domains. This results in a single
AdX-issued publisher ID being associated with multiple domains. Although this
practice enables more efficient management of advertising resources for
publishers, it comes at the cost of increased opacity in the advertising
ecosystem and reduces the usefulness of the end-to-end supply chain validation
mechanisms introduced by the IAB.

Gathering evidence of pooling with the D${}^{\text{static}}_{\text{2/22}}$
dataset.  We begin by identifying evidence of pooling in the
C${}_{\text{100K}}$ and M${}_{\text{full}}$ websites from our
D${}^{\text{static}}_{\text{2/22}}$ dataset. We use this dataset of ads.txt
files associated with the Tranco top-100K domains to identify all cases where
multiple domains listed the same publisher ID and AdX as a seller of their
inventory. In total, we observed 79K unique pools — i.e., 79K unique
(publisher ID, AdX) pairs were observed to have been shared by multiple
publisher domains. Of these 79K pools, 8.7K (11%) of the pools also included
at least one of the misinformation domains in M${}_{\text{full}}$. We refer to
these 79K pools identified through the D${}^{\text{static}}_{\text{2/22}}$
dataset as static pools. The size of these pools ranged from 2 to nearly 9K
domains, with an average of 70 domains per pool.

Characteristics of pools identified in the D${}^{\text{static}}_{\text{2/22}}$
dataset.  These above reported pool sizes were certainly larger than what we
anticipated and necessitated additional inspection for a better understanding
of our findings. Specifically, we paid attention to the organizational
relationships between pooled entities and whether pooling was occurring due to
some ad-tech related mechanism.

Organization homogeneity of pools.  From a cursory manual inspection of our
pools, we observed (rather unsurprisingly) that larger pools appeared to
contain many organizationally unrelated domains — i.e., they were
heterogeneous. To measure the prevalence of such types of pools at scale, we
mapped each domain in a pool to their parent organization using the DuckDuckGo
entity list [48] and labeled each pool as follows: (1) Homogeneous: Pools
whose member domains could all be mapped to a single parent organization; (2)
Potentially homogeneous: Pools for which the parent organizations of all
domains could not be identified. However, all domains that could be mapped
were found to have the same parent organization; (3) Heterogeneous: Pools
whose member domains were owned by more than one parent organization; and (4)
Unknown: Pools for which no domain could be mapped to a single parent
organization.

A breakdown of the prevalence of each of these types of pools is provided in
Table IV. We make three key observations. First, we notice that heterogeneous
pools comprise a large fraction of all pools — a deviation from the
expectation that pools are allowed in order to facilitate resource sharing
between sibling domains. The high incidence rates of heterogeneous pools in
non-misinformation domains also suggests that there may be legitimate (i.e.,
not ill-intentioned) mechanisms that facilitate publisher ID sharing between
organizations. Second, pools containing misinformation domains are
statistically significantly more likely to be heterogeneous (85%) than pools
without misinformation domains (41%) [$\chi^{2}$-test; $p<.05$]. Finally, we
see that pools containing misinformation domains are statistically
significantly larger (412.1 domains/pool) than pools without misinformation
domains (20.3 domains/pool) [2-sample $t$-test; $p<.05$]. Taken together, the
latter two findings lend credence to the theory that misinformation domains
are effectively ‘laundering’ their ad inventory by participating in mechanisms
that facilitate large heterogeneous pools.

| Pools w/ M${}_{\text{full}}$ | Pools w/o M${}_{\text{full}}$
---|---|---
Pool Type | # Pools |  $\mu_{size}$ | # Pools |  $\mu_{size}$
Homogeneous | 40 (0.4%) |  2.6 | 6.7K (9.6%) |  2.6
Pot. Homog. | 913 (9.1%) |  18.8 | 18.4K (26.6%) |  7.0
Heterogeneous | 8.6K (85.0%) |  482.5 | 28.4K (41.0%) |  42.2
Unknown | 563 (5.6%) |  4.3 | 15.7K (22.7%) |  3.9
All pools | 8.7K |  412.1 | 70.5K |  20.3
TABLE IV: (From D${}^{\text{static}}_{\text{2/22}}$) Prevalence of pools in
C${}_{\text{100K}}$. Pools are broken down by organization homogeneity and
whether they contained a misinformation domain from the M${}_{\text{full}}$
dataset. $\mu_{size}$ denotes the average (mean) number of domains in a pool.

Pools facilitated by authorized ad-tech mechanisms.  Our previous findings
about the high rate of heterogeneous pools of large sizes, even among non-
misinformation domains, suggests that there are ad-tech mechanisms that
organically facilitate pooling. After further investigation we found that many
of the heavily pooled (publisher ID, AdX) pairs appeared to be issued by a
small number of AdXes whose sellers.json file indicated that the issued
publisher IDs were not associated with specific publishers but instead other
ad platforms (AdXes or SSPs). Put in other words, the publisher ID issuing
AdX’s sellers.json file indicated that the ‘owner domain’ of the pooled
publisher ID was another AdX/SSP — suggesting that these pooling mechanisms
might be authorized by the AdX platforms themselves for aggregating and
reselling ad inventory of different publishers.

In Table V we see that three of the most commonly pooled owner domains are in
fact associated with large AdXs (google.com, justpremium.com owned by GumGum,
and townnews.com). Notably, nearly 25% and 12% of the pools that used GumGum-
and Google-owned publisher IDs also contained known misinformation domains.
For example, 100percentfedup.com, a site that promoted anti-vax and stolen-
election theories, received ads through pools using Google-owned publisher IDs
issued by the AdX ‘Index Exchange’. In contrast, TownNews, an advertising firm
focused on serving local media organizations did not have a single pool
containing known misinformation domains.

To investigate the prevalence of pooling, we searched AdX sanctioned-programs
that might require pooling — i.e., is there public documentation of authorized
programs to allow unrelated publishers to pool their inventory through
intermediaries. Notably, we found public documentation of Google’s Multiple
Customer Management (MCM) program that allows ‘Google MCM-partner’
organizations to manage the inventory of multiple client domains through a
single account [49]. As a result, all the domains that are managed by an MCM
partner are served ads via the same publisher/seller ID of the intermediary
MCM organization. Our results show that misinformation domains are able to
monetize their ad inventory by being part of these MCM networks. Our results
highlight a violation of Google’s own policies regarding advertising on
websites ‘making unreliable claims’ or ‘distributing manipulated media’ [50].
However, public documentation does not state whether Google delegates all
domain and content verification responsibilities to their MCM partners and
therefore it remains unclear if the violation is a failure of Google’s own
verification practices or those of their MCM partners. Similarly, the pooled
misinformation domains using GumGum-owned publisher IDs were also in violation
of GumGum’s content policy [51].

Type | Domain | Pools | Pools w/ M${}_{\text{full}}$
---|---|---|---
Owner of pub.ID | google.com | 5.1K | 598
gannett.com | 370 | 5
justpremium.com | 337 | 84
townnews.com | 313 | 0
hearst.com | 219 | 1
AdX issuer of pub.ID | google.com | 10.3K | 461
taboola.com | 6.6K | 132
freewheel.com | 3.9K | 625
pubmine.com | 3.6K | 2
openx.com | 2.4K | 524
TABLE V: (From D${}^{\text{static}}_{\text{2/22}}$) Most pooled domains and AdXs. The top five rows represent the most frequently observed domains whose publisher IDs were used in pools. The bottom five rows represent the most frequently observed AdXs who issued the publisher IDs that were used for pooling. Reason | All pools | Pools w/ M${}_{\text{full}}$
---|---|---
Total pools | 79K | 8.7K
PubID unlisted | 20.9K | 2.5K
sellers.json not public | 16.5K | 2.0K
Owner not listed | 2.6K | 135
Owner is ‘confidential’ | 3.4K | 86
TABLE VI: (From D${}^{\text{static}}_{\text{2/22}}$) Pools using IDs of
unknown owners. Reasons for failed identification of the owners of publisher
IDs used in pools.

Pools using publisher IDs with hidden or unknown owner domains.  During our
investigation, we also discovered that many AdX sellers.json files did not
allow identification of the owner domain of the publisher ID that was used.
This comprised nearly half of all identified pools. The breakdown of reasons
for this is provided in Table VI. Here, we see that the most common reasons
for failed identification of the owners of publisher IDs being used in pooling
are: (1) the publisher ID is itself unlisted in the issuing AdX’s sellers.json
file and (2) the unavailability of a public sellers.json from the AdX that
issued the publisher ID. It is important to note that any of the reasons shown
in Table VI would result in the impossibility of any end-to-end supply chain
verification. Interestingly, we find no statistical differences
($\chi^{2}$-test; $p<.05$) between the reasons for failed identification of
owners of non-misinformation and misinformation pools. This suggests that the
issues of poor compliance with end-to-end supply chain verification procedures
are industry-wide and no specific cause for these failures are exploited by
misinformation domains.

Finding actual occurrences of pooling with the D${}^{\text{crawls}}$ dataset.
Because of the high rates of errors, misrepresentation, and unreliability of
publisher-sourced ads.txt files and the incompleteness of AdX-sourced
sellers.json files, it is important to note that our analysis of the
D${}^{\text{static}}_{\text{2/22}}$ can only be used as evidence that suggests
the widespread practice of potential pooling. In order to confirm a pool’s
existence with certainty we need to observe it ‘in the wild’. To achieve this,
we leverage the set of all (publisher domain, AdX, owner domain) triples
recorded in our D${}^{\text{crawls}}$ dataset (cf. Section 3.2). Since these
were obtained from actual real-time bidding metadata from crawls of the
M${}_{\text{full}}$ dataset, they provide concrete evidence of pooling
actually being leveraged by known misinformation sites (i.e., dark pooling).
In total, we gathered 2.8K (publisher domain, AdX, owner domain) triplets
through two crawls of M${}_{\text{full}}$ sites from which we identified 297
pools across 38 ad exchanges. These 297 pools are depicted in Figure 7 (in
Appendix $\S$B) Of these, 218 pools (73.4%) overlapped with those identified
in our analysis of the D${}^{\text{static}}_{\text{2/22}}$ dataset and 79 were
new. The non-existence of 79 pools in the D${}^{\text{static}}_{\text{2/22}}$
dataset prevented us from classifying them and this once again highlights the
ad-industry’s poor compliance with ads.txt and sellers.json standards.

Google and PubMatic were found to be the issuers of the publisher IDs
associated with 120 and 48 pools, respectively. These pools enabled
advertising supply chains for 127 (Google) and 67 (PubMatic) unique
misinformation domains. 33Across and Gourmet Ads were found to be the owners
of publisher IDs that were shared by the most number of misinformation domains
(30 and 23 domains, respectively). Both publisher IDs were issued by PubMatic.
Other notable AdXes (and count of the number of publisher IDs issued by them
which were pooled by misinformation websites) include Rubicon Project (now
Magnite) (34), ContextWeb (now PulsePoint) (30), Amazon (28), and media.net
(25).

Homogeneity of D${}^{\text{crawls}}$ pools.  From 297 pools, we were able to
identify the presence of 15 homogeneous and 203 heterogeneous pools. The
homogeneity of the remaining pools could not be determined. The largest
homogeneous pool shared a publisher ID issued to funkedigital.de by PubMatic.
This pool included nine domains such as principia-scientific.org,
allnewspipeline.com, russia-insider.com — Media Bias/Fact Check identified all
the nine domains as ‘Conspiracy Theory’ or ‘Propaganda’ domains with ‘Low’
factual reporting and having ‘Right’ to ‘Extreme-Right’ bias. We identified
stories related to climate change denial, vaccination misinformation, and pro-
insurrection views — all in violation of PubMatic’s own content guidelines for
publishers [52]. Incidentally, PubMatic also supplied the publisher ID
associated with the largest heterogeneous pool with 47 unique misinformation
domains, including drudgereport.com and worldtruth.tv. Unfortunately, the
PubMatic’s sellers.json file did not list the actual owner of the publisher ID
associated with this heterogeneous pool.

D${}^{\text{crawls}}$ pools and the Google MCM program.  In order to identify
occurrences of pooling in Google’s MCM program, we identified pools associated
with the publisher IDs issued by Google to MCM partners. Of the 203
heterogeneous pools identified, a vast majority were labeled as confidential
in Google’s sellers.json [53] but we were able to link 15 to Google’s MCM
program based on public documentation. In total, Google’s MCM partners were
associated with 27 misinformation domains.Some of these MCM partners whose
Google-issued Publisher IDs were pooled by misinformation domains include
Adnimation, Ezoic, etc. Misinformation domains supported by Google’s MCM
program included 369news.net (pseudoscience/anti-vaxx theories) and
truthandaction.org (extreme-right propaganda/misinformation), amongst other
similar domains. The MCM partners most frequently found to be using their
Google-issued publisher ID for pools containing misinformation websites were
Monumetric (5 pools) and Freestar (4 pools).

Takeaways.  Our analysis shows a widespread failure to adhere to the ads.txt
and sellers.json standards and the compliance is even more weaker amongst
misinformation domains (Section 4.1). This poor adherence has one major
consequence: end-to-end validation of the ad-inventory supply chain is not
always possible, particularly in the case of misinformation domains. Further
compounding supply chain validation challenges, we find that the pooling of
publisher/seller IDs by unrelated publishers is also widespread (Section 4.2).
Misinformation domains, which violate the publisher content policies of many
AdXs, are able to monetize their ad inventory through these pools. In fact, we
find that in many cases they are able to leverage the authorized programs of
the same AdXs whose policies they violate.

##  5 Brand Analysis

In this section, we analyze the display ads loaded on misinformation websites
to identify the advertisers/brands that end up buying their ad inventory.

Overview of brand safety.  DSPs and AdXs provide brand safety [54] features
for brands to avoid buying ad impressions next to unwanted content. Brand
safety features allow brands to block such unwanted ad inventory through a
block list of domains (or URLs) or publisher IDs [53]. One would expect that
reputable brands would avoid buying the ad inventory of misinformation
websites through these brand safety features. However, the ad inventory
misrepresentations we described in $\S$4 (e.g., publisher ID pooling and
invalid domain names), undermine the effectiveness of brand safety. Thus, we
suspect that some unsuspecting reputable brands may end up buying the ad
inventory of misinformation websites despite using brand safety features.
While brand safety data is not externally measurable, we resort to studying
the correlation between prevalence of ad inventory misrepresentation and ads
from reputable brands.888To concretely study brand safety, we would need
proprietary data from ad exchanges or brand safety services. Since this data
is not available to us, we are unable to provide individualized evidence
whether reputable brands not want their ads on misinformation websites and
that their brand safety efforts are undermined due to the aforementioned ad
inventory misrepresentations. That said, it is well-known in the online
advertising industry that reputable brands generally do not want to advertise
on misinformation websites. In fact, this has become a major point of emphasis
in recent brand safety initiatives [55, 56, 57]. Taking the example of
Breitbart, there is ample evidence that brands were unaware and objected to
having their ads shown on Breitbart [55, 58, 59].

Data collection.  To investigate whether there is correlation between
misinformation websites employing dark pooling and reputable brands buying
their ad inventory, we curate D${}^{\text{brands}}$ by crawling each of the
669 misinformation website ten times as discussed in Section 3.2. We are able
to collect a total of 4,246 ads belonging to 2,068 distinct brands. Figure 3
(Top) plots the distribution of the number of distinct brands across
misinformation websites. We find that a non-trivial fraction of misinformation
sites are able to get ads from tens of distinct brands. Specifically, 23
misinformation sites have ads from at least 41 distinct brands each while 142
misinformation sites have ads from at most 10 distinct brands each.

Figure 3: Top: Distribution of the number of distinct brands across different
misinformation websites. Bottom: Distribution of number of distinct brands on
misinformation websites with/without ads.txt.

Reputable brand classification and prevalence.  To assess whether these ads
are from reputable brands, we use their Tranco ranks as a rough proxy for
their reputation. Specifically, we classify brands with top-1K Tranco ranking
as “reputable”. Figure 4 shows the number of distinct reputed and non-reputed
brands across top-20 misinformation websites that contain ads from the highest
distinct brands. Perhaps surprisingly, we find that Breitbart – a well-known
misinformation site – is able to attract ads from the highest number of
distinct brands. The two reputed brands with ads on Breitbart include Forbes
and GoDaddy. We note that these top-20 misinformation sites tend to have more
ads from reputed brands on average as compared to the remaining misinformation
sites. Specifically, the average number of reputed brands is 2.05 for the
top-20 misinformation sites in Figure 4 and 0.78 for the remaining
misinformation sites.

Figure 4: Distribution of reputed and non-reputed brands among the top-20
misinformation sites with the highest number of distinct brands advertising on
their website.

Correlation between ad inventory misrepresentation and number of brands.
Next, we investigate whether the misrepresentation of ad inventory by
misinformation websites impacts their ability to sell their ad inventory.

First, Figure 3 plots the distribution of the distinct brand counts of all the
brands advertising on misinformation sites with/without ads.txt. Note that we
are looking for existence of ads.txt.999The mere existence of ads.txt does not
guarantee the veracity of its content. A misinformative publisher could have
misrepresented ads.txt entries to bypass brand checks. Advertisers are
recommended by IAB to perform ads.txt checks against the data observed in the
bid requests before making a bid. We find that misinformation sites with
ads.txt are able to attract ads from twice as many reputable brands on an
average as compared to the sites without ads.txt. We conclude that some
reputed brands do at least seem to avoid the misinformation websites without
ads.txt.

Second, Figure 5 shows the scatter plot of median Tranco ranks of brands and
the number of pools101010We use the list of 79K static pools from
D${}^{\text{static}}_{\text{2/22}}$ dataset and quantify the number of pools
that each misinformation domain is a part of. for each misinformation website.
We find that misinformation websites that are part of more pools tend to
attract higher ranked, and likely more reputable, brands. To quantify this
correlation, we use simple linear regression to measure the slope. We find
that the slope is -36.53, reaffirming our conclusion that pooling likely
enables misinformation websites to undermine brand safety protections. A
refinement of the regression analysis where we only take into account
heterogeneous pool (signaling dark pooling) results in the slope of -55.09,
indicting an even stronger correlation.

Figure 5: Scatter plot showing the relationship between median brand rank vs.
pool count for misinformation sites

Takeaways.  In summary, our results show that the misrepresentation of ad
inventory, and the dark pooling in particular, by misinformation sites seems
to play a role in their ability to monetize their ad inventory through reputed
brands. We found that the ad inventory of misinformation websites that use
dark pooling are more likely to be bought by reputable brands. While
interpreting our results, it should be noted that we can only observe the
false negatives of brand safety services that an advertiser might use. Put
differently, it is not possible to accurately deduce the success of brand
safety services because of our fundamental inability to publicly observe their
true positives.

##  6 Related Work

Examining the online advertising ecosystem.  In recent years, there have been
many research efforts to bring transparency to the mechanisms of online
advertising. A large number of these have focused on studying personal data
collection and sharing to deliver personalized ads [60, 61, 62, 63, 64, 65].
Our work instead focuses on the prevalence of inventory fraud, pooling, and
its impact on brands.

Inventory fraud.  There have been a few measurements related to ads.txt
standard and related inventory fraud since its introduction. However, no work
has focused on sellers.json or the ad-fraud that emerges by combined failure
of ads.txt and sellers.json. In 2019, Bashir et al. [21] gathered and
conducted a longitudinal analysis of ads.txt files. They found that these
files were riddled with syntactic errors and inconsistencies that made them
difficult to process in an automated fashion. Tingleff [66] and Pastor et al.
[67] highlighted flaws of the ads.txt standard that undermines its
effectiveness in preventing ad fraud, albeit without measurements to support
their hypotheses. Some of these identified flaws are, however, supported by
measurements from Papadogiannakis et al. [68]. These findings, suggesting that
the ads.txt standard is not effectively enforced, is corroborated by our
study. Our work complements these efforts by undertaking a measurement study
of both the standards of ads.txt and sellers.json for the first time to
measure inventory fraud as well as prevalence of pooling, which allows low-
quality publishers to launder their ad inventory.

Brand safety.  There have been many studies that have highlighted the impact
of ads (and the websites on which they appear) on the reputation of a brand
[54, 69, 70, 71]. In fact, several activist efforts have successfully
leveraged brand safety concerns to demonetize misinformation. Notable among
these are the efforts of Check My Ads and Sleeping Giants [72], who
successfully used public campaigns to pressurize 820 brands to add Breitbart
News’ domain to their advertising block lists. Our cataloging of brands found
on known misinformation sites can supplement these ad-hoc efforts and increase
pressure on ad-tech to enforce its own ads.txt and sellers.json standards more
effectively. Other work has focused on measuring or improving the
effectiveness of mechanisms for identifying ‘brand safe’ web content. Most
recently, Vo et al. [73] built an image-based brand-safety classifier to
prevent ad placement on inappropriate pages. Numerous products from major ad-
tech firms such as DoubleVerify [74], Integral Ad Science [75], and Oracle
[76] have also recently started promoting their ‘brand safety’ features.

Funding infrastructure of misinformation.  Ours is not the first work to
consider the role of the online advertising ecosystem in funding
misinformation. In fact, it has been known for several years that online
advertising provides the primary revenue stream for misinformation websites
[77, 78, 79, 80, 81]. Han et al. [82], in their study focused on network
infrastructure, also explored the revenue streams on misinformation websites
and identified disproportionately high reliance on advertising and consumer
donations. Bozarth et al. [83] showed that although there is a unique
ecosystem of ‘risky’ AdXs that partner with publishers of misinformation,
there is also a heavy presence of mainstream AdXs (e.g., Google) in the
misinformation ecosystem. Braun & Eklund [84] take a qualitative approach to
understand the role of the advertising ecosystem in increasing revenues of
misinformation and the dismantling of traditional journalism. Their work,
along with numerous others [85, 86, 87], has highlighted the need for
additional transparency to realize the promise of market-based strategies to
curb funding of misinformation. Considering another angle, several studies
have also examined how deceptive ads are used to promote and fund harmful
products [88, 89, 90] and ideologies [37, 91, 92].

At a high-level, our work complements all these efforts to better understand
how the misinformation ecosystem is funded by online advertising by uncovering
and analyzing the exploitation of specific advertising-related vulnerabilities
such as pooling and relationship misrepresentations by the misinformation
ecosystem.

##  7 Concluding Remarks

Our work shows how the opacity of the ad-tech supply chain is exploited by
misinformation publishers to monetize their ad inventory. Through our
measurements, we demonstrate a widespread lack of compliance with the IAB’s
ads.txt and sellers.json standards, ad inventory pooling by misinformation
publishers, and reputed brands who end up buying this ad inventory of
misinformation publishers. Taken all together, our results point to specific
gaps that need to be further explored by the ad-tech and security research
communities.

Trust delegation in advertising partner programs.  One of our key findings is
that a small number of ad exchanges are responsible for a majority of dark
pooling. In many cases, we see the evidence that this dark pooling is achieved
through the use of legitimate partner programs made available by ad exchanges
(e.g., Google’s MCM partner program [49]). These programs serve an important
purpose — to help reduce the management burdens on small publishers. However,
as we see in our study, this expanded access facilitated via advertising
partners results in new vulnerabilities. Specifically, publishers who are in
clear violation of the policies set by an ad exchange are still able to obtain
publisher IDs issued by the exchange through their partners. One perspective
of this problem is that there is a fundamental breakdown of trust delegation —
i.e., partners are delegated the rights to assign and manage publisher IDs on
behalf of exchanges, but without being properly delegated the responsibilities
for vetting publishers and verifying their compliance with ad exchange
policies. While this work is the first to uncover this delegation of trust in
the form of verification responsibilities in the ad-tech ecosystem, it is not
new to the security community. Indeed, this type of trust delegation is a
central theme in the public key infrastructure [93], app stores [94], and
other domains. From these prior efforts to delegate verification
responsibilities, it is clear that success is only possible with effective
mechanisms to monitor compliance and to revoke delegated trust. A key
difference from prior efforts, however, is that it is not publicly known how
these trust delegation processes work within specific ad exchanges. Without
public documentation of these processes or research studies that uncover them,
we anticipate that identifying weaknesses and causes for failure will remain
an open challenge.

Supply chain transparency and compliance with industry standards.  The
programmatic advertising supply chain is complex because of the large number
of entities involved between publishers and advertisers. Further complicating
matters, our study shows that these entities are frequently out of compliance
with even basic standards such as ads.txt and sellers.json. In fact, many of
the concerning findings of our work could be addressed if advertisers were
able to trace the provenance of ad inventory using the existing ‘Supply Chain
Object’ (SCO) ad-tech standard. Unfortunately, our analysis of SCOs in $\S$C
shows that less than a quarter of bid requests actually include the SCO.
Further, even when the SCO is included in bid requests, they are often
incomplete and missing information would make end-to-end verification of the
supply chain difficult. We further find that even major ad exchanges implement
digital advertising standards in a way that hinders external independent
audits. Notably, Google’s widespread use of confidential sellers.json entries
[53] makes it challenging to identify Google AdX’s partners who are not doing
adequate compliance verification for the publishers whose inventory they list.
IAB has recently released new and updated digital advertising standards [95,
96] to improve end-to-end validation of the ad-tech supply chain. However,
these are not widely adopted yet. Therefore, in its current state, to mitigate
ad fraud and reduce ad-tech’s inadvertent funding of misinformation, it is
crucial that adoption and compliance with new and existing digital advertising
standards such as SCO, ads.txt, and sellers.json improve. However, a key
challenge is the absence of incentives for achieving compliance with these
standards. It remains to be seen if recent US regulatory efforts will improve
compliance. Notably, the Digital Services Oversight and Safety Act (DSOSA)
[97], currently in consideration in the Commerce Committee of the US House of
Representatives, introduces new requirements related to online advertising
transparency. In addition, we are currently engaged in conversations with
members of US Congress seeking to draft additional legislation specifically to
strengthen compliance with ad-tech industry standards, improve transparency
around the ad-tech supply chain, and mitigate ad fraud.

Effective notification and vulnerability reporting mechanisms.  The ad-tech
industry is currently lacking mechanisms through which supply chain
vulnerabilities may be reported. This absence has resulted in several
community-organized efforts such as the Check My Ads Institute [98] that
monitor ads on misinformation websites and use social media to report on the
brands or ad-tech loopholes that fund these publishers. While these efforts
have been successful at mitigating some of the harms from the opacity of the
supply chain, they are not systematic reports and rely on amplification via
social media in order to reach their intended targets. Further, like our
study, they generally focus on specific harms caused by the opacity of ad-tech
(e.g., funding of misinformation). There is a need to develop and investigate
the effectiveness of more generalized and systematic mechanisms for reporting
supply chain vulnerabilities and non-compliance with existing industry
standards. We are currently collaborating with the Check My Ads Institute to
disclose the supply chain vulnerabilities identified in this paper to relevant
stakeholders.

## References

  * [1] Shuai Yuan, Jun Wang, and Xiaoxue Zhao.  Real-time bidding for online advertising: measurement and analysis.  In Proceedings of the seventh international workshop on data mining for online advertising, 2013.
  * [2] OpenRTB Guidelines.  IAB: https://www.iab.com/guidelines/openrtb/, 2022.
  * [3] Display ad-tech Lumascape.  https://lumapartners.com/content/lumascapes/display-ad-tech-lumascape/.
  * [4] What’s the Difference Between Waterfall Auctions & Header Bidding?  https://clearcode.cc/blog/difference-waterfall-header-bidding/, 2022\.
  * [5] Sumayah A. Alrwais, Alexandre Gerber, Christopher W. Dunn, Oliver Spatscheck, Minaxi Gupta, and Eric Osterweil.  Dissecting ghost clicks: Ad fraud via misdirected human clicks.  In Proceedings of the 28th Annual Computer Security Applications Conference (ACSAC), 2012.
  * [6] Brett Stone-Gross, Ryan Stevens, Apostolis Zarras, Richard Kemmerer, Chris Kruegel, and Giovanni Vigna.  Understanding fraudulent activities in online ad exchanges.  In Proceedings of the ACM Internet Measurement Conference, 2011\.
  * [7] Jonathan Crussell, Ryan Stevens, and Hao Chen.  Madfraud: Investigating ad fraud in android applications.  In Proceedings of the 12th Annual International Conference on Mobile Systems, Applications, and Services, 2014.
  * [8] Vacha Dave, Saikat Guha, and Yin Zhang.  Measuring and fingerprinting click-spam in ad networks.  In Proceedings of the ACM SIGCOMM Conference, 2012.
  * [9] Apostolis Zarras, Alexandros Kapravelos, Gianluca Stringhini, Thorsten Holz, Christopher Kruegel, and Giovanni Vigna.  The dark alleys of madison avenue: Understanding malicious advertisements.  In Proceedings of the ACM Conference on Internet Measurement Conference, 2014.
  * [10] Gianluca Stringhini, Christopher Kruegel, and Giovanni Vigna.  Shady paths: Leveraging surfing crowds to detect malicious web pages.  In Proceedings of the ACM SIGSAC Conference on Computer & Communications Security, 2013.
  * [11] Kurt Thomas, Elie Bursztein, Chris Grier, Grant Ho, Nav Jagpal, Alexandros Kapravelos, Damon Mccoy, Antonio Nappa, Vern Paxson, Paul Pearce, Niels Provos, and Moheeb Abu Rajab.  Ad injection at scale: Assessing deceptive advertisement modifications.  In IEEE Symposium on Security and Privacy, 2015.
  * [12] Shishir Nagaraja and Ryan Shah.  Clicktok: Click fraud detection using traffic analysis.  In Proceedings of the Conference on Security and Privacy in Wireless and Mobile Networks, 2019.
  * [13] Suibin Sun, Le Yu, Xiaokuan Zhang, Minhui Xue, Ren Zhou, Haojin Zhu, Shuang Hao, and Xiaodong Lin.  Understanding and detecting mobile ad fraud through the lens of invalid traffic.  In Proceedings of the 2021 ACM SIGSAC Conference on Computer and Communications Security (CCS), 2021.
  * [14] Mobin Javed, Cormac Herley, Marcus Peinado, and Vern Paxson.  Measurement and analysis of traffic exchange services.  In Proceedings of the ACM Internet Measurement Conference, 2015\.
  * [15] Shehroze Farooqi, Guillaume Jourjon, Muhammad Ikram, Mohamed Ali Kaafar, Emiliano De Cristofaro, Zubair Shafiq, Arik Friedman, and Fareed Zaffar.  Characterizing key stakeholders in an online black-hat marketplace.  In APWG Symposium on Electronic Crime Research (eCrime), 2017.
  * [16] Manolis Chalkiadakis, Alexandros Kornilakis, Panagiotis Papadopoulos, Evangelos Markatos, and Nicolas Kourtellis.  The rise and fall of fake news sites: A traffic analysis.  In ACM Web Science Conference, 2021.
  * [17] Inside the Macedonian Fake News Complex.  https://www.wired.com/2017/02/veles-macedonia-fake-news/, 2022.
  * [18] How teens in the balkans are duping trump supporters with fake news.  https://www.buzzfeednews.com/article/craigsilverman/how-macedonia-became-a-global-hub-for-pro-trump-misinfo#.fu2okXaeKo.
  * [19] How Facebook powers money machines for obscure political news sites.  https://www.theguardian.com/technology/2016/aug/24/facebook-clickbait-political-news-sites-us-election-trump, 2016\.
  * [20] IAB Brand-safety.  https://www.iab.com/topics/brand-safety/, 2022.
  * [21] Muhammad Ahmad Bashir, Sajjad Arshad, Engin Kirda, William Robertson, and Christo Wilson.  A longitudinal analysis of the ads. txt standard.  In ACM Internet Measurement Conference, 2019.
  * [22] What is domain spoofing?  https://www.adpushup.com/blog/what-is-domain-spoofing/, 2017.
  * [23] Domain spoofing remains a huge threat to programmatic.  https://digiday.com/marketing/domain-spoofing-remains-an-ad-fraud-problem/, 2017\.
  * [24] The Sentencing of The King Of Fraud and the Birth of Collective Protection.  https://www.humansecurity.com/learn/blog/the-sentencing-of-the-king-of-fraud-and-the-birth-of-collective-protection, 2021\.
  * [25] The four types of domain spoofing.  https://integralads.com/insider/the-four-types-of-domain-spoofing/, 2018\.
  * [26] IAB ads.txt Specifications.  https://iabtechlab.com/ads-txt/, 2017.
  * [27] IAB sellers.json Specifications.  https://iabtechlab.com/sellers-json/, 2019.
  * [28] Further investigation into the “dark pool sales house” phenomenon.  https://deepsee.io/blog/non-unique-pub-ids, 2021.
  * [29] Murky ad-tech tactics: What you should know about dark pool sales houses.  https://www.adweek.com/media/dark-pool-sales-houses-what-you-need-to-know/, 2021\.
  * [30] Google openrtb integration.  https://developers.google.com/authorized-buyers/rtb/openrtb-guide.
  * [31] Vungle openrtb integration.  https://support.vungle.com/hc/en-us/articles/360045953431-Vungle-Exchange-OpenRTB-2-5-Integration-Guide#3-2-2-source-ext-schain-nodes-object-0-12, 2022\.
  * [32] Doubleclick for publishers.  https://www.adpushup.com/blog/google-dfp-doubleclick-for-publishers/, 2021\.
  * [33] Victor Le Pochat, Tom Van Goethem, Samaneh Tajalizadehkhoob, Maciej Korczyński, and Wouter Joosen.  Tranco list.  https://tranco-list.eu.  Accessed on 27th Oct, 2021.
  * [34] Maciej Szpakowski and Renato.  Fake news corpus.  https://github.com/several27/FakeNewsCorpus, Feb 2018.
  * [35] Media Bias/Fact Check Team.  Media bias/fact check: The most comprehensive media bias resource.  https://mediabiasfactcheck.com.
  * [36] Austin Hounsel, Jordan Holland, Ben Kaiser, Kevin Borgolte, Nick Feamster, and Jonathan Mayer.  Identifying disinformation websites using infrastructure features.  In 10th USENIX Workshop on Free and Open Communications on the Internet (FOCI), 2020.
  * [37] Eric Zeng, Tadayoshi Kohno, and Franziska Roesner.  Bad news: Clickbait and deceptive ads on news and misinformation websites.  In Workshop on Technology and Consumer Protection (ConPro), 2020\.
  * [38] Syed Suleman Ahmad, Muhammad Daniyal Dar, Zareed Zaffar, Narseo Vallina-Rodriguez, Rishab Nithyanand, et al.  Apophanies or epiphanies: How crawlers can impact our understanding of the web.  In The Web Conference, 2020.
  * [39] Jordan Jueckstock, Shaown Sarker, Peter Snyder, Aidan Beggs, Panagiotis Papadopoulos, Matteo Varvello, Benjamin Livshits, and Alexandros Kapravelos.  Towards realistic and reproducibleweb crawl measurements.  In Proceedings of the Web Conference, 2021.
  * [40] John Cook, Rishab Nithyanand, and Zubair Shafiq.  Inferring tracker-advertiser relationships in the online advertising ecosystem using header bidding.  Proceedings on Privacy Enhancing Technologies, 1, 2020.
  * [41] Maaz Bin Musa and Rishab Nithyanand.  Atom: Ad-network tomography. a generalizable technique for inferring tracker-advertiser data sharing in the online behavioral advertising ecosystem.  Proceedings on Privacy Enhancing Technologies, 2022.
  * [42] Umar Iqbal, Peter Snyder, Shitong Zhu, Benjamin Livshits, Zhiyun Qian, and Zubair Shafiq.  Adgraph: A graph-based approach to ad and tracker blocking.  In IEEE Symposium on Security and Privacy, 2020.
  * [43] Panagiotis Papadopoulos, Nicolas Kourtellis, Pablo Rodriguez Rodriguez, and Nikolaos Laoutaris.  If you are not paying for it, you are the product: How much do advertisers pay to reach you?  In Proceedings of the 2017 Internet Measurement Conference, 2017\.
  * [44] Christian Sandvig, Kevin Hamilton, Karrie Karahalios, and Cedric Langbort.  Auditing algorithms: Research methods for detecting discrimination on internet platforms.  Data and discrimination: converting critical concerns into productive inquiry, 22(2014), 2014.
  * [45] Madison Addicks.  Van buren v. united states: The supreme court’s ruling on the fate of web scraping-” access” to discovery or detention?  Tul. J. Tech. & Intell. Prop., 24, 2022.
  * [46] Menlo report.  https://www.dhs.gov/sites/default/files/publications/CSD-MenloPrinciplesCORE-20120803_1.pdf, 2012\.
  * [47] Belmont report.  https://www.hhs.gov/ohrp/regulations-and-policy/belmont-report/read-the-belmont-report/index.html, 1979\.
  * [48] Github — duckduckgo tracker-radar/entities.  https://github.com/duckduckgo/tracker-radar/tree/main/entities.
  * [49] Overview of MCM - Google AdMob Help.  https://support.google.com/admob/answer/9142605?hl=en.
  * [50] Misrepresentation - Advertising Policies Help.  Google Advertising Policies, https://support.google.com/adspolicy/answer/6020955?hl=en&ref_topic=1626336, 2022\.
  * [51] GumGum — Prohibited Content Policy for Buyers and Sellers.  https://gumgum.com/terms-and-policies/buyer-policy, 2022.
  * [52] Supply policy.  Pubmatic, 2022.
  * [53] Porn, piracy, fraud: What lurks inside google’s black box ad empire.  https://www.propublica.org/article/google-display-ads-piracy-porn-fraud, 2022\.
  * [54] Steven Bellman, Ziad HS Abdelmoety, Jamie Murphy, Shruthi Arismendez, and Duane Varan.  Brand safety: the effects of controversial video content on pre-roll advertising.  Heliyon, 4(12), 2018.
  * [55] List of advertisers that demonetized breitbart.  https://twitter.com/slpng_giants/status/1200473586886205440, 2020\.
  * [56] New ias report uncovers how misleading content impacts digital advertising.  https://integralads.com/news/new-ias-report-uncovers-how-misleading-content-impacts-digital-advertising/, 2022\.
  * [57] New ias report uncovers how consumer perception of misleading content impacts brand favorability.  https://integralads.com/news/misinformation-consumer-research/, 2022\.
  * [58] Sunrun blocks breitbart.  https://twitter.com/slpng_giants/status/1024019694523695111, 2018\.
  * [59] Sagenamerica blocks breitbart.  https://twitter.com/slpng_giants/status/913821166304763904, 2017\.
  * [60] Steven Englehardt and Arvind Narayanan.  Online tracking: A 1-million-site measurement and analysis.  In Proceedings of the 2016 ACM SIGSAC conference on computer and communications security, 2016.
  * [61] Abbas Razaghpanah, Rishab Nithyanand, Narseo Vallina-Rodriguez, Srikanth Sundaresan, Mark Allman, Christian Kreibich, Phillipa Gill, et al.  Apps, trackers, privacy, and regulators: A global study of the mobile tracking ecosystem.  In The 25th Annual Network and Distributed System Security Symposium (NDSS 2018), 2018.
  * [62] Muhammad Ahmad Bashir, Sajjad Arshad, William Robertson, and Christo Wilson.  Tracing information flows between ad exchanges using retargeted ads.  In USENIX Security Symposium, 2016.
  * [63] Aaron Cahn, Scott Alfeld, Paul Barford, and Shanmugavelayutham Muthukrishnan.  An empirical study of web cookies.  In Proceedings of the 25th international conference on world wide web, 2016.
  * [64] Yash Vekaria, Vibhor Agarwal, Pushkal Agarwal, Sangeeta Mahapatra, Sakthi Balan Muthiah, Nishanth Sastry, and Nicolas Kourtellis.  Differential tracking across topical webpages of indian news media.  In ACM Web Science Conference, 2021.
  * [65] Marjan Falahrastegar, Hamed Haddadi, Steve Uhlig, and Richard Mortier.  The rise of panopticons: Examining region-specific third-party web tracking.  In International Workshop on Traffic Monitoring and Analysis. Springer, 2014.
  * [66] S Tingleff.  The Three Deadly Sins of Ads. Txt and How Publishers Can Avoid Them.  https://iabtechlab.com/blog/the-three-deadly-sins-of-ads-txt-and-how-publishers-can-avoid-them, 2019\.
  * [67] Antonio Pastor, Rubén Cuevas, Ángel Cuevas, and Arturo Azcorra.  Establishing trust in online advertising with signed transactions.  IEEE Access, 9, 2020.
  * [68] Emmanouil Papadogiannakis, Panagiotis Papadopoulos, Evangelos P Markatos, and Nicolas Kourtellis.  Who funds misinformation? a systematic analysis of the ad-related profit routines of fake news sites.  arXiv preprint arXiv:2202.05079, 2022.
  * [69] Edlira Shehu, Nadia Abou Nabout, and Michel Clement.  The risk of programmatic advertising: Effects of website quality on advertising effectiveness.  International Journal of Research in Marketing, 38(3), 2021.
  * [70] Chunsik Lee, Junga Kim, and Joon Soo Lim.  Spillover effects of brand safety violations in social media.  Journal of Current Issues & Research in Advertising, 2021.
  * [71] Sophie Bishop.  Influencer management tools: Algorithmic cultures, brand safety, and bias.  Social Media+ Society, 7(1), 2021.
  * [72] Claudia Pereira Ferraz.  Sleeping giants and indirect boycotts against the far right in united states of america.  Aurora., 14(40), 2021.
  * [73] Quan Minh Vo, Nhan Thi Cao, and An Hoa Ton-That.  Unsafe image classification using convolutional neural network for brand safety.  In IEEE Asia-Pacific Conference on Computer Science and Data Engineering (CSDE), 2020.
  * [74] Doubleverify unveils expanded brand safety & brand suitability integration with facebook - doubleverify.  https://doubleverify.com/newsroom/doubleverify-unveils-expanded-brand-safety-brand-suitability-integration-with-facebook/.
  * [75] Integral ad science — brand safety & suitability solutions.  https://integralads.com/solutions/brand-safety-suitability/.
  * [76] Oracle moat measurement — oracle advertising.  https://www.oracle.com/cx/advertising/measurement/.
  * [77] Nir Kshetri and Jeffrey Voas.  The economics of “fake news”.  IT Professional, 19(6), 2017.
  * [78] Arvind Hickman.  Advertisers spend $2.6bn on misinformation websites, study finds.  https://www.campaignlive.com/article/advertisers-spend-26bn-misinformation-websites-study-finds/1725293, Aug 2021.
  * [79] Global Disinformation Index.  Cutting the funding of disinformation: The ad-tech solution.  https://disinformationindex.org/wp-content/uploads/2019/05/GDI_Report_Screen_AW2.pdf, May 2019.
  * [80] Global Disinformation Index.  The quarter billion dollar question: How is disinformation gaming ad tech?  https://disinformationindex.org/wp-content/uploads/2019/09/GDI_Ad-tech_Report_Screen_AW16.pdf, Sep 2019.
  * [81] Augustine Fou.  Big advertisers still fund hate and disinformation outside of facebook.  https://www.forbes.com/sites/augustinefou/2020/07/06/big-advertisers-still-fund-hate-and-disinformation-outside-of-facebook/?sh=383aa3376f78, July 2020.
  * [82] Catherine Han, Deepak Kumar, and Zakir Durumeric.  On the infrastructure providers that support misinformation websites.  In Proceedings of the International AAAI Conference on Web and Social Media, 2022.
  * [83] Lia Bozarth and Ceren Budak.  Market forces: Quantifying the role of top credible ad servers in the fake news ecosystem.  In The International AAAI Conference on Web and Social Media, 2020\.
  * [84] Joshua A Braun and Jessica L Eklund.  Fake news, real money: Ad tech platforms, profit-driven hoaxes, and the business of journalism.  Digital Journalism, 7(1), 2019.
  * [85] Joel Timmer.  Fighting falsity: Fake news, Facebook, and the first amendment.  Cardozo Arts & Ent. LJ, 35, 2016.
  * [86] Damian Tambini.  Fake news: public policy responses.  2017\.
  * [87] Norman Vasu, Benjamin Ang, Terri-Anne Teo, Shashi Jayakumar, Muhammad Raizal, and Juhi Ahuja.  Fake news: National security in the post-truth era.  S. Rajaratnam School of International Studies., 2018.
  * [88] Yelena Mejova and Kyriaki Kalimeri.  Advertisers jump on coronavirus bandwagon: Politics, news, and business.  arXiv preprint arXiv:2003.00923, 2020.
  * [89] Amelia M Jamison, David A Broniatowski, Mark Dredze, Zach Wood-Doughty, DureAden Khan, and Sandra Crouse Quinn.  Vaccine-related advertising in the facebook ad archive.  Vaccine, 38(3), 2020.
  * [90] Vanessa Boudewyns, Brian G Southwell, Kevin R Betts, Catherine Slota Gupta, Ryan S Paquin, Amie C O’Donoghue, and Natasha Vazquez.  Two awareness of misinformation in health-related advertising: A narrative review of the literature.  Misinformation and mass audiences, 2021.
  * [91] Eric Zeng, Miranda Wei, Theo Gregersen, Tadayoshi Kohno, and Franziska Roesner.  Polls, clickbait, and commemorative $2 bills: problematic political advertising on news and media websites around the 2020 US elections.  In Proceedings of the 21st ACM Internet Measurement Conference, 2021\.
  * [92] Yingying Chen and Luping Wang.  Misleading political advertising fuels incivility online: A social network analysis of 2020 US presidential election campaign video comments on YouTube.  Computers in Human Behavior, 2022.
  * [93] Laurent Chuat, AbdelRahman Abdou, Ralf Sasse, Christoph Sprenger, David Basin, and Adrian Perrig.  Sok: Delegation and revocation, the missing links in the web’s chain of trust.  In IEEE European Symposium on Security and Privacy (EuroS&P), 2020\.
  * [94] Fuqi Lin, Haoyu Wang, Liu Wang, and Xuanzhe Liu.  A longitudinal study of removed apps in iOS app store.  In Proceedings of the Web Conference, 2021.
  * [95] Ads.cert 2.0.  https://iabtechlab.com/ads-cert/, 2022.
  * [96] ads.txt Version 1.1.  https://iabtechlab.com/wp-content/uploads/2022/04/Ads.txt-1.1.pdf, 2022\.
  * [97] H.r.6796 - digital services oversight and safety act of 2022.  https://www.congress.gov/bill/117th-congress/house-bill/6796/text, 2022\.
  * [98] Check My Ads Institute.  https://checkmyads.org/, 2022.

##  Appendix A Longitudinal Analysis of sellers.json

There have been various campaigns to highlight the role of AdXs in monetizing
the misinformation ecosystem, pressuring them to remove their support for
these domains [98]. To understand the effectiveness of these campaigns, we
monitored changes to the sellers.json files present in our
D${}^{\text{static}}_{\text{.}}$ dataset for a three-month period (from 10/21
to 2/22). Of the 470 AdXs found to support misinformation domains (by listing
them as publishers) on 10/21, 39 (8.3%) AdXs delisted at least one
misinformation domain.

It is important to understand whether the AdXs are de-listing the
misinformation content from their sellers.json files. Bashir et. al. [21]
performed this analysis on ads.txt of Alexa Top-100K websites in their work.
However, our study is on misinformation websites, whose ads.txt should not be
trusted. Hence, we perform this analysis on sellers.json files of trusted
AdXs.

We observed 470 sellers.json supporting at least 1 misinformation site as per
the October’s crawl. Out of 46 AdXs support 10 or more misinformation outlets.
The one’s that support the highest misinformation domains are revcontent.com
(204), liveintent.com (56), outbrain.com (56), pixfuture.com (39) and
lijit.com (now part of Sovrn) (30). From October 2021 to February 2022, only
39 AdXs de-list atleast 1 misinformation website, while 53 sellers.json
include atleast 1 misinformation domain in their files. Table VII shows the
top AdXs that added and removed the support for the highest number of
misinformation sites in their sellers.json during the period of analysis.

Ad-exchange | Misinformation Domain Counts
---|---
Oct’21 | Feb’22 | Added | Dropped
revcontent.com | 204 | 73 | 2 | 133
outbrain.com | 56 | 35 | 0 | 21
9mediaonline.com | 20 | 1 | 0 | 20
stitchvideo.tv | 14 | 1 | 0 | 13
adtelligent.com | 26 | 28 | 13 | 11
infolinks.com | 23 | 14 | 2 | 11
publisherdesk.com | 14 | 3 | 0 | 11
mgid.com | 20 | 32 | 13 | 1
nextmillennium.io | 7 | 9 | 3 | 1
vidazoo.com | 5 | 8 | 3 | 0
pixfuture.com | 39 | 41 | 2 | 0
lijit.com | 30 | 30 | 0 | 0
TABLE VII: AdXs that add and drop the highest number of misinformation outlets
from their sellers.json during the period Oct’21 to Feb’22. The table is
arranged in descending order of the Dropped counts.

Upon further investigation of RevContent, we observed that it dropped 8̃7% of
the total publisher domains from their sellers.json in mid December 2021
(Oct’21: 4727 domains to Feb’22: 621 domains) and we speculate that their
primary aim might not have been to drop misinformation domains, but they ended
up de-listing a few of misinformation outlets too as a result of their bulk
drop. There has always been a constant peer-pressure and criticism from
activists (e.g., [98]) forcing RevContent to remove their support for
misinformation sites. There were active discussions on social media
speculating RevContent’s intent behind this massive drop. However, RevContent
did this silently and never publicly addressed this action. It is surprising
that eventhough RevContent dropped the maximum number of misinformation
domains from its sellers.json, it still potentially funds the highest online
misinformation. Other than RevContent, other AdXs that continued their support
for the highest misinformation sites in Feb’22 are LiveIntent (56), Pixfuture
(41), Outbrain (35) and MGID (32).

Figure 6: Classification of different types of Pooling.

Additionally, the misinformation outlets which were added by the most AdXs are
rearfront.com, vidmax.com, and thetruereporter.com. The former 2 outlets are
agents of spreading viral and misleading content, while the latter publishes
politicized news, commentary and analysis. These were added by 6 different
AdXs. Similarly, lifezette.com, waynedupree.com, and news18.co were dropped by
6, 6, and 5 distinct AdXs respectively.

##  Appendix B Pooling

Different types of pooling scenarios studied in Section 4.2 are represented in
the Figure 6. Figure 7 depicts the relationships between different entities of
297 unique pools observed in D${}^{\text{crawls}}$ dataset.

Figure 7: Pooling relationships between different entities of triplets in
D${}^{\text{crawls}}$ dataset. Leftmost portion ((p): publisher) shows the
misinformation domains and the rightmost portion ((o): owner) represents owner
domains whose seller IDs or publisher IDs associated with the AdXs
(represented as intermediary connections between the entities on extremes) are
pooled by these publisher domains. Count represents pooled IDs.

##  Appendix C Supply Chain Object Analysis

If adopted and implemented correctly, Supply Chain Objects (SCOs) can aid
overall validation and provide transparency into all the entities involved in
(re-)selling of a particular ad-inventory. In absence of this information, a
buying entity’s knowledge is just limited to the immediate upstream seller but
not the entire path of (re-)sellers that were involved before the upstream
seller. It is the job of the selling entity to append its seller object in the
existing SCO and forward the bid request further. A buying entity extracts the
SCO object from the bid request and parses the list of all seller nodes
represented as key “nodes” (which contains a list of dictionaries). Lower the
index of a node in this list, the more older the seller. When SSP forwards the
bid request corresponding to the ad request received from the publisher, in
the node dictionary it appends its website (represented by the key “asi”) and
account identifier for the given publisher in its network (represented by the
key “sid”).

In order to analyze the adoption and correctness of SCOs in our data, we use
our custom SCO-parser (written as per the IAB guidelines) on all the bid
requests captured in the D${}^{\text{crawls}}$ dataset. We observed that
although SCOs have been introduced by IAB since July 2019, only 20.5% (3796)
bid requests have included SCOs, all of which comprised of only a single
seller node. To verify correctness of SCOs, we extracted ‘sid’ and ‘asi’
associated with the seller node and performed a lookup of the ‘sid’ in the
sellers.json file of the ‘asi’ to obtain the upstream website with which the
ad-inventory is associated as per the SCO. Next, we matched if this website
domain matched the actual domain on which the current bid request was captured
during the dynamic crawl. Lets call this boolean result as A. We, also
generated a dynamic path based on the SCO object as follows: upstream website
$\rightarrow$ asi seller $\rightarrow$ domain of the ad-request. We obtain the
ground truth from the sellers.json, using which we also generated all 3-hop
static paths for each misinformation domain in our dataset. Next, we checked
each of the 3796 dynamic paths among all the static paths of the associated
misinformation domain. Let’s call this boolean result as B. The cases where A
and B were True are cases where we could verify the correctness of the SCOs.
The rest were the cases where SCOs were misrepresented. We observed only
18.94% (719) bid requests with correct SCOs.