| 1. Navigate |
Load each URL with the configured device viewport (desktop 1920×1080 or mobile 390×844) and user agent string. |
| 2. Consent |
Handle cookie consent banners using site-specific CMP strategies (Didomi, CPEx, Seznam, Cookiebot). |
| 3. Stabilize |
Wait for ad networks to finish loading. Inject CSS to suppress known non-ad overlays (subscription modals, Meiro popups). |
| 4. Detect |
Scan the DOM for ad elements using selector matching, size heuristics, text labels, and CNC-specific ad wrapper classes. |
| 5. Measure |
Calculate standard-specific metrics: ad density (vertical pixel projection), sticky ad height (% of viewport), autoplay audio, overlay area, pre-roll duration. |
| 6. Evaluate |
Compare measurements against Better Ads thresholds. Flag violations with severity, confidence rating, and selector evidence. |
| 7. Report |
Attach structured metrics to the test result. Capture screenshot. Write to OpenSearch, Slack, and this report. |