Programmatic Ad Fraud (2024)

Programmatic ad fraud is over 20 billion U.S. dollars.

The display channel has no regulation and no transparency.

What is Programmatic Ad Fraud

Programmatic ad fraud is over 20 billion U.S. dollars. Projections show that it will reach 44 billion by 2022. The display channel has no regulation and offers no transparency. Most of the advertisers lack the skills to detect display fraud. Reported numbers of CPMs, ad, and video views, app downloads, and installs, are falsified en mass, and marketers have to cope with a poor performance that raises many questions. There are no easy fixes to mitigate display ad fraud due to its complexity and lack of regulation. There are display networks dedicated to programmatic fraud, while others report fraud levels above 20%. In summary, there is no display network untouched by programmatic fraud.

Display networks/publishers pressed by clients to lower their fees are buying cheap display traffic (CPMs), repackaging, and reselling it with a very high margin (Ad Arbitrage). Most of the time, display networks cannot satisfy the demand to place ads as advertiser campaigns often exceed display networks’ supply (relationships with publishers). The display providers broker with other networks (via automated systems) to fulfill the demand, and that is where problems arise. Fraudsters mislead the networks on their work standards, and no broker takes time to check the quality of these publishers. Due to higher budgets, display ad fraud thrives in mobile in-app and video channels. Ad buyers have no means of checking if their money is spent on human traffic; if the attribution works all right, and if the ads play against the agreed content.

Let’s give a quick example: A publisher wants more traffic to attract advertisers. Paying for traffic is not legitimate, but he needs to show numbers to advertisers. So he gets out and finds a traffic provider (traffic sourcing). He agrees with the supplier on a fixed amount of visits (buys the traffic) provided the traffic is human and passes through ad fraud detection filters. The traffic provider often doesn’t have enough or any human traffic but has built a group of bots that masquerade as human traffic and dodge the ad fraud filters. Now the ad fraud detection filters are not perfect, so they often let that traffic pass as human. This way, advertisers and publishers don’t know (or pretend not to) that they’re paying bots for human visits. When for example, publishers are buying visits for a few cents, we understand that they perfectly know what’s going on.

Programmatic Ad Fraud

In other cases ad fraud is straightforward. The curious thing (see also next paragraph) is that ad buyers seem to be satisfied collecting a few superficial metrics (traffic sources, clicks, installs) despite seeing fraud in their display traffic (read below about the metrics confusion). Changing a partner is hard when they still see ROI even with fraud levels at 10-20%. Also, changing the display partner doesn’t mean that fraud won’t hit the advertiser in the next network. That’s why they need to use sophisticated tools that bring to light all the fraudulent aspects of display traffic. Online tools can integrate into all dashboards and spreadsheets full of low-level data from various partners that present metrics in different interpretations. So marketers need to normalize the data and have no time to switch partners.

It is also true that many legitimate players will see a drop in the volume of ad impressions and consequently less ad revenue if they weed out bot or fake traffic. Many of them know what’s happening but they have no alternative to offer to ad buyers if they want to stay in the industry. Performance is the top prerequisite as not everyone is paying attention to what they’re paying and if it converts.

Another factor that plays a role in failing to prevent ad fraud is the limited data provided in each bid. Ad buyers don’t get a full view of the publisher offering the inventory until they make a purchase. The only information they receive is the inventory description and website visitors. Reports vary per network, and verification cannot be successful without access to enough pre-purchase data to check if the publisher is legitimate.

Video Display Fraud

Video ads work with bigger budgets than display ads, so video ad fraud is triple the size of the display. The common practice of video publishers is to use an out-stream video that has loopholes exploited by ad fraud. The out-stream video makes it hard to discern whether a video ad is offered or a banner without visiting the publisher’s site (Ad Arbitrage). Fraudsters are mimicking video tags and passing display inventory as inventory, making a markup on reselling display space. Advertisers need to manually check if their ads are displayed correctly on each publisher and decide if it is worth their money, which is impractical and impossible.

