Platform reference · 2026

Platform Reference

Not a marketing page. Actual specs, real numbers, and the reasoning behind how OrbitWise works — so you run campaigns that perform, not just campaigns that run.

⌘K

Getting Started

You have an offer. OrbitWise connects it to traffic in 50+ countries. From account creation to first impression: about 10 minutes. Here's what to do in what order.

50+

Countries

6

Ad Formats

98.1%

Fraud Block Rate

<50ms

Avg Bid Latency

24/7

AI Monitoring

4

Edge Regions

Quick start — five steps

  1. Create your account

    Sign up, verify your email, and complete account verification. Advertiser accounts are approved within 24 hours. A €10 trial credit is applied on first top-up.

  2. Add balance

    Top up via bank transfer, card, or crypto. All balances are held in EUR. Cards are credited immediately; bank transfers take 1–2 business days. Minimum deposit: €50.

  3. Build a campaign

    Use the Campaign Builder or let OrbitWise AI generate a complete campaign from a brief. Set your goal, audience, daily budget, and ad formats. The AI pre-populates targeting recommendations and bid estimates.

  4. Install conversion tracking

    Add the one-line pixel to your conversion page or configure a server-side postback URL. Attribution begins immediately. This signal drives AI bid optimization — conversion volume directly improves results.

  5. Monitor and scale

    Live stats are in the Performance dashboard with hourly granularity. Enable Autopilot to let the AI manage bid adjustments, budget reallocation across networks, and creative rotation continuously.

TipDon't narrow targeting in the first week. The AI needs data before it can be useful — restricting geo and device before 200+ conversions is the most common reason new campaigns underperform. Run broad, then analyze.
Launch in minutes

Launch your first campaign in under 10 minutes

Create your account, add balance, and go live. No contracts, no minimums beyond the first deposit. Cancel anytime.

50+Countries
€0.20Min CPM
98.1%Fraud Blocked

Account Structure

Four levels. Account holds billing and team access — it's the root. Campaign Groups are optional; skip them unless you're running multiple brands or separate teams. Campaigns hold goals and budget. Ads hold creative. One campaign per goal keeps reporting clean.

Account hierarchy — 4 levels

ACCOUNT

Root level — billing, access, and API keys are managed here

Billing & BalanceTeam MembersAPI KeysDomain BlacklistAudit Log
CAMPAIGN GROUP

Optional organizational container — group campaigns by brand, vertical, or manager

Shared budget rollupReporting aggregationAccess control scope
CAMPAIGN

Core execution unit — one campaign per goal, audience, and budget

Goal & KPITargeting rulesDaily / Lifetime budgetBid strategyFormat selection
AD

Individual creative — one ad per creative variant or A/B test arm

Creative file / URLHeadline & copyLanding page URLA/B variant tag

User roles

RoleCodeAccess level
Super AdminSUPER_ADMINFull platform access including billing, user management, all advertisers and publishers, system configuration, and audit logs.
AdminADMINAll advertiser and publisher management. Can manage team members and API keys. Cannot modify billing or subscription plan.
AdvertiserADVERTISERFull campaign management: create, edit, pause, and delete campaigns. View analytics for own campaigns only. Cannot manage team.
PublisherPUBLISHERPublisher dashboard access: view inventory stats, fill rates, and revenue reports. No access to advertiser campaigns.
ViewerVIEWERRead-only access to all dashboards and analytics. Cannot create, edit, or pause any campaigns or settings.
API UserAPI_USERProgrammatic access only — no dashboard login. Permissions scoped to the API key's assigned role (Advertiser or Viewer).
BILLING

Billing & Balance

Top up account balance, view invoice history, download PDFs, manage payment methods. Top-up methods: credit card (instant), SEPA bank transfer (1 business day), crypto USDT/USDC (2 block confirmations).

TEAM

Team Members

Invite team members by email. Assign roles per member. Each member gets individual login credentials. Activity is logged per user in the Audit Log. Revoke access immediately from the team settings panel.

API KEY

API Keys

Generate named API keys with scoped permissions (read-only or full access). Each key is shown once at creation — store securely. Rotate keys at any time without downtime. Rate limit: 1,000 requests/minute per key.

ALERTS

Notification Preferences

Configure email and webhook notifications for: daily spend summary, campaign auto-pause events, fraud refund credits, low balance warnings (set threshold), and weekly performance digest.

TRACKING

Conversion Events

Define named conversion events (Purchase, Sign-Up, Lead, Download, etc.) with optional revenue values. Each event gets a unique pixel event code and a separate postback endpoint URL for S2S tracking.

BLOCK

Domain Blacklist

Account-level domain exclusions apply to all campaigns automatically. Separate from per-campaign blacklists. Useful for consistently excluding known low-quality or competitor domains.

SecurityAll team member actions are recorded in the Audit Log (Dashboard → Settings → Audit Log) with IP address, timestamp, and action description. Retained for 12 months. Export available in JSON or CSV.

How OrbitWise Works

Every ad impression runs through the OrbitWise real-time bidding pipeline — from publisher bid request to served creative — in under 100 milliseconds. Edge nodes in Frankfurt, Singapore, Ashburn, and São Paulo ensure sub-50ms latency on all major markets.

01

Bid Request

<2ms

02

Traffic Check

<5ms

03

Supply Chain

<3ms

04

AI Bid Engine

<15ms

05

Creative Match

<10ms

06

Bid Response

<5ms

07

Event Tracking

async

Pricing models

ModelBilled onBest forOptimization signal
CPMPer 1,000 impressionsBrand awarenessViewability, reach
CPCPer clickTraffic, lead genCTR, landing engagement
CPVPer completed video viewVideo campaignsView-through rate
CPAPer conversion eventPerformance campaignsCPA, ROAS
CPDPer day (flat rate)Guaranteed placementsReservation-based

Geographic Coverage

50+ countries. RTB infrastructure on four continents — median bid under 50ms. Target at country, region, city, or US DMA level. Each geo supports bid multipliers, so you're not just picking markets — you're pricing them.

North America
Western Europe
Eastern Europe
Latin America
Southeast Asia
South Asia
Middle East
Australia / NZ
Africa
Japan / Korea
CIS
United Kingdom
RegionTierAvg CPM — DisplayTop verticals
United StatesTier 1€2.40–6.00Finance, iGaming, eCommerce
United KingdomTier 1€1.80–4.50Finance, SaaS, Travel
Germany / DACHTier 1€1.60–4.00Automotive, Finance, SaaS
BrazilTier 2€0.40–1.20iGaming, eCommerce, Crypto
IndiaTier 2€0.15–0.60eCommerce, EdTech, Finance
SEA (ID, TH, VN)Tier 2€0.12–0.45Gaming, Apps, iGaming
Africa (ZA, NG, KE)Tier 3€0.08–0.25Crypto, Apps, FMCG

Ad Formats & Specifications

Six formats, each with its own inventory pool and user interaction pattern. Most creatives clear automated review in under an hour. iGaming, Crypto, Dating, and Supplements go to manual review — allow up to 4 hours.

displayDisplay Banners
AD

Image-based ads served across the OrbitWise publisher network. The most widely supported format — available on desktop and mobile across all publisher categories.

Sizes728×90, 300×250, 160×600, 300×600, 320×50
File typesJPG, PNG, GIF, WebP, HTML5 (ZIP)
Max file size150 KB static · 500 KB animated
AnimationCSS or GIF · max 30 s · max 3 loops
Min CPM€0.20
TargetingGeo, device, OS, browser, hour, audience
nativeNative Ads
NATIVE

Content-matched ads that blend with publisher page layouts. Consistently higher engagement than standard display — rendered by the publisher's own template engine.

Title25 chars max
Description90 chars max
Image300×250 px min · 16:9 or 4:3 · JPG/PNG
Brand name25 chars max
CTA buttonOptional · 15 chars max
Min CPM€0.40
TargetingGeo, interest, contextual keyword
pushPush Notifications
OrbitWise · now

Browser and in-app notifications delivered to opted-in subscribers regardless of whether they are currently browsing a publisher site. 100% viewability by design.

Title30 chars desktop · 25 chars mobile
Message45 chars desktop · 35 chars mobile
Icon192×192 px PNG · max 30 KB
Banner image492×328 px · max 100 KB · desktop only
Min CPC€0.003
TargetingGeo, OS, browser, subscriber recency
popPop-under / Onclick
yourlandingpage.compublisher-site.comopens behind

