adstack
Ad monetization infrastructure

Know why revenue moved, not just that it did.

adstack is a configuration-driven advertising runtime and measurement pipeline for digital publishers. It replaces hand-maintained ad tags with reviewable configuration, and records every auction so a change in revenue has an explanation attached to it.

One runtime, the whole delivery path

Slot definition through to rendered impression, configured per site rather than coded per site.

Slot definition and placement

Ad positions declared in configuration, including in-article insertion that counts content blocks rather than guessing at pixels.

Header bidding and price floors

Demand configured per site and per placement, with floors applied where the auction outcome is known and the ad request has not yet gone out.

Consent, properly sequenced

The consent platform is asked while configuration is still loading, so privacy compliance costs the page nothing it did not already spend.

Experiments that can be settled

Arms are assigned before anything reads configuration, bucket ranges are version-controlled, and every arm is recorded against the revenue it produced.

Refresh and viewability

Refresh policy expressed as configuration, driven by what the reader actually saw rather than by a timer alone.

Reviewable configuration

Every site's setup is version-controlled and linted before it ships, so review, blame and rollback come as standard rather than as a console audit log.

Measurement is the product, not a report

Most advertising stacks can tell you what happened. Far fewer can tell you why, because the auction detail is discarded before anyone thinks to ask. adstack keeps it.

Every bid A row per slot, bidder and auction — including the ones that lost, timed out or were turned away by a floor.
Every render Defined, requested, rendered, refreshed and viewed, joined to the impression that earned the money.
Named denominators Every rate states what it is a rate of, and thin samples report a fraction rather than a misleading percentage.

How it is built

A publisher's page is the business. These are the constraints the platform is held to.

It degrades
Every component has a defined behaviour when it fails, and the failure is announced rather than swallowed. A page that reports nothing still earns; a page that does not render still costs.
It stays light
A single runtime of roughly sixty kilobytes with no third-party dependencies, and nothing added between the auction settling and the ad request going out.
It stays honest
A wrong number is worse than a missing one. Gaps are counted and carried rather than left to be inferred, so a quiet dataset can be told apart from a broken one.
It extends sideways
New behaviour arrives as a subscriber to an event bus or as a configuration field, never as a change to the sequence that puts ads on the page.

Talk to us

adstack is built and in production use. If you run advertising on a publisher site and want to see it, get in touch.