A network of 40 zombie websites connected to US advertising industry insiders managed to rip off millions of dollars from over 100 of the world’s biggest brands. Fraudulent views of video ads were displayed on the network of 40 non-authorized sites. Among the advertising industry insiders was a CEO of an ad platform used by 12 websites in the scheme, a former employee of a big ad network who owned eight sites in the scheme, and a consultant for a company with another 8 in the system. The scheme was designed to avoid detection by hiding malicious behavior from human visitors. Some of the sites were left with the default design templates and served content in broken English or automatically generated. All of the fraudulent websites were connected to a special secret web address that once triggered would release many redirects showing video ads and no editorial content. The traffic was being directed to the same sites upon leaving the landing page, showing a suspicious network.

What Are the Types of Video Ad Fraud?

Misleading ad sizes, non-compliant video content: Pre-roll video ads (ads shown against editorial videos) in the ad inventory are being offered smaller aspect ratios (300×250) instead of playing in a video player (at least 400 pixels wide). Advertisers need to check manually two things: a) if they get the correct ad size, and b) if it plays against editorial content. The rest of the criteria are fulfilled as pre-roll ads play videos, show on the agreed publisher’s website, and generate lots of views from human visitors, not bots. When manually checked, it is easy to discern the fraud from the smaller video size, plus the addition of black bars to the sides eases the adverse effects of resizing.

Misleading ad types: Display CPMs bought very cheaply in exchanges are swapped for video inventory (pre-rolls). Instead, they play in smaller ad sizes and against different video content. The video content provided by the fraudulent ad network is licensed and reused or scraped from other sites without permission.

Types of Mobile Ad Fraud

1. Click fraud: users are real, and clicks are fake.

2. Mobile install fraud: fake clicks and users.

3. Unwanted audience: Clicks and users are real, but demographics are incorrect.

4. Ad Stacking: One ad (layer) is visible while the other layers (up to 7) are invisible. It’s a single ad placement with ad layers stacked. The trick is that when the visible ad is clicked, that click counts for all ads in the stack (Click stuffing). The same method can be applied to stacking ads for apps. When a user installs an app stacked in the fraudster’s ad group the attribution goes to all ads (click and impression stuffing).

App Install Fraud

In simple words, we see mostly fake installs from fake users (Bot fraud). Display networks sell incentivized traffic or false attribution with app installs. Fraudulent ad networks give incentives to people to download apps, but those installs are either fake by fake people (Bot fraud) or in a few cases when we see real installs, the users uninstall the apps without using them as not interested in them (got an incentive or unwanted audience – Targeting/Compliance fraud). Then, ad networks will try to sell device IDs that they have captured from displaying other ads. In regular intervals, they put a blanket on all device IDs obtained and get the credit if they have managed to show on time to be the first showing that the app install belongs to them. They show up as publishers to app installs without ever displaying any ad. Another issue is viewability fraud when the ads can’t be seen as off-screen.


Adware installed via free apps can display device IDs as viewing ads when they don’t see them (Click fraud). The adware generates ads without the user perceiving them because they are automatically created in the background. Adware can also do false ad attribution just when the user downloads and installs a new app if nobody takes the credit for showing an ad.

Domain Spoofing