Full-page traffic opened underneath the active browser window when a user clicks on a publisher page. Direct URL delivery — no creative file required.

Landing URLAny valid HTTPS URL
TriggerOnclick, first click per session
Freq. cap1 per user per 24 h (default, adjustable)
Device typesDesktop and mobile (separate bid floors)
Min CPV€0.001
TargetingGeo, OS, browser, carrier, ISP
interstitialInterstitial
5s

Full-screen ads displayed at natural page transitions — article breaks, game level loads, or content page changes. Skip-after timer enforced by the platform.

Dimensions320×480 · 480×320 · 768×1024 · 1024×768
File typesHTML5, JPG, PNG
Max file size500 KB
Skip timer3–5 seconds (set per campaign)
Min CPM€0.80
TargetingGeo, device, app category, OS version
videoIn-Stream Video
Skip ▶0:15

Pre-roll, mid-roll, and post-roll ads served within video player content. VAST 4.2 compliant — compatible with all major video players and SSPs.

Duration6 s (bumper) · 15 s · 30 s · 60 s
FormatsMP4 H.264 · WebM · VAST 4.2 tag
Resolution1920×1080 recommended · 640×480 min
AudioAAC · normalized to −14 LUFS
SkipAfter 5 s for ads longer than 15 s
Min CPV€0.005 per completed view
PolicyAuto-approved: eCommerce, SaaS, Finance (non-crypto), Travel, Education. Manual review (up to 4 h): iGaming, Crypto, Supplements, Dating. Prohibited: Malware, Fake news, Illegal content, Forced downloads. Automated review typically completes within 15–45 minutes.

Targeting Reference

OrbitWise Six dimensions, all active simultaneously — country, device type, OS, browser, connection, and placement. AND across categories, OR within them. Stack as many restrictions as needed; every combination is evaluated at bid request time, zero latency cost.

GEO

Geographic

Country

Target any of 50+ supported countries with include or exclude lists. Set bid multipliers (−80% to +200%) per country for granular spend control.

e.g. United States, Germany, Brazil

Region / State

Sub-national targeting within any supported country. Covers US states, German Bundesländer, UK regions, Canadian provinces, and equivalents globally.

e.g. California, Bavaria, Ontario

City

City-level targeting with optional 15 km radius expansion. Up to 1,000 cities per campaign. Performance data is available per city in Analytics breakdowns.

e.g. Berlin, Singapore, São Paulo

DMA

Nielsen Designated Market Areas for US campaigns only. 210 DMAs available covering all US markets. Can be combined with state targeting.

e.g. New York DMA (501), Los Angeles DMA (803)
DEV

Device & Browser

Device Type

Desktop, mobile, tablet, connected TV (CTV), and smart TV. Each type has separate bid floors and available ad formats. Bid multipliers applied per type.

e.g. Mobile only — set Desktop −100%

Operating System

Target by OS family and minimum/maximum version. Supports Windows, macOS, Linux, Android, iOS, ChromeOS. AND/OR logic supported within OS group.

e.g. Android ≥ 10, iOS ≥ 15, Windows 10+

Browser

Chrome, Firefox, Safari, Edge, Samsung Internet, Opera, UC Browser. Target by browser version range. Useful for HTML5 creative compatibility.

e.g. Chrome ≥ 100, Safari ≥ 15

Connection Type

Wi-Fi, 3G, 4G LTE, 5G, wired broadband. Useful for campaigns with heavy creatives or when targeting users with reliable data connections.

e.g. Wi-Fi + 4G LTE only

Browser Language

Target by browser's configured display language. Up to 20 language codes per campaign. ISO 639-1 format.

e.g. en, de, pt-BR, zh-CN, ar
NET

Network

Mobile Carrier

Target or exclude specific mobile carriers across 180+ carriers globally. Particularly useful for carrier billing, apps, and mobile-first verticals.

e.g. T-Mobile US, Vodafone DE, Jio IN

ISP

Internet service provider targeting for desktop and fixed-line broadband traffic. Useful for B2B targeting by corporate network ISP.

e.g. Comcast, BT Business, Deutsche Telekom

IP Range (CIDR)

Target specific IPv4 CIDR ranges. Useful for B2B account-based targeting. Max 500 CIDR blocks per campaign. Requires manual approval for ranges wider than /16.

e.g. 203.0.113.0/24
AUD

Audience

Custom Audience

Upload a CSV of hashed email addresses or device IDs (SHA-256). OrbitWise matches against publisher user pools. Match rates: 40–70% depending on traffic source and geo.

Upload customer email list (hashed)

Retargeting

Re-engage users who previously visited your site and have the OrbitWise pixel installed. Segment by URL pattern (contains, equals, regex) or by pixel event type.

e.g. Cart abandoners, product page viewers, checkout starters

Lookalike Audience

AI-generated audience matching behavioral and contextual patterns of your seed audience (converters). Requires minimum 500 seed events for reliable modeling. Available at 1%, 3%, 5%, 10% similarity depth.

e.g. 3% lookalike of purchasers in DE

Interest Segments

150+ IAB interest categories built from publisher page context and behavioral signals across the network. No PII required — cookieless compatible via contextual signals.

e.g. Finance > Investment, Travel > Luxury Hotels
CTX

Contextual

Keyword Targeting

Target pages containing specific keywords. Up to 500 keywords per campaign. Match types: exact (full phrase), broad (any word), and negative (exclude pages). Processed at bid request time via NLP classification.

e.g. +"travel deals" +flights -competitor

IAB Category

Target inventory by IAB Content Category Taxonomy 2.2 (1,000+ sub-categories). Classified by a real-time page analysis model at the SSP layer before the bid request is sent.

e.g. IAB1-5 Comics, IAB4-11 Job Search, IAB19-6 Cloud Computing

Domain Whitelist

Restrict delivery to a manually curated list of approved publisher domains. Guarantees brand-safe placements. Note: whitelisting to <50 domains significantly reduces volume.

e.g. techcrunch.com, bloomberg.com, forbes.com

Domain Blacklist

Exclude specific publisher domains from receiving your ads. Applied at campaign level. Account-level blacklist also applies globally to all campaigns.

e.g. competitor.com, mfa-site.net
FRQ

Frequency & Scheduling

Impression Frequency Cap

Limit how many times a unique user sees your ad within a time window. Options: per hour, per 24 hours, per 7 days, per campaign lifetime. Enforced server-side via a distributed cookie + fingerprint store.

e.g. Max 3 impressions per user per 24 hours

Click Frequency Cap

Prevent a single user from clicking your ad more than N times per period. Reduces attribution noise and protects against accidental re-clicks on mobile.

e.g. Max 1 click per user per 24 hours

Dayparting

Restrict delivery to specific hours (0–23) and days of the week. Applied in UTC or in your selected advertiser timezone. Combine with bid multipliers: e.g. +40% on peak hours, −80% on off-peak.

e.g. Mon–Fri 09:00–18:00 advertiser TZ

Start / End Date

Set campaign flight dates. End date is optional — leave blank for always-on campaigns. Budget pacing resets at UTC midnight. Time zone is UTC for all system events.

e.g. 2026-03-01 → 2026-03-31

Targeting AND / OR logic

Between categoriesWithin a categoryExample
AND (required)OR (any match)Geo=US AND Device=Mobile AND OS=Android OR iOS
All 6 dimensions active simultaneouslyUp to 500 values per dimensionCountry IN [US, CA, GB] AND Browser IN [Chrome, Safari]
Negative targeting applied lastExclusions override inclusionsNOT Domain IN blacklist AND Geo IN [DE, AT, CH]
TipStart campaigns with country-level geo targeting only. Add device, OS, and browser restrictions only after you have 500+ clicks of performance data to justify the narrowing. Over-restricting on day 1 limits the AI learning signal and can stall delivery.

Campaign Builder

