Skip to main content
A widget defines how creator cards look and behave on your pages. Each widget belongs to one property and serves only on that property’s domains.

Layouts

ModeWhat it does
Responsive gridCards fill the container width, count adjusts to screen size
Single rowOne horizontal row of cards
CarouselAuto-scrolling strip
Custom HTMLYour own card markup with placeholders, rendered by our script
Backend (S2S)No script at all: your server requests ads and renders them itself
For Custom HTML there is a template gallery (Classic, Dark, Minimal, Wide banner) to start from instead of writing markup from scratch.

Appearance

Widgets ship with a theme (Light, Dark or Auto following the visitor’s system), a density (Comfortable or Compact) and an optional Show more button: you choose how many cards are visible at first, the rest load in batches on click. The form shows a live preview of every combination before you save.

Embedding

Copy the snippet from the widget form and paste it where the cards should appear. Appearance settings are baked into the snippet as data attributes, so changing them in the form gives you an updated snippet; the widget itself also picks up saved changes on the next page load. The widget counts an impression only when a card is actually visible in the viewport, and a per-visitor frequency setting caps how many times the same visitor sees the same creator within 24 hours.

Backend (S2S)

If you want full control over markup, or render pages server-side, request ads from your backend with the widget API key and build your own HTML. The widget form contains ready examples for Node and PHP plus a small impressions script, and a prompt you can hand to an AI assistant to generate the integration for your stack. Two rules matter for S2S:
  1. Use the returned URLs as-is. Each creative comes with its own click and impression URLs; don’t rewrite or cache them across page views.
  2. Report viewable impressions. Fire the impression only when the card is at least half-visible for about a second. The provided script does this with an IntersectionObserver; copying it is the easiest way to stay accurate.
Accurate impressions matter beyond stats: they feed frequency capping and how campaigns are matched to your placement.