Domain spoofing is a multi-million business with premium publishers repeatedly targeted. Domain spoofing can be spread on many ad networks for the same targeted premium publisher. Shady publishers create URLs in the display network that trick advertisers with fancy fake names (vanity URLs) without any ROI at a lower price. Usually, they mimic known big websites that have no clue about the fraud or don’t even have display inventories. If those ad buyers who bought the fake impressions had done their due diligence going through the reports, the phenomenon would have stopped. The shift from bidding one at a time across supply-side platforms (SSPs) using a unique inventory (the waterfalling method gave buyers access to inventory sequentially, based on their priority as determined by publishers) to header bidding that lets publishers simultaneously bid to more SSPs reduced access to unique inventory and increased fraud. Since publishers have full control over creating the bid request, they can put fake URLs (vanity URLs), locations, and content. SSPs and DSPs (demand-side platforms) don’t care to stop the fraud because the ad buyers don’t have a clue as they don’t receive log-level data. Then publishers offer their inventory on a network and receive lots of bids from SSPs. Then the SSP resells the impressions to other SSPs and DSPs. The network that bought the impressions may resell them to another network until they reach an advertiser. No controls are done from the start to the end of the bidding-reselling path. The more layers, the deeper the nested tags (hoops) and the harder the verification. This way, questionable or unwanted sites can dodge advertiser blacklists. Instead of removing the blacklisted domains, ad exchanges allow domain masking (listed as unknown) to keep the revenue flowing in from those blacklisted impressions.

Blacklists with fringe sites that promote racism, hate, or adult content can easily be dodged. Unsuspected users of adult sites are being served with ads initially showing benign websites that pass the blacklists and load in a new browser window. Since the benign site is not on any blacklist, the ads are not flagged, but then they load pop-unders that register thousands of impressions even though the user can’t perceive any ads running. Anyway, blacklists have not been proven efficient due to limited understanding between brands and buyers, also because blacklisted websites are still present in ad networks due to lack of website-level reporting, cloaked URLs (see domain spoofing above), and masked domains (listed as unknown in the network).

Influencer Marketing Fraud

Some influencers increase their revenue by purchasing followers or engagements lacking authenticity and a genuine connection with their followers. The networks have done a lot to weed out shady influencers and bots. Technical solutions will always have leaks when dealing with people, and horizontal measures might affect legitimate influencers. Instead of measuring the value of the content, brands still judge an influencer by the audience. In part, they have reasons to do so, as it costs much to look at every single follower, and networks don’t provide all the data they need to make a full assessment. Plus, there’s still little standardization in influencer marketing, and platforms choose their standards. A growing number of companies and exchange platforms are building influencer whitelists to prevent their products from being presented in unwanted ways (brand safety).

How to Detect Mobile Ad Fraud

It is a widespread phenomenon that buyers and sellers run separate measurements that don’t match. It’s difficult to optimize and have money well spent when there’s confusion in the metrics.

Why can’t all sides align their measurements?

Technical differences and different approaches produce non-matching reports. Buyers measure from the ad; publishers measure from the page, ad networks run proprietary algorithms, so there’s never common ground for reliable measurements.

Some tools offer protection layers against mobile ad fraud filtering out nonhuman traffic. The best part of the tools is the ability to detect suspicious activity and block fraud in real time before it hits the advertising budget, at the same time protecting valid traffic. They identify emerging patterns, trends, and indicators of fraudulent activity, i.e., time of day, location, volume, and device IDs. Another practical feature for marketers is the ability to verify display network results and compare the networks against each other. Giving the same access level reporting to advertisers and networks in real-time, eliminates volume disputes and chargebacks at the end of the month.

How to Prevent Ad Fraud

Advertisers, as clients, have partners (display networks) are the ones that need to fix the problem. For now, it looks like advertisers are willing to cope with the existent fraud levels (10-20% in most of the networks), but can this trend go on forever? Every ad network will state that they don’t allow fraud and have safeguards in place to detect it before it hits advertising budgets, but this is a false statement if not misleading. When advertisers see that they’ve been misled, there is no trust anymore, and budgets will get a haircut if not leaving the partnership.

Are the display partners capable of dealing with the fraud complexity and resourcefulness?

Quite possibly they only have some general idea, maybe have pinpointed specific inputs but to eliminate the issue it would be challenging, provided they are willing to dig into big data and identify fraud patterns, a tiresome process.