The six-step Campaign Builder walks through every setting from goal selection to creative upload. Alternatively, use the AI Campaign Wizard: enter a URL and a brief, and the AI pre-populates targeting, bid estimates, and ad copy suggestions in under 30 seconds.

  1. 01

    Campaign Settings

    Name your campaign and select the primary goal: Awareness (CPM), Traffic (CPC), Conversions (CPA / ROAS), or Video Views (CPV). Set flight dates (start required, end optional). Choose your base currency (EUR). Enable or disable AI Autopilot — you can toggle this later without restarting the campaign.

    Campaign nameGoal / KPIStart dateEnd date (optional)AI Autopilot on/off
  2. 02

    Audience & Targeting

    Select geo (country required, region and city optional). Add device, OS, browser, carrier, and language targeting if needed. Attach an audience segment (retargeting pixel, custom list, or interest). Configure frequency caps and dayparting schedule. Leave most filters broad on first launch — refine after data accumulates.

    Geo — country / region / cityDevice type + OS + browserAudience segmentFrequency capDayparting schedule
  3. 03

    Budget & Bidding

    Set a daily budget (minimum €5/day). Optionally set a lifetime cap. Choose pacing: Standard (even spread) or Accelerated (spend as fast as possible). Set your pricing model (CPM / CPC / CPV / CPA). For AI Auto-Bidding, enter your target CPA or ROAS — the engine calculates per-impression bids automatically. For manual bidding, enter a max CPM or CPC.

    Daily budget (min €5)Lifetime cap (optional)Pacing modePricing modelTarget CPA / ROAS or max bid
  4. 04

    Network Deployments

    Select which partner networks to activate (Partner Network A, B, C, or All). For each network, set a minimum and maximum daily allocation to prevent any single source from over-spending. The AI reallocates budget across active networks every 60 minutes based on performance.

    Network selectionMin allocation per network (min €3/day)Max allocation per network
  5. 05

    Creative Upload

    Upload creatives or link existing ones from your Creative Library. Match dimensions to the ad formats selected for each network. For HTML5 creatives, upload as a ZIP (max 500 KB) including an index.html at the root. For native ads, fill title, description, image, and CTA fields. Video creatives must be MP4 (H.264) or supplied as a VAST 4.2 tag URL.

    Upload image / GIF / HTML5 ZIP / MP4Or enter VAST 4.2 tag URL for videoNative fields: title, description, image, CTA
  6. 06

    Review & Launch

    The Review screen shows a summary of all settings, estimated daily impressions range, estimated CPA range, and any warnings (e.g. targeting too narrow, budget below network minimum). Creatives are submitted for automated review upon launch. Most categories are approved within 15–45 minutes. Restricted categories (iGaming, Crypto, Dating, Supplements) require manual review up to 4 hours.

    Settings summaryEstimated reach & cost estimatesCreative review statusLaunch or Save as Draft

Campaign status lifecycle

StatusMeaningNext transition
DRAFTSaved but not submitted. No creatives reviewed.→ IN_REVIEW on submit
IN_REVIEWCreatives under automated or manual review.→ ACTIVE (approved) or REJECTED
ACTIVEDelivering impressions. Spending from daily budget.→ PAUSED (manual) or AUTO_PAUSED
PAUSEDManually paused. No delivery, budget preserved.→ ACTIVE (manual resume)
AUTO_PAUSEDSystem paused: budget depleted, CPA overage, or fraud event.→ ACTIVE after fix + manual resume
COMPLETEDLifetime budget fully spent or end date reached.Terminal state
REJECTEDCreative review failed policy check.Edit creative → re-submit
AI WizardDashboard → New Campaign → AI Wizard. Paste your landing page URL. The AI reads page content, detects product category and target audience, suggests geo, targeting, and generates native ad copy variants. Review and adjust before launch — treat it as a starting point, not a final configuration.

Creative Best Practices

Format-specific guidance from performance data across OrbitWise campaigns. Benchmarks reflect median performance across all verticals — your results will vary by audience and offer quality.

Display Banners

CTR avg: 0.08–0.25%Best size: 300×250Viewability: 52–65%
  • Use 300×250 — it has 3× more inventory than any other size and the highest average CTR across all verticals.
  • Animated GIF or CSS ads outperform static by 60–120% on average CTR — keep animation to max 3 loops.
  • Include a contrasting CTA button in the bottom-right quadrant — it is the last area the eye visits.
  • Keep text to less than 20% of ad area — heavy text triggers automated policy flags and reduces viewability scores.
  • Test dark and light background versions — dark performs better in evening hours (18:00–22:00 local time).
Avoid —Flashing/strobe effects — blocked by policy. Fake UI elements (close buttons, system dialogs). Fine print unreadable at ad size.
AD

Native Ads

CTR avg: 0.3–1.2%Engagement: 3–5× displayBest copy: Story-led
  • Headlines that raise curiosity or tell a micro-story outperform direct offers — 'How travelers cut hotel costs by 40%' beats 'Book hotels cheap'.
  • Use real photography over illustrations — authentic product or lifestyle photos achieve 40% higher CTR on average.
  • Keep description to 80–88 characters — truncation above 90 characters hurts engagement on mobile previews.
  • Brand name must be visible, accurate, and match the landing page domain — policy violations result in immediate rejection.
  • Run 3–5 headline variants simultaneously with AI creative rotation to find the top performer within 500 impressions.
Avoid —Clickbait headlines that misrepresent the landing page. Before/after imagery in health/supplement context. Mimicking news article formatting.
NATIVE

Push Notifications

CTR avg: 0.5–4.0%Best send window: 09:00–11:00 & 19:00–21:00Fatigue onset: Day 3–5
  • Deliver the core message in the title — keep it under 30 characters on desktop, 25 on mobile to avoid truncation.
  • Create urgency or scarcity in the message body: 'Only 3 left' or 'Offer ends tonight' consistently lift CTR 30–50%.
  • Icon must be clean and recognizable at 192×192 px — complex logos with fine details render as blobs at notification size.
  • Target subscribers acquired within the last 14 days — subscribers older than 30 days show 50% lower average CTR.
  • Desktop Chrome users see a banner image (492×328): this field has a dramatic CTR impact — never leave it blank for desktop campaigns.
Avoid —Sending more than 1 push per user per day — opt-out rates spike above 15% with higher frequency. ALL CAPS titles. Vague messages with no clear offer.
OrbitWise · now

Pop-under / Onclick

CVR avg: 0.1–0.8%Best geo: US, BR, INOptimal frequency: 1 per user / 24 h
  • Landing page must load in under 2 seconds — every additional second of load time costs approximately 15% CVR.
  • A pre-lander page (one-step interstitial before the main offer) improves CVR by 20–30% for most verticals.
  • Keep frequency at 1 pop per user per 24 hours — the default. Increasing to 2/day typically halves CVR and raises refund rates.
  • Separate desktop and mobile into distinct campaigns — users interact with pop-unders very differently across device types.
  • Send traffic directly to the specific product or offer page, not the homepage — conversion drop-off multiplies at each extra navigation step.
Avoid —Cookie consent walls or consent overlays that block content before the user can engage. Multi-redirect chains longer than 2 hops — they reduce quality score and increase IVT detection rate.
yourlandingpage.compublisher-site.comopens behind

Interstitial

CTR avg: 1.5–4.5%Skip rate at 3 s: 65–80%Optimal skip timer: 5 s
  • Design for the skip button scenario — 70% of users skip. The visible 5 seconds must communicate brand, offer, and CTA.
  • Use a large, single-color background with high-contrast product image — complex backgrounds are processed as noise.
  • Minimum 18px body text on mobile — at full-screen interstitial size, small text still looks cluttered and lowers recall.
  • CTA button must meet minimum touch target (44×44 pt on mobile) — small CTAs are frequently missed or trigger accidental taps.
  • 5-second skip timer outperforms 3-second in CVR by 18–30% even though slightly more users skip — the extra 2 seconds drive recall.
Avoid —Fake loading screens — policy violation. CTAs placed within 150px of the skip button — accidental clicks trigger policy warnings and audit reviews.
5s

In-Stream Video

VTR (15 s): 65–85%Avg VTR: 72%Best duration: 15 s non-skippable
  • Show brand and core message within the first 3 seconds — before the skip option appears for longer formats.
  • Design for sound-off viewing: 80% of in-stream video plays without audio. Use captions, bold text overlays, or on-screen product demo.
  • 15-second non-skippable ads achieve 30% higher brand recall than 30-second skippable ads in post-campaign studies.
  • End card (final 3 seconds): show your URL and a single explicit CTA — 'Shop Now', 'Learn More', 'Download Free'.
  • Encode at ≥ 2 Mbps for 1080p, normalized audio to −14 LUFS. Submit as MP4 H.264 or provide a VAST 4.2 tag for maximum player compatibility.
Avoid —Slow fade-in openers — show product or key visual within 1.5 seconds. Compressed audio that distorts at speaker volumes. Videos longer than 60 s on mobile (exceeds VAST timeout on most mobile SSPs).
Skip ▶0:15

Anti-Fraud & Traffic Quality

