EN
English
简体中文
Log inGet started for free

Blog

Proxies

the-counterfeit-listing-that-survived-nine-days-an-ad-verification-post-mortem

The Counterfeit Listing That Survived Nine Days: An Ad Verification Post-Mortem

A brand protection team’s monitoring platform reported 95% collection success while an entire regional counterfeit wave went undetected for nine days. The root causes were not exotic: datacenter IPs served the wrong regional catalog, success was measured in requests rather than coverage, and alerts ran on interpolated data that papered over gaps. This is the incident write-up, the architecture that replaced it, and the quarterly questions that keep it from happening again.

Post-mortems are usually written about outages. This one is about a silence — nine days during which a monitoring platform built to catch counterfeiters reported that everything was fine.

The Incident, Hour by Hour

The setup: a mid-size consumer brand, an in-house brand protection team, and a nightly crawl of the six marketplaces where counterfeits historically appear. The crawl reported a 95%+ success rate every single night of the incident.

DayWhat actually happenedWhat the dashboard said
0Counterfeit seller lists 40 SKUs under a lookalike brand name, targeting the brand’s second-largest market region“Crawl complete, 96% success”
1–2Nightly crawl requests hit the marketplace from datacenter IPs; the marketplace serves a reduced, region-locked catalog to that traffic class“Crawl complete, 95% success”
3–4Silent gaps accumulate across the affected region’s category pages; the dashboard’s interpolation fills missing slots with yesterday’s listings“No new counterfeit listings detected”
5A distribution partner in the region emails the brand about obvious fakes; manual investigation begins“No new counterfeit listings detected”
6–8Takedown requests prepared and filed; monitoring still blind because collection still hits the wrong catalog“Crawl complete, 94% success”
9Engineer manually pins collection to the right region; counterfeit listings appear immediately in the data“41 counterfeit listings detected — first seen 9 days ago”

Nine days of counterfeit sales, a partner-triggered discovery instead of a platform-triggered one, and a trust problem with the monitoring tool that outlasted the incident itself. The most expensive part wasn’t the fakes — it was learning the dashboard had been quietly wrong.

Three Root Causes, None of Them Exotic

Root cause 1: Collection was geo-blind. The crawl ran on datacenter IPs with no geographic targeting. Major marketplaces serve different catalogs — and different traffic treatment — by region. A “successful” request that returns the wrong region’s catalog is worse than a failed request, because it looks like data. Regional counterfeit activity is precisely the kind of signal that hides in the catalog you’re not being served.

Root cause 2: Success was measured in requests, not coverage. A 95% request success rate is compatible with 0% coverage of the region where the counterfeit wave lived. Nobody on the team had ever asked, “what fraction of live listings in region X did we actually see last night?” — because the tools didn’t answer it and the dashboards didn’t ask it.

Root cause 3: Interpolation disguised the gaps. When a page’s data went missing, the pipeline carried forward the previous night’s listing set. Gaps became invisible; the counterfeit listings, never collected in the first place, never had the chance to trigger an alert. Interpolation is a presentation-layer convenience that becomes a monitoring integrity bug the moment it feeds alerting logic.

The Replacement Architecture

The rebuild addressed each root cause with a distinct layer.

Layer 1 — Geo-fidelity in the collection backbone. Collection now runs through residential IPs pinned to the region being monitored, with country, state, city, and ASN-level targeting. Thordata’s residential network spans 100M+ IPs across 190+ countries, supports sticky sessions up to 90 minutes for login-gated marketplace areas, and prices on a published slider from $2.00/GB at 1 GB down to $0.65/GB at 5,000 GB — so regional sweeps scale linearly instead of forcing per-region budget triage. Because geo targeting carries no extra charge, adding a monitored region is a configuration change, not a procurement one.

Layer 2 — Result-based scrapers for the big marketplaces. For the major platforms, the team moved to pre-built scrapers (120+ targets in Thordata’s catalog, including the major marketplaces) with CAPTCHA solving and JavaScript rendering included, billed per delivered result at roughly $1.00 per 1,000 results at entry volume and about $0.50 at scale. When a page fails, it costs nothing — which retires the “failed attempts burning budget” failure mode entirely.

Layer 3 — Coverage as the primary metric. The dashboard now tracks listings seen per category, per region, per night rather than request success. A drop in listings-seen fires an alert even when every request “succeeds” — the exact failure that hid the counterfeit wave.

A geo-pinned sweep, in code:

import requests

# Endpoint string generated in the dashboard's endpoint generator,
# pinned to the monitored region
REGION_PROXIES = {
    "region-a": "http://USER-geo-de-berlin:PASS@res.thordata.com:18000",
    "region-b": "http://USER-geo-sg-singapore:PASS@res.thordata.com:18000",
}

def sweep_region(region: str, category_urls: list[str]):
    seen = []
    for url in category_urls:
        r = requests.get(
            url,
            proxies={"http": REGION_PROXIES[region]},
            timeout=30,
        )
        seen.extend(parse_listings(r.text))   # collect what the region actually serves
    coverage_log(region, seen)                # feeds the coverage metric, not just "success"
    return seen

The difference from the old crawl is one line of intent: the sweep logs what was seen, not just what responded.

Layer 4 — Search-side surveillance. Counterfeits don’t only live on marketplace pages; fake storefronts and paid ads surface in search results too. The team added the SERP monitoring solution to watch branded keywords across target regions — organic results, ads, and shopping placements — at roughly $0.70 per 1,000 structured responses at volume. A lookalike domain bidding on the brand’s name now shows up in the same dashboard as the marketplace listings, which closes the loop that the original incident exposed: counterfeits had been appearing in search ads days before the marketplace listings went up, and nobody was watching that channel.

What the Incident Changed Permanently

The team’s quarterly review now runs through a fixed question set, and the questions generalize to any geo-sensitive monitoring workload:

How do we know we’re seeing the right catalog? Regional pinning plus spot-checks: for each monitored region, a human verifies once a quarter that the collected catalog matches what a local user sees. Automation catches drift between reviews via the coverage metric.

What fraction of live listings did we actually see? Coverage per category per region per night, trended. Any overnight drop greater than a threshold triggers investigation regardless of request success rates.

Where does interpolation touch alerting? Nowhere, by policy. Carried-forward data may render in historical charts, but alerts evaluate only freshly collected records. This single rule would have surfaced the original incident on day two instead of day nine.

Who watches the search layer? The brand keywords — and the top counterfeit-prone product terms — run through continuous SERP data crawling on a schedule, with structured results flowing into the same alerting as marketplace data. Ad placements appearing for known-bad domains trigger the same severity as a counterfeit listing.

What does the whole posture cost? Less than the incident. A regional monitoring program covering six marketplaces across four regions, with search-side surveillance layered on, prices out in the low thousands per month at published rates — residential traffic on the slider, marketplace data per delivered result, and SERP data per structured response through the SERP monitoring pipeline. The nine-day incident cost more in takedown legal work alone.

The Parting Lesson

The platform never failed loudly. It succeeded, quietly, at collecting the wrong data. If your monitoring measures request success instead of regional coverage, interpolates gaps into invisibility, and collects through geo-blind infrastructure, then your 95% dashboard can be hiding a nine-day counterfeit wave right now. Fix the measurement first, the infrastructure second, and the search channel third — and free trial credits on Thordata’s scraper and SERP APIs mean you can verify all three layers before the next quarter’s review.