First advertisers need the right tools that detect and block fraud before it starts charging fees. See the paragraph above that talks briefly about the tools of the market. Ad buyers should monitor the display performance, check some placements manually, scan for unusual patterns, and monitor ROI. The first line of defense against cheaters is to verify and question the reported results. Unusual behavior is, for example, when, allegedly, real users download the app, but they don’t use it and uninstall it in a few days. Abnormal ROI is getting hits in the reports without making any sales (unwanted audience or bots). Suspicions could also arise when digging into operating systems and user-agent strings, and finding that traffic forms unnatural patterns (spikes or high percentages) coming from a few sources.

When advertisers suspect that the numbers don’t make sense, they should immediately stop the spending (no clawback needed) and ask the network to provide data on the suspected orders. Depending on how the discussions go, and if the data provided are enough to reach conclusions, there are only two options. If the suspected cases are isolated advertisers should ask the network to remove the fraudulent publishers, but if it’s an overall network delivery issue, they should terminate the partnership even though it’s time-consuming to drop a partner and search for a new one.

How to Apply the Ads.txt

Ads.txt is an acronym for Authorized Digital Sellers (an IAB Tech Lab initiative) that creates a public record of companies authorized to sell digital inventory from publishers and distributors. The adoption of ads.txt by all publishers is expected to increase transparency for all stakeholders and leave no room for fraudsters to profit from selling fake inventory. Buyers can be more confident they are buying legitimate inventory offered by the Authorized Digital Sellers. Webmasters upload a single file, the ads.txt to their domain, and can easily update it via readily available data in the OpenRTB protocol. At the end of the article, you can find the publicly available ads.txt from CNN.