98.1% of invalid traffic is blocked before a bid is submitted. The remainder gets caught by the async ML layer post-delivery and credited back automatically. No dispute process, no claim to file.

98.1%

IVT Block Rate

<2ms

Check Latency

4

Validation Layers

100%

SIVT Refund

L1
Network & IP Reputation≤ 0.5ms

Cross-referenced against 12 IP reputation databases updated every 15 minutes. Known datacenter ranges, Tor exit nodes, and residential proxy pools are flagged using a Bloom filter at O(k) lookup time.

L2
Device & Browser Fingerprinting≤ 1ms

User-Agent parsing, JS environment consistency check, WebGL renderer fingerprint, and battery/screen metadata analysis. Detects headless browsers (Puppeteer, Playwright, PhantomJS) and bot emulation frameworks.

L3
Supply Chain Verification≤ 2ms

Validates OpenRTB SupplyChain (schain) objects and ads.cert signatures on every bid request. Unauthorized resellers and domain-spoofing attempts are rejected before a bid is submitted.

L4
ML-based SIVT Detectionasync

Sophisticated Invalid Traffic (click farms, CTV fraud, session replay bots) is detected by a gradient-boosted model trained on 90 days of labelled event data. Flagged events trigger automatic balance credit.

Anti-fraud

Advertise with confidence — zero charge for invalid traffic

Every impression passes 5 validation layers before your budget is touched. Invalid traffic is blocked and refunded automatically — no disputes, no process.

98.1%Fraud Block Rate
<200msBlock Latency
0€Charged for IVT

A/B Testing

Test one thing at a time — that constraint isn't just good practice, it's the only way to know what actually moved the number. Three scopes: creative rotation within a campaign, campaign-level splits, and landing page variants via URL parameter.

Creative rotation modes

ModeHow it worksBest for
Even rotationEach creative receives equal impression share regardless of performance. Useful for collecting unbiased performance data.Initial data gathering (first 1,000+ impressions)
WeightedManually set percentage split per creative (e.g. 70/20/10). Used when you have prior data suggesting one variant is stronger.Scaling a known winner while continuing to test
AI OptimizedThe system automatically shifts impression share toward the creative with the highest CVR, updating every 4 hours.Maximizing performance once 200+ clicks recorded per variant
Champion/Challenger90% of traffic goes to the proven winner; 10% to new challengers. Minimizes risk while enabling continuous improvement.Established campaigns with a strong baseline creative

Statistical Significance

OrbitWise calculates Z-score significance automatically in the A/B test dashboard. A result is marked significant when p < 0.05 with 95% confidence. Do not make decisions on results below this threshold — they may be noise.

Minimum Sample Size

For CTR tests: minimum 1,000 impressions per variant. For CVR tests: minimum 100 clicks per variant. For CPA tests: minimum 30 conversions per variant. Results below these thresholds show an 'Insufficient data' warning.

One Variable Rule

Test only one element per experiment: either the headline, or the image, or the CTA, or the landing page — not multiple. Testing two variables simultaneously makes it impossible to identify which change drove the result.

When to Stop a Test

Stop when statistical significance is reached AND you have met minimum sample size. Never stop early because a variant looks promising — early leads frequently reverse. If no significance after 14 days, declare a draw and move on.

Landing Page Testing

Append a URL parameter to the destination URL per creative variant (e.g. ?variant=a vs ?variant=b). Your own analytics can segment conversions by parameter. The OrbitWise pixel fires on both variants — attribution works normally.

Campaign-Level Split Test

Duplicate a campaign and change exactly one setting (geo, pricing model, bid amount). Run both with identical budgets. Compare CPA in Analytics → Campaigns → side-by-side view after 7+ days of equal delivery.

Reporting & Data Export

Reports are available at hourly granularity with a 3-hour data lag. Aggregate by any combination of dimensions. Export raw event data or aggregated stats via the dashboard or REST API.

Slice & filter by

DimensionValuesNotes
Date / HourISO 8601, UTCHourly available from campaign start. Daily rollups auto-generated.
CampaignAll campaigns in accountFilter by status, date range, or campaign group.
Ad Formatdisplay, native, push, pop, video…Format-level breakdown within a campaign.
NetworkPartner Network A / B / CWhitelabeled — no external network names.
CreativePer creative ID + nameIncludes CTR, CVR, CPA per creative.
PlacementPublisher domain + placement IDExportable as CSV for blacklist management.
CountryISO 3166-1 alpha-2Country-level CPA and CTR breakdown.
Region / CityWhere available per countryCity data available for US, DE, GB, BR, IN, and 18 others.
Device Typedesktop, mobile, tablet, ctvDevice performance comparison in side-by-side view.
OSandroid, ios, windows, macos…OS + version group breakdown.
Browserchrome, safari, firefox, edge…Browser-level performance.
Hour of Day0–23 UTC or advertiser timezoneDayparting data — used to optimize hour-of-day bid multipliers.
Day of WeekMon–SunWeekly pattern analysis.

Getting data out

CSV Export

Dashboard → Analytics → Export → CSV. Select dimensions, metrics, and date range. Files include all selected columns, UTF-8 encoded, with headers.

JSON Export

Same as CSV but in JSON array format. Useful for importing into BI tools or data warehouses. Field names match the API response schema.

Stats API

GET /v1/stats/hourly with query params for campaign_id, start_date, end_date, and dimensions[] array. Returns paginated JSON. Max 10,000 rows per call.

Scheduled Reports

Set up recurring daily or weekly report emails: Dashboard → Reports → Schedule. Select recipient email(s), dimensions, and format (CSV or PDF summary).

Raw Event Export

POST /v1/events/export for raw impression, click, and conversion events with all metadata fields. Available for last 90 days. Max 100,000 events per request.

Webhook Stream

Configure a webhook endpoint to receive events in real time (see Webhook Events section). Ideal for feeding live data into custom dashboards or databases.

RetentionRaw event data is retained for 90 days. Hourly aggregated stats are retained for 24 months. Lifetime totals per campaign are retained permanently. Data retention period is configurable per account upon request (minimum 30 days, maximum 5 years with extended storage add-on).

Analytics & Conversion Attribution

Attribution starts the moment your pixel or postback is in place. Five models available — last-click through data-driven AI. Default windows: 30-day click, 1-day view. All configurable per campaign.

Pixel installation

<!-- OrbitWise Pixel — paste before </body> -->
<script async src="https://cdn.orbitwise.io/px.js" data-id="YOUR_ACCOUNT_ID"></script>

<!-- On conversion page: -->
<script>
  owq('track', 'conversion', { revenue: 29.99, currency: 'EUR' });
</script>

Server-to-server postback

GET https://track.orbitwise.io/postback
  ?click_id={CLICK_ID}
  &revenue={REVENUE}
  &currency=EUR

← 200 OK  { "status": "accepted", "event_id": "evt_..." }
T1T2T3ConvLast Click0%0%0%100%First Click100%0%0%0%Linear25%25%25%25%Time Decay5%10%25%60%Data-Driven AI12%18%28%42%

Attribution models

ModelLogicBest for
Last Click100% credit to final touchpointDirect response, lead gen
First Click100% credit to first touchpointAwareness measurement
LinearEqual credit across all touchpointsMulti-channel analysis
Time DecayMore credit to recent interactionsShort purchase cycles
Data-Driven AIML model trained on your conversion dataAdvanced advertisers
NoteRaw event data is retained for 90 days. Export to CSV or JSON at any time via Dashboard → Analytics → Export, or pull via the Stats API grouped by hour, campaign, placement, creative, geo, or device type.

Bidding System

Second-price auction: you name a ceiling, the engine pays clearing price. The AI recalibrates per placement every hour based on conversion probability and competition — 22% average cost reduction vs manual bidding. Override anytime.

SECOND-PRICE RTB AUCTION€3.40★ WINNERBidder A€2.90Bidder B€2.10Bidder C€1.55Bidder Dclearing€2.90saved0.50
AI

AI Auto-Bidding

The AI adjusts bids per placement every hour based on conversion probability, competition, and historical EPC. Average 22% cost reduction vs manual bidding in A/B tests.

CPA

Target CPA

Set a target cost-per-acquisition. The engine back-calculates optimal CPM/CPC bids for each placement and scales spend toward the highest-converting traffic sources.

ROAS

Max ROAS

Optimize for return on ad spend. Requires conversion value tracking. AI maximizes revenue per EUR spent across all active placements.

FIX

Fixed Bid

