Skip to content

Platform Overview

This page introduces ADBNK's core concepts, account model, and the full data flow of an ad from request to settlement. Once you understand these concepts, you'll ramp up faster whether you're an advertiser or a publisher.

Core concepts

On the advertiser side, serving objects are organized hierarchically, refined from top to bottom:

Advertiser account (Advertisement)
  └── Campaign               budget / pricing / targeting / schedule
        └── Ad group (Adgroup)   finer targeting and frequency control
              └── Ad             landing page / copy / bid
                    └── Creative  image / video / HTML (reusable)

On the publisher side, it's sites and ad zones:

Publisher account (Publishment)
  └── Site                   one website or one app
        └── Zone             a specific ad slot on a page
ConceptBelongs toDescription
CampaignAdvertiserThe top-level serving unit. Carries the pricing model, bid, daily/total budget, serving dates, targeting, and rotation mode.
Ad group (Adgroup)AdvertiserA group under a campaign, used for finer targeting, frequency control, and bid adjustments.
AdAdvertiserThe actual serving unit. Each ad has its own landing page, copy, and bid (falls back to the campaign when empty).
CreativeAdvertiserPure media assets (image/video/HTML), reusable across multiple ads. An ad can also rotate multiple creatives.
SitePublisherOne of your websites or apps; must pass review.
ZonePublisherAn ad slot on a site's page. Determines the ad format and size served in that spot, and has a unique zone_key.

Bid and pricing inheritance

When an ad's pricing model and bid are left empty, they automatically follow the parent campaign's settings; if filled in, the ad's own values are used. This lets you manage centrally while still fine-tuning individual ads.

Pricing models

ModelBilled onBest for
CPCPer clickPerformance ads, traffic acquisition
CPMPer thousand impressionsBrand exposure
CPAPer conversionRequires a conversion tracker
CPSPer saleE-commerce, requires a tracker
CPVPer viewVideo ads

WARNING

When choosing CPA / CPS, the campaign must be bound to a conversion tracker at creation, otherwise it cannot be saved.

Account model

The platform has three account types, each logging in to a different console:

RoleConsoleWhat you can do
Advertiseradv.adbnk.coTop up, build campaigns/ads, upload creatives, target and serve, view spend and performance
Publisherpub.adbnk.coBuild sites, open zones, get embed code, view revenue, withdraw
AdminInternal admin consoleReview campaigns/ads/sites/zones, settlement and anti-fraud ops, dispute handling

An advertiser account holds a balance (spend is deducted from it); a publisher account holds a withdrawable balance and a pending balance.

Data flow: from request to settlement

An ad goes through the following stages from request to final settlement:

  1. Ad request — a visitor opens a publisher page, and the ad zone requests an ad from the platform, carrying context such as region, device, and OS.
  2. Match & serve — among all approved, actively serving, and targeting-matched ads, the platform runs an auction and returns the best-fit ad to display (an Impression).
  3. Click — the visitor clicks the ad and is redirected to the advertiser's landing page. The platform records the click and can append tracking macros ({ClickID}, {Country}, etc.).
  4. Conversion — the visitor completes a target action (purchase, sign-up, etc.) on the landing page, reported back via Pixel / JS SDK / S2S Postback. See Conversion Tracking.
  5. Anti-fraud — each event is first marked valid/invalid by real-time risk control, then filtered again by retrospective batch detection. See Anti-Fraud.
  6. Settlement — the platform aggregates valid events hourly: charging the advertiser's balance and crediting the publisher. Invalid traffic is auto-reversed and not billed. See Settlement & Payouts.

Reported data ≠ settled data

Performance data in the console (impressions/clicks/spend, etc.) refreshes roughly every 5 minutes as a "near real-time" estimate, while the actual balance debits and credits are settled hourly. So you'll see both "estimated spend" and "current balance" — this is normal.

Documentation released under the MIT License.