For advertisers
Pay for the install, the level or the sale.
Pay at install, per level or down-funnel event, or a percent of each purchase or sale. We charge only when your server reports a step tied to one of our clicks.
Test events are free. Verify each required event before you go live.
Harbor Blocks · Level 10, US
Tidewater Games · iOS · Store listing
- 1 Setting up
- 2 In review
- 3 Live
Events you pay for
Name each step in plain English. Your server sends its event key.
- Completed tutorialVerified
- Reach level 10Awaiting test Verified
level_10 Test received. Verified, $0.00 charged.
01Price each step
You pay for the steps players reach.
Add steps, price each one and move the marker to where a player stops.
Harbor Blocks
Tidewater Games · steps you pay for
- completed_tutorial Charged
- level_10 Charged
- level_25 Not reached
- level_40 Not reached
- buy_10000_coins Not reached
After Reach level 10
You pay for this player
$6.50 USD
2 paid steps reached. A player who reaches every step: $59.50.
Steps a player never reaches cost nothing. A step you don't add is never charged.
Publishers show these steps to their users with a reward in the app's own currency, and each publisher sets that reward. They also choose what they run, so an offer that doesn't let them make money won't get traffic.
Three ways to pay for user acquisition
- Cost per install (CPI)
- A price for each install and first open.
- Cost per event (CPE)
- A price for each level or down-funnel step.
- Percent of sale
- A percent of each purchase, the way retail and ecommerce brands already pay affiliates. Publishers choose what they run, so set a rate worth running. Talk to our team to set it up.
02Billing rules
What you're never charged for.
Four places a charge can stop, from the tap to your balance.
-
01 The click
Refused taps stop with us
When our checks reject a user, their next taps are refused before they reach your store or landing page, so those taps can't lead to a charge.
-
02 The install
One click, one install
Each click can claim one install. If several different people clicked from the same address, we don't guess between them.
-
03 The event
No click of ours, no charge
Live events without one of our clicks and events outside their window are logged, not charged. A repeat of the same event comes back duplicate and is never charged twice.
-
04 The balance
Spend stops at your balance
An event your balance can't cover isn't charged, and your live campaigns pause.
03Channel reports
See what each channel costs you.
Every traffic source is a Masked channel. A traffic source shown to an advertiser under a code instead of the publisher's name.What is a masked channel?: a code instead of a publisher's name, so publishers keep supplying you. You see its conversions, spend and cost per conversion, and you can report it.
-
A code, not a name
Each traffic source shows as a long code of letters and numbers instead of a name. It stays the same over time, and another advertiser sees a different code for the same source.
-
Spend and cost per conversion
Conversions, spend and cost per conversion for any range up to 92 days.
-
Report it, we decide
Email the channel code and what you saw to hello@affiliateos.ai. Our team reviews it, and if it holds up, switches that channel off for your offers.
By channel
Per-channel conversions, spend and cost per conversion.
| Channel | Conversions | Spend | Cost/ | Report |
|---|---|---|---|---|
| 7fKa9cZ2eQ… | 18,420 | $96,491.80 | $5.24 | |
| 1bXd4aT05w… | 11,086 | $60,434.00 | $5.45 | |
| c4Ne20fR7k… | 6,412 | $35,040.50 | $5.46 | |
| 9aG61bYe3d… | 2,108 | $11,528.00 | $5.47 |
A source gets its own row once it has enough conversions in a day to stay anonymous. Smaller ones are grouped.
How channel reports work04Setup without an SDK
One call from your server per step.
- 01 Save our click id on the user when your app first opens.
- 02 Post each step from your server when it happens.
- 03 Send a test for each step until it shows Verified.
Three ways to match the install
- Play install referrer
- First-open match
- Your Attribution. Working out which click led to an install or an event.What is attribution? tool
POST /v1/advertiser/events
Authorization: Bearer ak_...
{
"clickId": "clk_7Q2f81",
"eventKey": "level_10",
"eventId": "test-u_48213-level_10",
"advertiserUserId": "u_48213",
"timestamp": "2026-10-29T19:06:00Z",
"appId": "app_harbor_blocks",
"test": true
} Response, abridged2:06:00 PM
"status": "approved"
- Logged as a test event
- level_10 marked Verified
- $0.00 charged
05Keyword campaigns
Pay for installs that start with a search.
A keyword campaign sends people to App Store or Google Play search for your term. They pick your app themselves, and we match the install when it first opens.
We record your rank for that term in US store search once a day while the campaign runs. We measure rank. We don't promise to move it.
How keyword campaigns workiOS
- Current
- #20
- Best
- #20
Android
- Current
- #13
- Best
- #13
Tracking harbor blocks
iOS Android
| Day | iOS | Android |
|---|---|---|
| Oct 9 | Not tracked yet | Not tracked yet |
| Oct 10 | Not tracked yet | Not tracked yet |
| Oct 11 | Not tracked yet | Not tracked yet |
| Oct 12 | Not tracked yet | Not tracked yet |
| Oct 13 | Not tracked yet | Not tracked yet |
| Oct 14 | #88 | #30 |
| Oct 15 | #74 | #29 |
| Oct 16 | #66 | #28 |
| Oct 17 | #62 | #26 |
| Oct 18 | #57 | #25 |
| Oct 19 | #51 | #23 |
| Oct 20 | #47 | #22 |
| Oct 21 | #44 | #21 |
| Oct 22 | #38 | #20 |
| Oct 23 | #35 | #19 |
| Oct 24 | #31 | #18 |
| Oct 25 | #29 | #17 |
| Oct 26 | #26 | #16 |
| Oct 27 | #24 | #15 |
| Oct 28 | #22 | #14 |
| Oct 29 | #20 | #13 |
06Starting out
Test for free, then add $50 to submit.
- $0Test events
- Send a test for each step until it shows Verified. A test is never charged.
- $50Balance to submit
- Your balance needs $50 before a campaign goes to review. Funds only pay for campaign events.
When your balance can't cover your cheapest paid step, live campaigns pause on their own.
What is the difference between CPI and CPE?
CPI, or cost per install, is a price for each install and first open. CPE, or cost per event, is a price for something the user does after that, such as reaching a level or making a first purchase. One campaign can price the install, later events or both. A step you don't add is never charged.
Are the users rewarded?
Yes. Campaigns run in rewarded apps and offerwalls, where people earn a reward for completing your steps.
Why can't I see publisher names?
So publishers keep sending you traffic. Publishers stop running offers where the advertiser can go around them. You still see each channel's conversions, spend and cost per conversion, under a code that stays the same over time. How channel reports work.
Do I need an attribution tool?
No. On Google Play our click id travels in the install referrer. Elsewhere, your server calls us once when a new user first opens the app, and we match that open to a recent click. If you already use an attribution tool, enter its tracking link as your app's store URL and forward its events to us with the click id. The three ways to match installs.
How is a keyword install matched?
When a new user first opens your app, your server calls us once with the device's IP address. We match that open to a recent click on your campaign for the same app and platform, from the same address. If several different people clicked from that address, we don't guess between them.
What am I charged for?
Live events that carry one of our clicks, at the price you set for that step. Tests, events with no click of ours and events outside their window are logged and not charged. A repeat of the same event comes back duplicate and is never charged twice. Every response, and whether it charged.
Can I pay a percent of each sale?
Yes. You can pay at install, a percent of each purchase or sale, or per level or down-funnel event, which is how retail and ecommerce brands usually pay. The campaign builder prices each step in dollars, so talk to our team to set up a percent. The catch: publishers choose what they run, so an offer that doesn't let them make money won't get traffic.
How much do I need to start?
Your balance needs at least $50 before you can submit a campaign for review. Funds only pay for campaign events. They aren't refundable and can't be withdrawn, and you agree to that before you add any. The terms you accept when you add funds, and our Terms of Service, win if this summary differs.
Can I change a campaign while it runs?
Yes. A new price for a step goes live straight away. Changes to the name, destination or a step's details go to our team for review, and the campaign keeps running meanwhile. Steps can't be added or removed after approval. You can pause it yourself, and resume it once your balance covers your cheapest paid step. What happens to each kind of change.
Can I switch a channel off?
Yes, after an AffiliateOS review. Report it, and if it holds up we switch it off for your offers, for all of them or for one. You can also pause any live campaign yourself from its campaign page.
Send your first test event.
Build the campaign and verify every step before you add funds.
Test events are free. Verify each required event before you go live.