Override AI and set a fixed CPM or CPC per campaign or per placement. Useful for whitelisted sites or when historical data gives high confidence in a specific price.

DAY

Dayparting

Restrict delivery to specific hours and apply bid multipliers by hour and day of week (+/− percentage). Applied on top of base bids without creating new campaigns.

GEO

Geo Bid Multipliers

Apply percentage multipliers to specific countries, regions, or cities. Fine-tune geographic spend allocation without fragmenting campaign structure.

AI bidding

Set a CPA target. Autopilot handles everything else.

Bid adjustments, budget reallocation across networks, creative rotation — Autopilot runs the optimisation loop while you work on something else.

<50msBid Response
6Bid Strategies
22%Avg. Cost Saving

Budget Management

Daily cap is a hard ceiling — it's never exceeded. The AI moves budget between deployments every 60 minutes when Autopilot is on, but total daily spend stays within the limit you set.

Campaign

Daily Budget

Maximum spend per calendar day (UTC). Hard cap — never exceeded. Budget resets at 00:00 UTC regardless of account timezone.

Campaign

Lifetime Budget

Total spend ceiling for the entire campaign flight. Campaign pauses automatically when reached. Set to 0 for unlimited (relies on daily cap).

Deployment

Network Allocation

Min and max budget per network deployment. Prevents any single source from consuming all spend. Set both bounds to enforce a fixed share.

Campaign

Pacing

Standard (even hourly distribution) or Accelerated (spend as fast as possible each day). Standard recommended for most campaigns to avoid peak-hour price spikes.

Campaign

Auto-Pause

Automatically pauses the campaign if CPA exceeds target by more than 50% for two consecutive hours. Requires active CPA target and conversion tracking.

AI

Budget Reallocation

AI redistributes budget from underperforming to top-performing deployments every 60 minutes. Active when Autopilot is enabled. Net spend unchanged.

API & Integration

Bearer token auth, JSON responses, OpenAPI 3.1 spec atGET /api/docs. Rate limit is 1,000 req/min per key — check X-RateLimit-Remainingbefore bulk operations.

Authentication

curl https://api.orbitwise.io/v1/campaigns \
  -H "Authorization: Bearer ow_live_••••••••••••"

Core endpoints

MethodEndpointDescription
GET/v1/campaignsList all campaigns
POST/v1/campaignsCreate a campaign
PATCH/v1/campaigns/{id}Update campaign settings
GET/v1/campaigns/{id}/statsPerformance stats
GET/v1/stats/hourlyHourly aggregated stats
POST/v1/events/conversionServer-side conversion event
GET/v1/creativesList creatives
POST/v1/creativesUpload a creative

Error codes

HTTPCodeMeaning
400INVALID_REQUESTMissing required field or invalid parameter value. Check the errors[] array in the response.
401UNAUTHORIZEDMissing or invalid Authorization header. Verify your Bearer token.
403FORBIDDENValid token but insufficient scope. The key doesn't have permission for this action.
404NOT_FOUNDResource does not exist or belongs to a different account.
409CONFLICTDuplicate request (idempotency key already used) or state conflict (e.g. pausing an already-paused campaign).
422UNPROCESSABLERequest is syntactically valid but semantically invalid — e.g. budget below minimum.
429RATE_LIMITED1,000 requests/minute exceeded. Check X-RateLimit-Remaining header. Retry after X-RateLimit-Reset.
500INTERNAL_ERRORPlatform error. Includes a request_id field — provide this when contacting support.
DocsFull OpenAPI 3.1 specification at GET /api/docs. Generate keys at Dashboard → Settings → API Keys. Never expose API keys in client-side JavaScript.

Webhook Events

HMAC-SHA256 signed, retried across 6 attempts over 24 hours, delivered within 500ms of the event firing. Up to 5 endpoints per account — subscribe to any combination of impression, click, conversion, fraud, budget, and campaign lifecycle events.

impression

Fired when a creative is rendered and passes the viewability pre-check. Includes placement metadata and user geo/device signals.

event_idcampaign_idcreative_idplacement_idimpression_idtimestampgeo_countrydevice_typeos
click

Fired after a click passes the full fraud pipeline validation. Carries the click_id used for conversion attribution.

event_idclick_idcampaign_idcreative_idplacement_idtimestampgeo_countrydevice_typeosbrowser
conversion

Fired when a conversion event is attributed to a campaign click or view. Includes the revenue value if provided.

event_idclick_idcampaign_idconversion_typerevenuecurrencyattribution_modeltimestamp
campaign.status_changed

Fired on any campaign status transition: ACTIVE → PAUSED, AUTO_PAUSED, COMPLETED, or REJECTED.

event_idcampaign_idold_statusnew_statusreason_codetimestamp
budget.depleted

Fired when daily or lifetime budget is exhausted and campaign delivery stops automatically.

event_idcampaign_idbudget_typeperiodamount_spenttimestamp
fraud.refund

Fired when OrbitWise Guard confirms a fraudulent event and credits the charged amount back to account balance.

event_idoriginal_event_idcampaign_idfraud_typeamount_refundedcurrencytimestamp

Example payload — conversion event

{
  "event":            "conversion",
  "event_id":         "evt_01HZ4R...",
  "click_id":         "clk_01HZ1K...",
  "campaign_id":      "cmp_01HY9A...",
  "conversion_type":  "purchase",
  "revenue":          29.99,
  "currency":         "EUR",
  "attribution_model":"last_click",
  "timestamp":        "2026-03-15T14:23:07.412Z"
}

Signature verification

# OrbitWise signs each delivery with HMAC-SHA256
# Header: X-OrbitWise-Signature: sha256=<hex>

import hmac, hashlib

def verify_signature(payload: bytes, secret: str, sig_header: str) -> bool:
    expected = hmac.new(secret.encode(), payload, hashlib.sha256).hexdigest()
    return hmac.compare_digest(f"sha256={expected}", sig_header)

Retry policy

AttemptDelayTotal elapsed
1st retry30 seconds~30 s
2nd retry5 minutes~5.5 min
3rd retry30 minutes~36 min
4th retry2 hours~2.6 h
5th retry6 hours~8.6 h
Final16 hours~24 h — event marked failed
SetupConfigure endpoints at Dashboard → Settings → Webhooks. Set a shared secret (min 32 characters). Select which event types to subscribe to. Test deliveries with the Send Test Event button before going live.

Campaign Optimization

Proven optimization sequence: let the campaign run through the learning phase, then iterate one variable at a time using real performance data. Premature optimization is the most common cause of poor campaign results.

01

Learning Phase (Days 1–7)

Let the AI accumulate at least 50 clicks and 5 conversions before adjusting bids or targeting. Changing settings within the first 48 hours resets the learning model entirely. Use broad targeting and standard pacing during this window.

02

Scale Incrementally After Proof

Once a campaign hits target CPA for 3 consecutive days, increase daily budget by 20–30% per increment. Doubling budget overnight can destabilize the AI bid model and temporarily inflate CPA by 40–60% until the model re-calibrates.

03

Creative Rotation Strategy

Run 3–5 creatives simultaneously with AI rotation enabled. Replace the bottom-performing creative when its CVR drops below 50% of the top performer's. Fresh creative every 7–10 days prevents CTR decay from audience fatigue.

04

Placement Blacklisting

After 200+ clicks per placement, identify placements with zero conversions and spend exceeding 2× target CPA. Add to campaign blacklist. Re-audit weekly — placement quality shifts as publisher audience changes.

05

Device Bid Multipliers

Analyze CPA by device type in Analytics → Breakdowns → Device. If mobile CPA is 2× desktop CPA, apply a −50% mobile bid multiplier. Conversely, amplify top device types with +30–50% multipliers to capture more volume at efficient cost.

06

Geo Performance Analysis

Sort Analytics by country and identify top-performing geos (lowest CPA, highest CVR). Set +30% to +50% bid multipliers on top geos. Pause geos with >200 clicks and 0 conversions unless the campaign goal is brand awareness.

07

Dayparting Optimization

After 2+ weeks of hourly data, check Analytics → Breakdowns → Hour of Day. If conversion rate is 3× higher during 19:00–22:00, apply a +60% bid multiplier for those hours. Reduce bids to −80% during zero-conversion hours rather than blocking them completely.

08

Budget Allocation Across Formats

Start with 60% display, 30% native, 10% push for most verticals. After 2 weeks, reallocate toward formats with lowest CPA. Push traffic typically converts differently (direct response, impulse) compared to display (intent funnel nurture).

