Preview & Approval

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.

Overview

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:

  • Dashboard preview — iframe-based, shows the template with sample creative, no real-page context
  • Live-site preview — opens your actual page, injects the ad, shows a floating approval panel

Dashboard preview

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.

The dashboard preview uses sample creative only — it does not show a real advertiser's ad. The template design (font, spacing, colours, border style) is what matters here, not the creative content.

Live-site preview

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:

text
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:

I
inlay
Preview mode×

Floating approval panel shown on the live site

Approving

Click 'Approve & go live'

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.

Template is marked as approved

Inlay sets templateApproved = true on the placement. No further action is required.

Ads begin serving

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.

Regenerating with feedback

If you're not happy with the generated template, click Regenerate. An optional feedback field lets you describe what you'd like changed:

text
"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

Be specific about layout, typography, and spacing. The AI cannot infer subjective preferences like "make it feel more premium" — describe the concrete change instead (e.g. "increase padding to 24px, use a thicker font weight for the headline").

After approval

Revisiting the preview URL

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.

Regenerating after approval

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.