Approve a landing page an agent submitted
Destination checks are a crawler, redirect policy, content match, Safe Browsing, and GPT restricted-category classification. A missing classifier signal goes to requires_review. It is not a pass.
Published 2026-09-09 · Search job: landing page ad review
When an agent submits a landing page, Adprime Zero runs destination checks before the campaign can use that URL. You read the status. You do not re-score the page by hand unless the status says review is required.
The checks are factual product steps, not a marketing promise about risk. They exist so an agent can iterate without inventing a second review desk, and so a URL that is not ready does not become a live click target.
What the system actually does
The destination path uses:
- A deterministic fetch crawler.
- Redirect policy (direct pages, JavaScript, cross-host hops, long chains).
- Visible text and content match against what the creative claimed.
- DOM and text hashes so later monitor passes can see drift.
- Google Safe Browsing.
- GPT-backed restricted-category classification.
- Optional browser screenshots stored as evidence. Screenshot failure is not a pass and not a block.
/creative/pre-check is the dry run. POST /creative is the submit that creates the durable row. Campaign activation needs destination status ready along with creative status, a recorded exchange creative id, and prepaid balance.
Restricted categories hard-reject. Missing or invalid GPT signals route to requires_review. "We could not classify" is not "we classified this as fine."
What you do in the dashboard
Open the destination or creative record the agent created. If status is ready, you can leave it. If status is requires_review, read the stored reason.
Common honest reasons:
- The crawler got a server error or a page that does not match the claimed content.
- Redirects crossed hosts or ran long against policy.
- The classifier returned a restricted category.
- The classifier was skipped because the provider failed. On September 3, 2026 a batch of ten creatives submitted together each hit HTTP 429 and parked with
status: 'skipped'while the crawls themselves were 200. Some of those 429s were an exhausted credit balance, not a rate limit. OpenAI 429 is not always a rate limit.
Re-submit after the page or the provider is actually fixed. The analysis cache stores conclusive pass and fail only, so a later submit after recovery calls the provider again.
What you should not do
Do not paste the live page HTML into chat and ask the agent to "approve it." The crawler already fetched it. Do not turn backend checks into a fear headline on your own ads. Do not treat a screenshot as the decision. Do not ask the agent for card details while you are on this screen. Payment is a different hosted page.
If the agent sent strangers to the homepage, the destination can still pass checks and still be a bad test. Checks answer "is this URL acceptable to run." They do not answer "is this the isolated promise." Use one page that matches the ad. Isolated funnels is that job.
The agent loop that submitted the URL is How an agent buys ads.