09

Landing Page Impact

The highest single-variable impact is usually landing page improvement, not bid tuning. A 1% CVR increase (2% → 3%) has the same CPA impact as reducing your bid by 33%. Track bounce rate and scroll depth on landing pages alongside ad performance.

10

AI Autopilot Threshold

Enable Autopilot after the campaign has recorded 30+ conversions with stable delivery. Before that threshold, the AI has insufficient signal and can over-bid or under-bid erratically. Use Target CPA mode over Max Conversions mode for tighter initial cost control.

Common mistakePausing and restarting campaigns resets all AI learning data. If a campaign is underperforming, first try increasing budget or widening targeting before pausing — pausing wipes 7–14 days of accumulated bid model training.

Metrics Glossary

Every number in the dashboard — formula, numerator, denominator, and what a movement in either direction means. All values use fraud-filtered event data only. Nothing is estimated.

Impressions

IMP

Total number of times an ad was loaded and rendered. Counted server-side at the impression pixel fire — not at the ad request.

Clicks

CLK

Validated user interactions with an ad. Duplicate clicks within 60 seconds and bot clicks filtered by the fraud pipeline are excluded.

Click-Through Rate

CTR

Percentage of impressions that resulted in a validated click. Benchmark: 0.05–0.30% for display; 0.3–1.2% for native; 0.5–4.0% for push.

CTR = Clicks ÷ Impressions × 100

Conversions

CONV

Goal completions recorded via pixel, postback, or server event. Counts all configured event types (purchase, sign-up, download, etc.) within the attribution window.

Conversion Rate

CVR

Percentage of clicks that resulted in a conversion within the attribution window. Typical range: 0.5–5% depending on vertical and landing page quality.

CVR = Conversions ÷ Clicks × 100

Cost Per Click

CPC

Total spend divided by number of validated clicks. Used as both a pricing model (bidding by click) and an efficiency metric across all pricing models.

CPC = Spend ÷ Clicks

Cost Per Mille

CPM

Amount spent per 1,000 impressions served. The standard pricing metric for brand awareness and reach-focused campaigns.

CPM = Spend ÷ Impressions × 1,000

Effective CPM

eCPM

A normalized CPM that expresses any pricing model (CPC, CPA, CPV) as an equivalent CPM for cross-campaign comparison and publisher revenue calculation.

eCPM = Spend ÷ Impressions × 1,000

Cost Per Acquisition

CPA

Average cost to achieve one conversion. The primary efficiency metric for performance campaigns. Set as a target for AI auto-bidding.

CPA = Spend ÷ Conversions

Return on Ad Spend

ROAS

Revenue generated per EUR spent on advertising. ROAS of 3.0 means €3 revenue for every €1 spent. Requires revenue value in conversion events.

ROAS = Revenue ÷ Spend

Earnings Per Click

EPC

Revenue generated per validated click. Useful for affiliate and lead-gen campaigns where click quality drives downstream value.

EPC = Revenue ÷ Clicks

Return on Investment

ROI

Net profit from advertising as a percentage of spend. Accounts for product margin — differs from ROAS which uses gross revenue.

ROI = (Revenue − Spend) ÷ Spend × 100

View-Through Rate

VTR

Percentage of video ad starts that were completed to 100%. Also called Video Completion Rate (VCR). Benchmark: 65–85% for 15-second ads.

VTR = Completed Views ÷ Starts × 100

Cost Per View

CPV

Amount paid per completed video view, charged only when the user watches past the configured threshold (25%, 50%, 75%, or 100%).

CPV = Spend ÷ Completed Views

Viewability

VB%

Percentage of impressions meeting MRC viewability standards: 50% of ad pixels visible for 1 continuous second (display) or 2 seconds (video).

Viewable% = Viewable Imps ÷ Measured Imps × 100

Frequency

FREQ

Average number of times a unique user has been served an impression within a given time period. High frequency (>10) indicates creative fatigue risk.

Freq = Impressions ÷ Unique Users Reached

Win Rate

WR

Percentage of RTB auction bids that result in a won impression. Under 5% suggests under-bidding; over 80% suggests over-bidding and wasted margin.

Win Rate = Wins ÷ Bids Submitted × 100

Fill Rate

FR

Percentage of bid requests that result in a submitted bid. Low fill rate (under 20%) indicates targeting or budget constraints limiting auction participation.

Fill Rate = Bids ÷ Bid Requests × 100

AdTech Glossary

Programmatic advertising has its own dialect. These are the terms you'll see in the dashboard and documentation — what they mean, not just what they stand for. Sorted alphabetically.

DSP

Demand-Side Platform. Software that lets advertisers buy digital ad inventory from multiple exchanges and SSPs via a single interface, in real time.

SSP

Supply-Side Platform. Technology used by publishers to manage, sell, and optimize their available ad inventory programmatically across multiple buyers.

DMP

Data Management Platform. A centralized system for collecting, organizing, and activating first-, second-, and third-party audience data.

Ad Exchange

A marketplace where publishers offer inventory and advertisers bid on it in real time. Connects multiple SSPs and DSPs in a single auction layer.

RTB

Real-Time Bidding. A programmatic auction mechanism where each ad impression is auctioned individually, from bid request to response, in under 100 ms.

OpenRTB

An open protocol standard by IAB Tech Lab defining the JSON communication format between DSPs and SSPs. Current version: OpenRTB 2.6.

VAST

Video Ad Serving Template. An XML-based IAB standard for serving video ads to any compliant video player. Current version: VAST 4.2.

VPAID

Video Player Ad Interface Definition. A JavaScript API enabling interactive video ads within video players. Being phased out in favor of SIMID.

Native Ad

An ad format that matches the visual design and editorial function of the surrounding publisher content — rendered by the publisher's own template engine.

Programmatic Direct

A programmatic transaction using a pre-negotiated deal between publisher and advertiser, bypassing open auction. Guarantees inventory at a fixed price.

PMP

Private Marketplace. An invitation-only real-time auction where premium publishers offer curated inventory to a select group of buyers via Deal IDs.

Deal ID

A unique identifier for a programmatic direct or PMP deal, passed in bid requests to enable targeted delivery to pre-negotiated reserved inventory.

Floor Price

The minimum bid a publisher will accept for an impression. Any bid below the floor is not considered eligible for delivery, regardless of bid amount.

Clearing Price

In a second-price auction, the price paid by the winner — typically €0.01 above the second-highest valid bid, not the winner's own maximum bid.

Second-Price Auction

The dominant RTB auction type: the winning bidder pays €0.01 above the runner-up bid. Incentivizes true-value bidding rather than strategic underbidding.

Bid Shading

An AI technique that reduces submitted bids below the advertiser's maximum in second-price auctions, lowering clearing prices and improving ROAS.

schain

SupplyChain Object (OpenRTB). A JSON field providing a full auditable record of every entity in the supply path for a given impression, per IAB spec.

ads.txt

Authorized Digital Sellers. An IAB-standard text file hosted at publisher domain root listing all parties authorized to sell that publisher's inventory.

sellers.json

An IAB-standard JSON file hosted by ad platforms listing all publishers/sellers they represent, enabling buyers to verify supply chain integrity.

TCF 2.2

Transparency & Consent Framework v2.2. IAB Europe's standard for GDPR consent management. Carries structured consent and legitimate-interest signals per purpose/vendor.

GIVT

General Invalid Traffic. Non-human traffic identifiable by standard filtration: known data center IPs, known crawlers, bots in public allow-lists.

SIVT

Sophisticated Invalid Traffic. Invalid traffic requiring advanced analytics: ad injection, click farms, sophisticated bots that mimic human browsing patterns.

IVT

Invalid Traffic. The umbrella term for all non-human or fraudulent advertising traffic, including both GIVT and SIVT categories.

Click Fraud

Artificially generated clicks on CPC ads, created by bots, competitors, or click farms to deplete advertiser budgets or inflate publisher revenue.

Ad Injection

A form of SIVT where malicious browser extensions or malware replace or insert ads on publisher pages without the publisher's knowledge or consent.

Viewability

MRC-defined standard for opportunity to be seen: 50% of ad pixels visible for ≥1 continuous second (display) or ≥2 seconds (video).

Brand Safety

The practice of ensuring ads don't appear next to harmful content. Standardized by the GARM (Global Alliance for Responsible Media) framework tiers.

GARM

Global Alliance for Responsible Media. An industry body defining Brand Safety Floor and Brand Suitability tiers for classifying unsafe and unsuitable content.

