QuietAds documentation

End-user guide for publishers: sites, slots, embed, requests, and analytics.

1. Introduction

QuietAds is a micro-sponsoring tool for people who run websites or small products. You define fixed ad slots on your site, advertisers book them through a public page, and you choose whether each campaign goes live.

Problem it solves: you want sponsorship revenue without handing full control to an ad network. QuietAds keeps review in your hands and uses a small embed instead of a heavy stack.

What you can achieve:

  • Create one or more paid placements per site
  • Accept or reject each advertiser after they pay (authorization)
  • Show approved creatives automatically via a lightweight script
  • See impressions, clicks, and CTR per slot when data exists

2. Getting started

Creating an account

  • Open the Register page and complete sign-up.
  • Use an email you can access; you will need it to sign in later.

Accessing the dashboard

  • Sign in from the Log in page.
  • After login you land on the publisher dashboard: Overview, Sites, Requests, and Account settings.

3. Creating a site

In QuietAds, a site is the property you run ads on (blog, SaaS marketing site, personal homepage, etc.). Slots belong to a site. You can have several sites under one account.

Steps

  1. Go to Sites in the dashboard.
  2. Choose New site (or equivalent).
  3. Fill in Name — how you label this property inside QuietAds (e.g. "My blog").
  4. Fill in Domain (optional but useful) — e.g. example.com or a full URL. Helps you recognize the site in lists.
  5. Save. You return to the sites list and can open that site's slots.

4. Creating an ad slot

A slot is one sellable placement: one price, one public booking page, one embed instance. Think "hero sponsor" or "footer strip", not every banner on the site.

Fields

  • Name — internal and public label for the placement (e.g. "Homepage hero").
  • Placement label — short description of where it sits on the page (e.g. "Above the fold, right column"). Advertisers see this on the public slot page.
  • Price — amount you charge for that placement (set in the form when you create the slot; the dashboard shows the stored price).
  • Active — when off, the public slot page explains that you are not displaying ads there right now. Use this to pause without removing the slot. You can change it later from Edit on the slot.

Best practices

  • One clear visual area per slot so advertisers know what they are buying.
  • Put the embed where the placement label says — mismatches lead to confused advertisers and poor performance.
  • Start with a single slot; add more once the flow is familiar.

5. Installing the embed script

Where to find it

  • Open your site, then Slots.
  • Each slot has a public key and two publish actions: Copy embed (ready-to-paste HTML + script) and Public page (opens /s/<public-key>). You can still copy the key alone if you need it.

Add it to your site

QuietAds serves the approved creative and tracking. You keep the HTML and CSS: empty state, filled state, typography, spacing. The script only fills titles, images, and tracked links — it never replaces your layout.

Copy embed from the dashboard

Use Copy embed on the slots table, or replace YOUR_PUBLIC_KEY and YOUR_QUIETADS_HOST in the snippets below. If the script is served from another origin, keep data-api-base on the container.

<div data-quietads-slot="YOUR_PUBLIC_KEY" data-api-base="https://YOUR_QUIETADS_HOST" > <!-- Empty: shown when nobody sponsors this slot --> <div data-qa-empty> <a data-qa-advertise href="#">Advertise here — €5/week</a> </div> <!-- Filled: your sponsored layout (start hidden) --> <a data-qa-filled hidden> <img data-qa-image alt="" /> <strong data-qa-title></strong> </a> </div> <script src="https://YOUR_QUIETADS_HOST/embed/quietads.iife.js" async></script>

Hook attributes:

  • data-qa-empty / data-qa-filled — toggled by state
  • data-qa-title, data-qa-image — creative fields
  • data-qa-link or a filled <a data-qa-filled> — tracked click URL
  • data-qa-advertise — points to the public sponsor page

If the script is served from a different origin than the API, keep data-api-base on the container. You can use data-slot instead of data-quietads-slot.

After installation

  • The script loads slot configuration, shows an approved ad when one should run, or your empty state when there is nothing to show.
  • Impressions are counted when a served ad is actually shown.

Verify it works

  • Open a page where you pasted the script.
  • Use your browser dev tools Network tab: you should see requests to your QuietAds host for slot config / tracking, without console errors.
  • Until an approved campaign exists, you may see an empty or placeholder state — that is expected.

6. How advertisers interact with your slot

