We once worked with a client who was convinced their competitor tracking system was functioning perfectly: it ran daily without errors, and data flowed in regularly.
In reality, however, the system was capturing only a single ad variation for each competitor — specifically, the one active at the exact moment the check was performed. Due to ad rotation, there were another 3–4 headline and offer variations that the client hadn't seen in months.
The solution was simple: configure the checks to run regularly using the same parameters (query, region, device) and learn to distinguish between two scenarios — when an ad has actually disappeared versus when the page simply failed to load.
We've provided a detailed breakdown of the situation here: Google Ads Data Scraping.
Has anyone else encountered similar monitoring systems that passed all checks successfully yet still produced incorrect results?
This is a good example of operational health hiding data-quality failure. “The job ran” only proves the collector executed; it says nothing about how much of the rotating population it observed.
I’d track a discovery curve for each competitor: checks completed, unique variants found, and time since the last new variant. Negative observations also need reason codes—ad absent, page empty, blocked response, parse failure—so “not seen” never silently becomes “disappeared.”
The awkward part is that the true number of variants is unknown. How do you decide that sampling has reached reasonable coverage rather than merely stopped discovering new ads for a while?