Frequency Cap

A hard limit on how many times a single user can see a specific ad within a time window (hourly, daily, weekly, or campaign lifetime).

Dayparting

Scheduling ad delivery to specific hours and days of the week. Can be combined with bid multipliers to intensify delivery during peak-performance windows.

Retargeting

Serving ads specifically to users who previously visited a website or triggered an event, tracked via pixel, SDK, or hashed ID match.

Lookalike Audience

An ML-modeled audience sharing behavioral and contextual characteristics with a seed audience (e.g. existing customers or converters).

Contextual Targeting

Targeting based on the content topic of the webpage where the ad appears — using NLP and IAB taxonomy classification at bid request time.

Attribution Window

The period after a click or view during which a downstream conversion can be credited to that interaction. Common defaults: 30-day click, 1-day view.

Troubleshooting

Most delivery problems trace back to four root causes: pixel misconfiguration, budget depletion, creative rejection, or targeting that's too narrow to scale. Work through these before opening a ticket — support@orbitwise.io, reply within 4 hours.

!

Campaign not delivering impressions

Usually: targeting too narrow for available inventory, budget below per-network minimum, or creative still in review.

  1. 1Check campaign status is ACTIVE, not IN_REVIEW, PAUSED, or AUTO_PAUSED.
  2. 2Verify daily budget is at least €5 total and each network deployment has ≥ €3/day.
  3. 3Widen geo targeting — remove city or DMA level and target at country level first.
  4. 4Check Dashboard → Creatives → [id] — creative must show APPROVED status before delivery.
  5. 5Review whether combined targeting filters leave zero eligible inventory: device + OS + carrier narrowing is the most common culprit.
  6. 6Open the Delivery Diagnostic report: Dashboard → Campaigns → [id] → Diagnostics for a breakdown of bid request filtering reasons.
!

CPA is significantly above target

Usually caused by low landing page CVR, under-performing creatives, or non-converting placements.

  1. 1Sort placements by spend in Analytics — pause any placement with >1× target CPA spent and 0 conversions.
  2. 2Review creative CTR — below 0.05% CTR for display suggests poor ad-audience fit. Refresh creative.
  3. 3Enable AI Auto-Bidding with Target CPA set to 1.5× your acceptable CPA to give the AI initial headroom.
  4. 4Audit landing page: use Analytics → Tracking Health to check if pixel is firing consistently on the conversion page.
  5. 5A/B test two landing page variants — a 1% CVR improvement halves CPA more reliably than bid tuning.
  6. 6Exclude geos with >200 clicks and 0 conversions using geo exclusions, not by narrowing include list.
!

Conversion tracking not recording events

Pixel misconfiguration, SPA routing issues, missing click ID, or consent blocking.

  1. 1Open browser DevTools → Network tab, filter by 'track.orbitwise' — verify the pixel request fires on the conversion page.
  2. 2For single-page applications: call owq('track', 'conversion', {}) explicitly in your route change handler, not only on initial page load.
  3. 3For S2S postback: verify the click_id macro is being populated by your tracking link. Check raw postback log at Analytics → Postback Log.
  4. 4Verify event name in owq() matches exactly the event name configured in Dashboard → Settings → Conversion Events (case-sensitive).
  5. 5Test with pixel debug mode: append ?owdebug=1 to the landing page URL for verbose console output showing all pixel activity.
  6. 6Check TCF consent: if a user has denied consent (EU traffic), the pixel will not fire. This is correct behavior — not a bug.
!

Creatives rejected by review

Policy violations (prohibited content, misleading claims) or technical spec failures (file size, dimensions).

  1. 1Check rejection reason at Dashboard → Creatives → [id] → Review Notes — the specific violation code is shown.
  2. 2File size over limit is the most common technical reason: static images ≤ 150 KB, animated ≤ 500 KB, HTML5 ZIP ≤ 500 KB.
  3. 3Misleading health claims, exaggerated income promises, and fake news headlines are always rejected regardless of vertical.
  4. 4iGaming, Crypto, Dating, and Supplements require manual review — this is not a rejection, allow up to 4 working hours.
  5. 5After fixing the issue, re-submit from Dashboard → Creatives → [id] → Re-submit for Review. Each submission starts a fresh review cycle.
  6. 6For HTML5 creatives rejected as 'broken': ensure index.html is at the ZIP root and all asset paths are relative (not absolute).
!

API returning HTTP 429 Rate Limit errors

