> AffiliateOS Help Center. Index of every article for AI tools: https://www.affiliateos.ai/help/llms.txt

# Advertisers: add funds and see how spend is drawn

Payouts, billing and funding · For advertisers · Updated 30 October 2026
Web version: https://www.affiliateos.ai/help/payouts/advertiser-funds-and-spend

Campaigns run on a prepaid balance. You add funds on **Billing**, and each live event that matches a tap is charged its price the moment we accept it. Test events, and events we can't match to a tap, are never charged.

## Steps

### Billing, then Add funds

Enter a **Deposit amount** of $10 or more, tick the box confirming the funds are non-refundable and only for campaign spend, and choose **Continue to checkout**. You pay by card on Stripe Checkout, then come back to **Billing**, where the deposit shows under **Recent deposits** and in your balance.

If **Billing** says **Card deposits aren't available yet**, choose **Contact us** at the foot of the page and we'll fund the account with you by hand.

### Keep $50 or more before you submit

A campaign can go to review only when your balance is $50 or more. The launch checklist on the campaign page shows how far you are, with a link to **Add funds**.

### Turn on Auto top-up, if you want it

Auto top-up charges a saved card, and a card can't be saved from **Billing** itself: choose **Contact us** at the foot of the page and we'll attach one with you. Then switch on **Auto top-up**, set a **Top-up amount** of $100 or more and **When balance falls below**, and, if you like, **Max top-ups per day** and **Max top-ups per week**. Choose **Save auto top-up settings**. Top-ups are non-refundable too.

### Check it worked

The **Balance** panel shows **Available**, **Lifetime deposits** and **Lifetime spend**. **Est. remaining events** is how many of your cheapest live event the balance still covers.

## How spend is drawn

Every event your server sends gets a status. Only one of them costs money.

| Status | Charged? |
|---|---|
| `approved`, on a live event | Yes, the event's price, once |
| `approved`, on a [test event](https://www.affiliateos.ai/glossary#test-event) | No |
| `missing_attribution` | No. The event came without a real click ID |
| `duplicate` | No. A retry, or a user who already had this event |
| `outside_window` | No |
| `campaign_paused` | No |
| `invalid_event` | No. No campaign for this `appId` has that event key |
| `rejected` | No. **Event logs** gives the reason |
| `insufficient_balance` | No, and your live campaigns pause |

> **Funds are non-refundable.** They can't be withdrawn and only pay for campaign activity on AffiliateOS. An event the balance can't cover is logged as `insufficient_balance` and never charged. The [terms](https://www.affiliateos.ai/terms#s5) govern if this page and they differ.

## When campaigns pause for funds

Your live campaigns pause when either of these happens:

- After a charge, your balance is below the price of a live campaign's cheapest paid event.
- An event arrives that your balance can't cover. It's logged as `insufficient_balance`.

With **Auto top-up** on, an event your balance can't cover tries a top-up before it's refused. A charge that leaves your balance too low pauses your live campaigns first and then tries a top-up, so they stay paused until you resume them. If a top-up payment fails, your live campaigns pause too.

Paused campaigns don't restart on their own. Add funds, then choose **Resume** on each campaign. Resuming needs a balance that covers that campaign's cheapest paid event.

## Where to see what you spent

- **Billing**: **Recent charges** lists your latest charges, each with its event key, time and amount. **Lifetime spend** is the running total.
- The campaign page: **Spend** and **Balance left**.
- **Event logs** on the campaign: your most recent events, each with its status and price. Test events are marked and never billed.

What each status means for your server is in [Send events server to server (S2S)](https://www.affiliateos.ai/help/campaigns/send-server-events).