What they see

  • A public page at /s/<public-key> on your QuietAds domain (linked from you, or shared as URL). It shows slot name, placement, price, and a way to start booking.
  • If the slot is inactive, the page states that you are not running ads there.

How they submit

  • They must sign in (or create an account) before they can submit a campaign. Guest checkout is not available.
  • They fill in creative details (title, copy, link, image as required by your flow).
  • They complete checkout. Money is not finalized as a charge to them at that instant in the usual flow — see Payments below.

Payment flow (authorization)

  • Payment is authorized first (funds held / card checked depending on method).
  • Capture (actually taking the money) happens when you approve the request. If you reject, the authorization is released instead.

7. Managing ad requests

Where they appear

  • Dashboard → Requests. Pending review is listed first; approved, rejected, and unpaid bookings appear under History.

What to review

  • Title, description, destination link, image — anything shown on the detail screen.
  • Check brand fit, accuracy, and whether the creative matches the placement you sold.

Approve vs reject

  • Approve: payment is captured (when configured), the order becomes approved, and the embed can show that creative when it is the winning active campaign for the slot.
  • Reject: the authorization is cancelled / released so the advertiser is not charged the booked amount; the order does not go live.

8. How ads are displayed

  • An ad becomes visible in the embed after you approved the corresponding request and capture succeeded.
  • If several campaigns were approved over time, the embed serves the latest approved one for that slot (older approved bookings are not shown at the same time).
  • If no approved ad should run, visitors see no active sponsor creative in that slot (empty or placeholder behavior from the embed).
  • Inactive slot: turning Active off signals you are not displaying ads there; the public page reflects that.
  • Archived slot or site: the public booking page and embed stop serving that slot. Historical records can remain for past orders and reporting.

9. Analytics

Per slot, when data exists, you can see:

  • Impressions — how often an approved ad was shown.
  • Clicks — clicks tracked on that served ad.
  • CTR — click-through rate (clicks divided by impressions), expressed as a percentage.

"No data available" means there have been no impressions or clicks recorded for that slot yet — common right after setup or before traffic hits the embed.

Early data limitations: numbers only move when real visitors trigger the embed and tracking. Low traffic pages stay at zero for a long time; that is normal.

10. Deleting / archiving sites and slots

The dashboard uses Archive, not a hard erase. That keeps history coherent (past bookings, moderation, analytics context).

  • Archive a slot: public page and embed stop using it. You cannot archive a slot (or its site) while a campaign is waiting for review or currently running. You can pause later with Active off once the campaign has ended.
  • Archive a site: its slots are archived with it. You no longer manage live inventory for that site in the same way.
  • Past data for completed flows can remain in the product for history; you should not assume archival deletes all accounting or legal records from backend systems.

11. Payments

  • Authorization: when the advertiser completes checkout, the payment method is checked and funds may be held according to your payment provider's rules — but final charge is tied to your approval step.
  • Capture: when you approve, the system captures the payment (charges the advertiser for the booking).
  • Reject: the uncaptured authorization is cancelled so they are not charged that booking amount.
  • Funds are captured onto the QuietAds platform Stripe account. Automatic publisher payouts (Stripe Connect) are not part of this product yet — dashboard revenue is not a bank balance.

12. Best practices

  • Placement: high-intent pages (pricing, docs, newsletter archive) often convert better than random sidebars; match placement label to reality.
  • Pricing: start conservative, compare to your traffic and how much editorial risk you take per slot; adjust after a few real conversations with advertisers.
  • Performance: use CTR together with impressions — a high CTR on tiny volume is less informative than steady impressions with healthy click rate.

13. FAQ

No impressions or clicks yet, or the slot/embed is not on pages that get traffic. Confirm the script is on a live page and that an approved ad is eligible to show.

Until you approve, the system keeps the booking in a pre-capture state. Rejecting releases the hold. Failed capture on approve is a separate error path — the dashboard message explains the next step.

Yes. Submitting a campaign requires signing in. There is no guest checkout in this version.

Archiving avoids breaking historical bookings and keeps reporting consistent. You cannot archive a slot with a campaign waiting for review or currently running. After it ends, use Active off to pause without archiving.

Typical causes: no approved request yet; the slot is Inactive; the slot or site is archived; or the embed is missing, using the wrong public key, or blocked by CSP / ad blockers.