Default limit is 1,000 requests/minute per API key. Heavy polling or bulk operations without batching commonly trigger this.

  1. 1Check the X-RateLimit-Remaining response header before each request to monitor your remaining quota.
  2. 2Implement exponential backoff: on 429, wait 2^n seconds before retrying (2 s, 4 s, 8 s, up to 64 s).
  3. 3For stats polling: cache responses for a minimum 5 minutes — hourly data does not change more frequently than once per hour.
  4. 4For bulk campaign creation: use the batch endpoint POST /v1/campaigns/batch (up to 50 campaigns per call).
  5. 5Contact support@orbitwise.io to request a rate limit increase for high-volume integrations (provide your key's usage pattern).
!

Display banner CTR is very low (<0.03%)

Creative fatigue, poor visual hierarchy, wrong ad size, or mis-targeted audience.

  1. 1Rotate creatives — CTR typically drops 30–40% after day 7 with static creatives. Fresh creative is the single highest-impact change.
  2. 2Add 300×250 size if not already active — it has the highest inventory volume and typically 2–3× higher CTR than leaderboard or skyscraper formats.
  3. 3Switch from static to animated (GIF or CSS) — animated ads average 60–120% higher CTR. Keep animation to max 3 loops.
  4. 4Review placement performance: footer banner placements have inherently lower CTR than in-content placements. Review placement-level data in Analytics.
  5. 5Check audience targeting alignment — if the ad message doesn't match what the audience segment expects, CTR will suffer regardless of creative quality.
!

Account balance not updating after deposit

Different payment methods have different settlement times.

  1. 1Card and PayPal deposits: visible within 5 minutes. Hard refresh Dashboard → Billing if not visible.
  2. 2SEPA bank transfer: 1 business day. SWIFT international: 2–3 business days.
  3. 3Crypto (USDT/USDC on TRON/ETH): visible after 2 blockchain confirmations — approximately 5 minutes on TRON, 3 minutes on ETH.
  4. 4Available balance = total deposited minus total spend minus reserved budget (budget committed to currently active campaigns).
  5. 5If a card charge appears on your bank statement but balance is not updated after 1 hour, contact billing@orbitwise.io with the transaction ID.
!

Campaign delivery stops unexpectedly mid-flight

Auto-pause triggers: daily budget exhausted, CPA threshold exceeded, balance depleted, or fraud event detected.

  1. 1Check campaign status badge — AUTO_PAUSED shows a reason code tooltip (budget, cpa_overage, low_balance, fraud_hold).
  2. 2Verify account balance: Dashboard → Billing → Available Balance. Low balance auto-pauses all campaigns.
  3. 3Check if daily budget was fully spent — UTC midnight resets the daily cap, allowing delivery to resume automatically next day.
  4. 4Review CPA auto-pause setting: if actual CPA exceeds target by >50% for 2 consecutive hours, campaign auto-pauses.
  5. 5Check the Campaign Event Log: Dashboard → Campaigns → [id] → Event Log shows a timestamped record of all status changes with reason codes.

Compliance & Privacy

TCF 2.2, GDPR, CCPA, COPPA — enforced at the infrastructure layer, not via campaign settings. Consent strings are evaluated on every EU bid request. Standard compliance cases need zero custom engineering.

GDPR

GDPR / TCF 2.2

Processes IAB TCF 2.2 consent strings on every EU bid request. Campaigns serve only to consented users. Explicit consent required — legitimate-interest signals are not used.

CCPA

CCPA (US Privacy)

US traffic honors GPP opt-out signals. No sale of personal data. Data subject requests processed within 45 days via privacy@orbitwise.io.

COPPA

COPPA (Children)

Sites and apps classified as children's content are automatically excluded unless the campaign has passed manual COPPA compliance review.

DATA

Data Retention

Raw event logs: 90 days. Aggregated stats: 24 months. IP addresses are truncated to /24 before storage. Retention period is configurable per account.

GARM

Brand Safety (GARM)

Inventory classified using GARM Brand Safety tiers. Set your level (Conservative, Standard, Permissive) per campaign. Custom domain block-lists at account level.

ADS.TXT

Ads.txt / Sellers.json

OrbitWise validates ads.txt and sellers.json on every domain before serving. Unauthorized resellers are excluded. Our Seller ID is listed in the public sellers.json.

Ready to launch?

Start your first campaign — live in 10 minutes

€50 deposit, 10 minutes to first impression. Prepaid credits — no monthly commitment, no hidden network fees. Credits roll over if unused.

10 minTo Go Live
€50Min Deposit
24/7AI Monitoring

Frequently Asked Questions

Questions not covered here? Contact the team at support@orbitwise.io — typically replied within 4 business hours.

OrbitWise uses a prepaid credit model. Add funds to your account balance and campaigns draw from it in real time as impressions and clicks are served. A consolidated invoice PDF is generated at the end of each calendar month. Minimum deposit: €50. Credit card deposits are credited immediately; SEPA bank transfer takes 1 business day; SWIFT international transfer takes 2–3 business days; crypto (USDT/USDC) takes 2 blockchain confirmations.
The minimum daily budget per campaign is €5. Individual network deployments require at least €3/day to meet per-network bid floor prices. A campaign lifetime cap is optional and can be set to any amount above the daily minimum. There is no minimum campaign duration.
OrbitWise Guard runs a 4-layer validation pipeline on every impression and click before any charge is applied: (1) IP reputation lookup against 12 databases updated every 15 minutes; (2) device and browser fingerprinting for bot/headless browser detection; (3) supply chain (schain / ads.cert) verification; (4) ML-based SIVT detection for sophisticated fraud (click farms, ad injection, CTV fraud). Events confirmed as fraudulent are automatically credited back to your account balance — no support ticket required.
Yes. Geo-targeting is available at country, region/state, and city level. You can set include or exclude lists, apply bid multipliers per country (−80% to +200%), and combine geo targeting with device, OS, browser, carrier, ISP, and language targeting. US campaigns also support DMA targeting (all 210 Nielsen DMAs). City-level data covers 1,000 major cities across 25 countries.
Install the OrbitWise pixel — a single async JavaScript snippet — on your conversion page, or configure a server-to-server postback URL for backend attribution. Both methods use the click_id parameter appended to your landing page URL. Multi-touch attribution models (first-click, last-click, linear, time-decay, and AI data-driven) are all configurable per campaign in the Analytics dashboard. Multiple conversion event types (purchase, sign-up, lead, download) can be tracked simultaneously within a single campaign.
Prohibited categories: malware and forced downloads, misleading health claims (fake cures, exaggerated before/after), adult content on general-audience inventory, illegal products and services (controlled substances, unlicensed gambling, piracy), deceptive get-rich-quick schemes, counterfeit goods, and political disinformation. Manual review (up to 4 hours) is required for: iGaming (licensed), crypto/DeFi, supplements, and dating verticals. Review the full Content Policy at orbitwise.io/policy.
TCF 2.2 consent strings are processed on every EU bid request — the platform never bids without a valid positive consent signal. Legitimate-interest signals are not used without explicit consent. For US traffic, we honor IAB Global Privacy Platform (GPP) opt-out strings. No raw PII is stored — IPv4 addresses are truncated to /24 and IPv6 to /48 before any persistence. Default data retention is 90 days for raw events and 24 months for aggregated stats. COPPA: children's content inventory is automatically excluded unless the campaign has passed COPPA review.
Compatible out of the box. Enter your full destination URL including any third-party redirect chain (e.g. your affiliate network tracker). OrbitWise appends the click_id as a URL parameter — the parameter name is configurable per campaign (default: 'owclid'). Our pixel fires in parallel with any existing measurement stack without conflicts. S2S postback is fully supported and is the recommended method for server-side environments where JavaScript cannot run.
API keys are generated at Dashboard → Settings → API Keys. Name each key and assign scope (read-only or full access). The REST API covers campaign management, stats retrieval (hourly granularity), creative upload, audience management, and server-side event ingestion. Rate limit: 1,000 requests per minute per key. Full OpenAPI 3.1 specification is available at GET /api/docs. Batch endpoints are available for bulk campaign creation and stats retrieval.
Default attribution windows: 30-day click-through (a conversion is credited to a click within 30 days) and 1-day view-through (a conversion is credited to a view within 24 hours if no click occurred). Both windows are configurable per campaign: click window 1–90 days, view window 0–7 days. Setting the view window to 0 disables view-through attribution entirely. Attribution model (last-click, first-click, linear, time-decay, data-driven) is configured separately from the window.
1. In Dashboard → Settings → Conversion Events, create or select the conversion event. 2. Copy the postback URL template: https://track.orbitwise.io/postback?click_id={CLICK_ID}&revenue={REVENUE}&currency=EUR. 3. Configure your traffic tracker or affiliate platform to fire this URL when a conversion occurs, replacing {CLICK_ID} with the click ID value passed from OrbitWise to your landing page URL. 4. Pass the click_id from your landing page URL to your offer page and then to the postback URL. 5. Verify delivery in Analytics → Postback Log.
A campaign is your top-level configuration: it contains all targeting, budget, bidding, and creative settings. A placement is a specific publisher slot (a combination of domain, ad unit, and position) where your ads are actually served. Multiple placements are active simultaneously within a campaign. You can view placement-level performance in Analytics → Breakdowns → Placement, and add individual placements to a blacklist or whitelist directly from that report.
The OrbitWise bid model predicts the probability of a click or conversion for each bid request using real-time features: placement ID, geo, device, OS, hour-of-day, day-of-week, and historical CTR/CVR for that placement-audience combination. It then calculates the maximum bid price that keeps expected CPA at or below your target, adjusted for the second-price auction mechanics (using bid shading to reduce actual clearing price). The model updates its parameters every 4 hours as new conversion data is ingested.
No direct import. OrbitWise runs on different ad formats and publisher networks than Google or Meta, so a direct migration wouldn't translate cleanly anyway. You can reuse existing images (with size adjustments per format), copy native ad headlines, and apply similar geo/interest targeting logic. The AI Campaign Wizard analyzes your landing page and generates targeting recommendations — run that first.
Two methods: (1) Campaign-level blacklist — add domains in Dashboard → Campaigns → [id] → Targeting → Domain Blacklist. Applied only to that campaign. (2) Account-level blacklist — Dashboard → Settings → Domain Blacklist. Applied globally to all campaigns on your account. Both lists accept up to 10,000 domains each. You can also use the Analytics → Placement report to identify and blacklist low-performing domains directly from the report interface.
CPM if your goal is reach or brand awareness — you pay per 1,000 impressions. CPC if you want to pay only for clicks — good for traffic and lead gen where you control the landing experience. CPA if you have conversion tracking installed and a clear ROI target — you pay per conversion, and the AI optimizes toward your CPA goal. All three participate in the same RTB auctions; OrbitWise normalizes them to eCPM internally for auction comparison.
Set frequency caps at campaign level: Dashboard → Campaigns → [id] → Targeting → Frequency. Options: max impressions per hour, per 24 hours, per 7 days, or per campaign lifetime. Frequency is enforced server-side using a combination of user cookie (where available), device fingerprint, and IP+UserAgent hashing for cookieless environments. Recommended starting cap: 3 impressions per 24 hours for display; 1 per 24 hours for push and pop-under.
Pausing a campaign immediately stops all new bids. Any impressions and clicks that occurred before the pause are charged normally. Your remaining account balance is not affected by pausing — funds are only deducted as events occur. There is no penalty or fee for pausing. Budget reserved for a campaign (the daily budget allocation) returns to your available balance when paused. You can resume at any time without re-review if no settings have changed.
Install the pixel on all pages of your site — not just the conversion page. In Dashboard → Audiences → New Audience → Website Visitors, define audience rules: URL contains, URL equals, or triggered event. Audience segments are updated in real time. You can create segments for: all visitors, specific page visitors, cart abandoners, and post-purchase exclusions. Apply the audience to a campaign in the Targeting step. Minimum audience size to serve: 500 matched users in the last 30 days.
These are percentile latency measurements describing bid response speed. P50 (median) means 50% of bid responses completed within that time — the 'typical' speed. P95 means 95% of responses completed within that time — the 'near-worst case'. P99 means 99% of responses completed within that time — the slowest 1% of requests. OrbitWise targets P50 < 30ms, P95 < 80ms, P99 < 100ms. Monitoring percentile latency (rather than averages) is critical because averages hide outliers that can cause bid timeouts and lost auctions.