Creating a space, pasting the embed, reviewing the ads people submit, and changing or removing a space later.
An ad space is the unit you sell: a sized slot on one of your pages, at a price per day that you set. This page covers the whole life of one — creating it, getting it onto your site, deciding what runs in it, and changing it afterwards.
The one decision that cannot be undone is size. Advertisers build creative to fit the slot, so changing its dimensions later would break anything already running. Everything else — name, price, how many advertisers share it, whether you review each ad — can be changed at any time. If you are unsure which size to pick, the ad sizes page draws each one at true scale.
An ad space is the unit you monetise your website with: a sized slot on one of your pages, at a price you set. From Create an ad space, pick a standard size (or a custom one), set a price per day, and choose how many advertisers can share the slot at once.
Size can't be changed after you create the space — advertisers build their creative to fit it, so changing it later would break anything already running. Everything else (name, price, max advertisers, auto-accept) can be edited anytime from the space's manage page.
You don't need to connect Stripe to create a space, review ads, or start earning — advertisers can pay from the moment your space is live. Connecting Stripe is only how you take that money out; see connecting Stripe.
Every ad space has one embed snippet, shown on its manage page:
<script async src="https://your-worker.dev/embed.js" data-space="SPACEID"></script>
Paste it directly into your page's HTML wherever you want the ad to appear — no separate <div> needed, it builds its own container next to itself. It works on any site: plain HTML, WordPress, Squarespace, anything that lets you add a script tag.
One thing that won't work: pasting the tag into a browser's DevTools "Edit as HTML" panel, or inserting it via innerHTML in your own code. Browsers deliberately refuse to execute scripts added that way — nothing will happen, and nothing will be logged, because the tag never actually ran. Add it to your page's real source instead, or insert it with document.createElement if you're doing it from your own script.
Until an advertiser is live, the slot shows a small default banner inviting people to advertise on your site — it's never just blank.
If the slot is inside an iframe: some page builders and widget areas wrap embedded code in a sandboxed <iframe>. If that sandbox doesn't include allow-popups allow-popups-to-escape-sandbox, the browser silently refuses to open the advertiser's link when someone clicks the ad — nothing happens and no error is shown. Add those two values to the sandbox, or paste the tag directly into the page instead of into an iframe.
Ad clicks open in a new tab by default. Add data-target="_self" to the script tag if you'd rather they open in the same tab.
Unless auto-accept is on, every new submission lands on your space's manage page as pending review, along with your net payout for that ad (after the service fee) so you know what accepting is worth before you decide.
Accept it and the advertiser is emailed a link to pay and go live. Reject it with an optional message and they're emailed the reason — nothing is charged either way at this stage.
Turn on auto-accept when you create or edit a space and new advertisers skip review entirely — they pay immediately and go live right away. Leave it off and you approve (or decline) every ad yourself before it can run.
You can flip this anytime from the space's edit page; it only affects new submissions, not ads already running.
Auto-accept is the hands-off way to monetise your website — nothing waits on you, and a slot can sell while you're asleep. Manual review is the cautious one: slower to fill, but nothing appears on your pages that you haven't seen.
From a space's manage page, Edit settings lets you change its name, price, max advertisers, and auto-accept setting. Size is fixed once created. Lowering the max advertisers never removes anyone already running — it just stops new ones joining until the numbers drop naturally. Raising it immediately offers the new slot(s) to whoever's waiting in the queue.
Changing the price only applies to new advertisers — anyone already running keeps the rate they agreed to.
You can delete a space entirely, but only once nothing is pending, awaiting payment, or live on it — otherwise deleting would pull paid ads with no warning. Take those down first.
If an ad is live and you need it gone — it turned out to violate something, or you just changed your mind — use Take down on the space's manage page. This is different from rejecting, which only applies before an ad has been paid for.
Taking an ad down stops its billing immediately (the advertiser is never charged for days after) and emails them your reason. It also frees the slot, so if anyone's queued, the next bidder is offered it automatically.
The slot is not appearing at all. Nine times out of ten the tag was added in a way browsers refuse to run: pasted into DevTools "Edit as HTML", or inserted via innerHTML by another script. Nothing renders and nothing is logged, because the script never executed. Put it in the page's real source instead.
The slot appears but clicking does nothing. The embed is probably inside a sandboxed iframe added by a page builder. The sandbox needs allow-popups allow-popups-to-escape-sandbox, or the browser silently refuses the navigation.
The text in an ad looks too big or too small. The embed measures the slot and sizes the type to fill it without overflowing. If the slot changes shape after loading — inside a tab, an accordion or a slider — it re-measures and re-fits within about a second.
Everything looks right but nothing has sold. That is a pricing and visibility question rather than a fault. How to price ad space covers what to charge and how to tell when the number is wrong.
Still stuck? Contact us, or check service status if slots are blank across your whole site.