# Changelog of Ad Pixel & Tech Stack Detector: Meta, GA4, GTM (`saiberops/ad-pixel-detector`) Actor

- **URL**: https://apify.com/saiberops/ad-pixel-detector/changelog.md
- **Full Actor documentation**: https://apify.com/saiberops/ad-pixel-detector.md

## Changelog

### Unreleased (independent-review fixes)

- Contact-page discovery matches whole words in the link's last path segment first, then its text, so links like `/facebook-reviews`, `/ebook` or `/quotes-of-the-day` are no longer picked (and charged) as the contact page.
- Stop signals: a 401/403/429 or challenge on an extra page stops all further requests to that site (remaining extra paths and the http→https probe, then `null`).
- Tag containers: a 401/403/429 from www.googletagmanager.com stops container fetches for the rest of the run (new container status `skipped-blocked`); the per-run container cache is bounded (LRU, 500 entries).
- Max cost: the site saved and charged as the run's limit was reached is now counted in `RUN_SUMMARY`, and its extra pages are charged when they still fit (they are cheaper than a site); the run then stops.
- README: removed the unmeasured coverage percentages; the FAQ now points to `adReadiness.points` instead of claiming the score can be recomputed from the flags.
- Billing: an extra page that redirects to another site, or back to a page already scanned (e.g. `/contact` -> `/`), is skipped: not merged and not charged.

### 1.0 (2026-10-24)

- First release (HTTP mode): 119 signatures for ad pixels, analytics, tag managers, call tracking, chat, booking, forms, CRM/email, landing-page builders, CMS and site builders, e-commerce and real-estate platforms, consent, anti-bot, ad-fraud protection and CDN; tag IDs with evidence; Google Tag Manager and gtag.js container inspection; Shopify, Wix and Squarespace platform adapters; LocalBusiness schema, Google Business Profile and social presence; site health; ad-readiness flags, 0–100 score and gaps; `RUN_SUMMARY`.
- Pricing: `site-scanned` (primary), `extra-page-scanned`, and `site-scanned-browser` (reserved for browser mode in v1.1, defined at launch, not charged by this version).
