Every AI-generated ad template must be reviewed and approved before it serves real ads. You can preview inside the dashboard or directly on your live site — the choice is yours.
When the first real visitor loads a matching page, Inlay generates an ad component from the captured DOM structure. The result is stored against your placement and you receive a notification. The placement status changes to Pending approval and no ads are served until you act.
The approval flow has two surfaces:
From the placement detail page, the preview panel renders the generated HTML template populated with sample creative (a placeholder headline, body, image, and CTA). Use this view to quickly check the component's structure and layout.
If the placement has a firstVisitPageUrl recorded (set automatically after the first visitor triggers generation), the dashboard shows an Open on your site → button. Clicking it opens that URL with a special query parameter appended:
https://example.com/blog/my-post?_inlay_preview=cld_abc123...The embed script on that page detects the _inlay_preview param, includes the previewToken in its serve request, and receives the generated template rendered with sample creative. The ad is injected in the correct position and a floating control panel appears at the bottom of the screen:
Floating approval panel shown on the live site
In the floating panel (live-site) or in the dashboard panel, click Approve & go live. This calls the POST /api/preview/approveendpoint with your placement'spreviewToken.
Inlay sets templateApproved = true on the placement. No further action is required.
The next page load from any real visitor triggers a real auction. The approved template is rendered with the winning creative and served. The placement's impression and revenue counters begin incrementing.
If you're not happy with the generated template, click Regenerate. An optional feedback field lets you describe what you'd like changed:
"Use a smaller font for the headline. Remove the image.
The border should match the article's card border exactly."Inlay sends this feedback to the AI alongside the previous template HTML and your DOM samples. The next visitor to your site triggers a fresh generation pass that takes the feedback into account.
Effective feedback
If you revisit the live-site preview URL after approval, the ad is still injected — but the floating panel does not appear. The isPreview flag in the serve response is set to false once templateApproved = true, suppressing the panel.
You can request a regeneration at any time, even after approval. This clears the current template and resets the placement to Waiting for first visitor. Ad serving stops immediately until a new template is generated and approved.