Creating an ads.txt is very easy, and if you’re working with WordPress you can install the plugin Ads.txt Manager ( that creates the file for you, so you don’t have to upload files to your server (not all people have FTP access and not many people have the time and technical skills to do it).

Installation steps:

Install the plugin via the plugin installer. Activate the plugin. Under Settings, find Ads.txt and declare your records. For example to declare Google Adsense insert, pub-0000000000000000, DIRECT, f08c47fec0942fa0 (changing the 0000000000000000, green color in the image to your publisher ID).

You may verify the file under

As you can see in the image above, the plugin found an existing ads.txt file on my server so it won’t read in the contents of that file, or overwrite the contents of the physical file.

You either need to rename or delete the existing ads.txt file before making changes inside the WordPress admin.

The ads.txt file has only three required fields separated by a comma.

1. The domain name of the system that bidders connect to, i.e.

2. Publisher’s Account ID associated with the seller or reseller account within the advertising system in declaration #1.

3. Type of Account/Relationship. A DIRECT value indicates that the Publisher directly controls the account indicated in declaration #2 (a direct business contract between the Publisher and the advertising system). A value of RESELLER indicates that the Publisher has authorized another entity to control the account in Declaration #2 and resell their ad space via the system in Declaration #1.

4. There is also an optional declaration #4 which is the Certification Authority ID.

In the example above I used 4 declarations:, pub-0000000000000000, DIRECT, f08c47fec0942fa0

Additionally, IAB Tech Lab released app-ads.txt to fight inventory fraud for apps. The app-ads.txt specification is an extension of the original ads.txt standard to meet the requirements for applications distributed through mobile app stores, connected television app stores, or other application distribution channels.


Counterfeit inventory: a unit of inventory sourced from a domain, app, or video that is intentionally mislabeled and offered for sale to a different domain, app, or video.

CPM: Cost per thousand impressions.

DSP: Demand-side platform allows ad buyers to manage multiple ad exchange and data exchange accounts through one interface.

ROI: Return on investment.

RTB: Real-time bidding is a programmatic instantaneous auction of ad inventory.

SSP: Supply-side platform or sell-side platform that enables publishers to manage their advertising inventory.

Addendum #2

Publicly available ads.txt under (

# DOMESTIC, pub-7439281311086140, DIRECT, f08c47fec0942fa0 # banner, video, native, 11078, DIRECT, 0bfd66d529a55807 # banner, video, 3159, DIRECT # banner, video, 537153334, DIRECT # banner, 540584650, DIRECT, 6a698e2ec38604c6, 540038342, DIRECT, 6a698e2ec38604c6 # banner, 7745, DIRECT # banner, video, 186948, DIRECT # banner, 187781, DIRECT # banner, 764343212726492773, DIRECT # banner, 1981084746893657653, DIRECT # banner , video, 2140675095243950036, DIRECT # banner, 183753, RESELLER # banner, 156512, RESELLER, 5d62403b186f2ace # banner, 156565, RESELLER, 5d62403b186f2ace # banner, 1092, DIRECT, 156599, DIRECT, 5d62403b186f2ace # banner, 158801, DIRECT, 5d62403b186f2ace # banner, 212423, DIRECT, 7842df1d2fe2db34 # video, 212423, DIRECT, 7842df1d2fe2db34 # video, 219004, DIRECT, 7842df1d2fe2db34 # video, 219004, DIRECT, 7842df1d2fe2db34 # video, eq97f-x7x7v, DIRECT, 1a4e959a1b50034a # video, 184125, RESELLER, 7842df1d2fe2db34, 184125, RESELLER, 7842df1d2fe2db34, 0e7166c3, DIRECT # native, 8CUIG2452, RESELLER # banner, 8CUS8896N, RESELLER # banner, 18426, DIRECT, 0bfd66d529a55807 # banner, 0048938c4af9641f2e04565be89ece5954, DIRECT # banner, 006c1fd20328a00c44f29602235a735bfd, DIRECT # banner, q017o-78mlk, RESELLER, 1a4e959a1b50034a # outstream video, 15429, RESELLER, 15a9c44f6d26cbe1 # outstream video, 26154, RESELLER # outstream video, 225721, RESELLER # outstream video, 741650, RESELLER # outstream video, 28038, RESELLER # Premium Video Demand, 17130, RESELLER, 0bfd66d529a55807 # Premium video demand, 540393169, RESELLER, 6a698e2ec38604c6 # Premium video demand, 450, RESELLER, 59c49fa9598a0117 # Premium video demand, 238936, RESELLER, 7842df1d2fe2db34 # Premium video demand, 238936, RESELLER, 7842df1d2fe2db34 # Premium video demand, 19668, RESELLER, 0bfd66d529a55807, 158615, RESELLER, 5d62403b186f2ace # Premium video demand, 562145, RESELLER, 89ff185a4c4e857c, 190856, RESELLER, 50b1c356f2c5c8fc, 1773068026, RESELLER, b6ada874b4d7d0b2, 7597, RESELLER, f5ab79cb980f11d1 # banner, 47905, DIRECT, 48804, DIRECT, 876, DIRECT, 6c33edb13117fd86
# INTERNATIONAL, pub-8566795000208645, DIRECT # banner, video, 11016, DIRECT, 0bfd66d529a55807 # banner, video, 3288, DIRECT # banner, video, 8353, DIRECT # banner, 143454, DIRECT, 7842df1d2fe2db34 # video, 143454, DIRECT, 7842df1d2fe2db34 # video, 247166, DIRECT, 7842df1d2fe2db34 # video, 247166, DIRECT, 7842df1d2fe2db34 # video, px2ii-9d07k, DIRECT, 1a4e959a1b50034a # video,, DIRECT # banner, 1219568046963013673, DIRECT # banner, pub-3395889316192477, DIRECT # banner, video, 859, DIRECT, 15a9c44f6d26cbe1 # instream, 13998, DIRECT, 15a9c44f6d26cbe1 # instream, 11146, DIRECT, 15a9c44f6d26cbe1 # instream, 13041, DIRECT, 15a9c44f6d26cbe1 # instream, 12457, DIRECT, 15a9c44f6d26cbe1 # instream, 14003, DIRECT, 15a9c44f6d26cbe1 # instream, 14057, DIRECT, 15a9c44f6d26cbe1 # instream, 15942, DIRECT, 15a9c44f6d26cbe1, 539275389, DIRECT, 6a698e2ec38604c6 # banner, 540165835, DIRECT, 6a698e2ec38604c6, 5z5sq, DIRECT, 1a4e959a1b50034a, 5z5sq, DIRECT, 1a4e959a1b50034a, 3121, DIRECT, f5ab79cb980f11d1, pub-2995659801720227, DIRECT, f08c47fec0942fa0, 8613, DIRECT, 186370, DIRECT, 15940, DIRECT, 15a9c44f6d26cbe1, 6859, DIRECT, 15a9c44f6d26cbe1, 007d5bdae84ea9f865307ba5e95aa29dda, DIRECT # banner, 00e41b90c34e6b3a580e675b4570b52f13, DIRECT # banner, 2268, DIRECT, e2541279e8e2ca4d, beachfront_2268, RESELLER, 1294, DIRECT, 157628, DIRECT, 5d62403b186f2ace, 101707, DIRECT, 100269, DIRECT, 3fd707be9c4527c3, 1908, RESELLER, f5ab79cb980f11d1, pub-9685734445476814, RESELLER, f08c47fec0942fa0, 975, DIRECT, 1e1d41537f7cad7f, 1376, DIRECT, 1e1d41537f7cad7f, 1356, RESELLER, f5ab79cb980f11d1, pub-5995202563537249, RESELLER, f08c47fec0942fa0, 561632, RESELLER, 11066, DIRECT, 11069, DIRECT, 11070, DIRECT, 11071, DIRECT, 11072, DIRECT, tv8k8-5qsvj, RESELLER, 1a4e959a1b50034a, 923041, DIRECT, 923201, RESELLER, 28238, RESELLER, 11628, RESELLER, pub-7082778644367489, DIRECT, f08c47fec0942fa0, 157184, DIRECT, 5d62403b186f2ace, 157916, DIRECT, 5d62403b186f2ace, 149668, RESELLER, 7842df1d2fe2db34, 149668, RESELLER, 7842df1d2fe2db34, 12171, RESELLER, 51vtw, RESELLER, 1a4e959a1b50034a, pub-5405744859927315, RESELLER, 464, RESELLER, 59c49fa9598a0117, 464, RESELLER, 59c49fa9598a0117, 867601, RESELLER, 867617, RESELLER, pub-1719633316796094, DIRECT, f08c47fec0942fa0, 16720, RESELLER, 0bfd66d529a55807, 3734, DIRECT, 2234, RESELLER, 537153564, RESELLER, 6a698e2ec38604c67, 2764, RESELLER, 4107953657, RESELLER, 17712, DIRECT, 0bfd66d529a55807, 2680, RESELLER, 6c8d5f95897a5a3b, 26650, RESELLER, 22860, RESELLER, 22860, RESELLER, 22860, RESELLER, 9963, RESELLER, 2182191296, DIRECT, a670c89d4a324e47, 198856, RESELLER, 7842df1d2fe2db34, 198856, RESELLER, 7842df1d2fe2db34, 10440, RESELLER, 20535, RESELLER, pub-7995104076770938, RESELLER, f08c47fec0942fa0, ea05d466-f785-4b9a-a030-6fdc6a39498f, DIRECT # display, 540191398, RESELLER, 6a698e2ec38604c6 # display, 157150, RESELLER, 5d62403b186f2ace # display, 100962, RESELLER # display, 1908, RESELLER, f5ab79cb980f11d1 # display, 18020, RESELLER, 0bfd66d529a55807, 1654642120, RESELLER, a670c89d4a324e47, 12068, RESELLER, 8790, RESELLER, f5ab79cb980f11d1, 187924, DIRECT, 189458, DIRECT, 8212, DIRECT, 184081, RESELLER, 282, RESELLER, 59c49fa9598a0117, 282, RESELLER, 59c49fa9598a0117, 540322758, DIRECT, 6a698e2ec38604c6, 157102, DIRECT, 5d62403b186f2ace, 157163, DIRECT, 5d62403b186f2ace, 157752, DIRECT, 5d62403b186f2ace, 13894, RESELLER, 0bfd66d529a55807, 18008, RESELLER, 0bfd66d529a55807, 232757, RESELLER, fafdf38b16bf6b2b, 232757, RESELLER, fafdf38b16bf6b2b, 538959099, RESELLER, 6a698e2ec38604c6, 137711, RESELLER, 5d62403b186f2ace, 156212, RESELLER, 5d62403b186f2ace, 247572, DIRECT, fafdf38b16bf6b2b, 247572, DIRECT, fafdf38b16bf6b2b, 1360, RESELLER, f5ab79cb980f11d1, 11645, RESELLER, ffdef49475d318a9, 539924617, RESELLER, 6a698e2ec38604c6, 156700, RESELLER, 5d62403b186f2ace, 17960, RESELLER, 0bfd66d529a55807, 148395, RESELLER, 7842df1d2fe2db34, 148395, RESELLER, 7842df1d2fe2db34, ey5io-qyxzx, RESELLER, 1a4e959a1b50034a, 15800, DIRECT, pub-5231479214411897, RESELLER, f08c47fec0942fa0, pub-4207323757133151, RESELLER, f08c47fec0942fa0, 18034, RESELLER, 0bfd66d529a55807, 0013300001qkdlwAAA, RESELLER, 49, RESELLER, 59c49fa9598a0117, 23302, RESELLER, pub-9557089510405422, RESELLER, f08c47fec0942fa0, 189744, RESELLER, 537153209, RESELLER, 6a698e2ec38604c6, 3153, RESELLER, f5ab79cb980f11d1, 1231, RESELLER, 20416, RESELLER, 0bfd66d529a55807, 13798, RESELLER, ffdef49475d318a9, 04c75099, DIRECT, d53b998a7bd4ecd2, 186046, RESELLER, 212457, RESELLER, 212457, RESELLER, 156557, RESELLER, 18694, RESELLER, 0bfd66d529a55807, 540274407, RESELLER, 6a698e2ec38604c6, 274193, DIRECT, fafdf38b16bf6b2b, 274193, DIRECT, fafdf38b16bf6b2b, 274193-eb, DIRECT, fafdf38b16bf6b2b, 82179, RESELLER, 5529a3d1f59865be, 7znex9, DIRECT, 35d5010d7789b49d, dpokyq, DIRECT, 35d5010d7789b49d, 158829, DIRECT, 5d62403b186f2ace, 7290, RESELLER, pub-8536014366288550, DIRECT, f08c47fec0942fa0, bm8d1-pri7d, DIRECT, 1a4e959a1b50034a, bm8d1-pri7d, DIRECT, 1a4e959a1b50034a
# ESPANOL, 28357, RESELLER, 0010b00002MqBD2AAN, DIRECT, bbea06d9c4d2853c, 16414, RESELLER, 0bfd66d529a55807, 156423, RESELLER, 5d62403b186f2ace, 10239, RESELLER, f5ab79cb980f11d1, 1001, RESELLER, f5ab79cb980f11d1, 3135, RESELLER, f5ab79cb980f11d1, 537120563, RESELLER, 6a698e2ec38604c6, 539392223, RESELLER, 6a698e2ec38604c6, 2439829435, RESELLER, a670c89d4a324e47, 326, RESELLER, 1e1d41537f7cad7f, 13318, RESELLER, ffdef49475d318a9, 12094, RESELLER, 9993, RESELLER, 8d3bba7425e7c98c50f52ca1b52d3735, RESELLER, 60d26397ec060f98
# CANADA, pub-1011508009856018, RESELLER, f08c47fec0942fa0, 14904, RESELLER