Newsletter Popup Pattern Auditor avatar

Newsletter Popup Pattern Auditor

Pricing

from $27.50 / 1,000 browser page checkeds

Go to Apify Store
Newsletter Popup Pattern Auditor

Newsletter Popup Pattern Auditor

Detect newsletter/pop-up/modal patterns and extract trigger timing, visible fields, offer text, close controls, mobile risk, and user-experience issues

Pricing

from $27.50 / 1,000 browser page checkeds

Rating

0.0

(0)

Developer

junipr

junipr

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Categories

Share

Detect newsletter/pop-up/modal patterns and extract trigger timing, visible fields, offer text, close controls, mobile risk, and user-experience issues.

What it does

Renders public pages after bounded waits and detects popups, offers, fields, close controls, overlay coverage, timing, and mobile UX risks.

The actor emits one row per visible popup pattern, or a no-popup diagnostic. Dataset and report output is produced only after every applicable PPE charge is accepted.

Common uses

  • Audit newsletter popup patterns
  • Check mobile popup UX risk
  • Extract popup offers and fields
  • Find hard-to-close modals
  • Compare popup behavior across pages

Input

Supply public HTTP(S) URLs or deterministic htmlInputs. URL fetching rejects localhost and private-network destinations; allowedDomains can narrow access further.

  • startUrls
  • sitemapUrls
  • htmlInputs
  • allowedDomains
  • maxPages
  • maxDepth
  • includeEvidence
  • includeRawSnapshots
  • requestDelayMs
  • timeoutMs
  • userAgentMode
  • pageUrls
  • waitTimesMs
  • viewportProfiles
  • interactionMode
  • popupSelectors
  • maxPopupsPerPage
  • captureScreenshots
  • viewportWidth
  • viewportHeight
  • maxPopupWaitMs
  • maxScreenshots
  • maxBrowserPages
  • maxChargeUsd
  • includeReport

The caps in maxPages, maxPopupWaitMs, maxScreenshots, maxBrowserPages, timeoutMs and maxChargeUsd are enforced. A zero charge cap is a hard zero budget.

Output

  • sourceUrl
  • sourceType
  • pageTitle
  • recordType
  • recordName
  • issueCode
  • severity
  • evidenceSnippet
  • recommendation
  • canonicalUrl
  • httpStatus
  • scannedAt
  • pageUrl
  • popupDetected
  • triggerTimingMs
  • popupType
  • offerText
  • fieldNames
  • closeControlFound
  • coversMainContent
  • mobileViewportIssue
  • uxIssueCode
  • screenshotKey

Reports:

  • newsletter-popup-pattern-auditor-summary-report.md
  • newsletter-popup-pattern-auditor-records.csv
  • newsletter-popup-pattern-auditor-issues.json
  • newsletter-popup-pattern-auditor-evidence-samples.json
  • newsletter-popup-pattern-auditor-run-metadata.json

Pricing

Platform-usage pass-through is off. Locked fixed-inclusive events:

EventPrice
actor-start$0.08
browser-page-checked$0.0275
popup-pattern-detected$0.0195
screenshot-captured$0.018
report-generated$0.18

The actor charges actor-start before fetching/rendering, deduplicates page events, charges record/finding events only for corresponding output, and stops before further output on partial, limited, or over-budget charges. Screenshot events fire only when a real browser PNG exists.

Safety and limitations

  • Public pages only; no authentication, CAPTCHA bypass, access-control evasion, or private data.
  • Browser waits, pages, records, changes, forms, popups, and screenshots are bounded.
  • Blocked, empty, and missing-baseline cases produce diagnostics instead of invented success.
  • Results describe source evidence at scan time and may change later.
  • Store discounts, icons, publication, and scheduler state are separate live configuration gates.

Local validation

pnpm --filter @junipr/newsletter-popup-pattern-auditor build
pnpm --filter @junipr/newsletter-popup-pattern-auditor test
pnpm --filter @junipr/newsletter-popup-pattern-auditor smoke

Fixtures cover success, weak/blocked evidence, comparison, no-result, and cap behavior. Tests also prove schema equality, pricing metadata, charge guards, zero budget, reports, and charge-before-output ordering.