Run the first three groups, and the forwarding checks if you use an attribution tool, before you choose Submit for approval . The rest need a live campaign: run them with your first live event. Each line says where to confirm it.
Check Where to confirm You can sign in at the advertiser log in The dashboard opens on Overview The product is a mobile app (iOS, Android or both) or a website, not a mix Campaigns , the product on your campaignWebsite only: the landing URL is the exact public HTTPS page you want people on The campaign’s Destination Website only: a once-per-user Primary result is chosen The campaign’s Events you pay for Every event has an event key and a price Events you pay for How you send events is chosen Connect your app , one option pickedAn API key is minted and stored only in your server’s environment API keys lists it as Active Your balance is $50 or more Billing , or the checklist’s Add funds item
Check Where to confirm Website: opening your landing URL with ?afos_click_id=checklist-click-1 stores that value on the visitor Your own database Mobile: your install referrer, install matching or attribution tool path stores a real afos_click_id on a new user Your own database The click ID is still on the user after they sign out and back in Your own database
Check Where to confirm Each required event is sent with "test": true, or with Send test , and comes back approved The API response, or the “Test event received” message after Send test Each required event shows Verified Events you pay for Each test shows as a row in the log, not charged Event logs Submit is refused while any required event isn’t Verified yet Submit for approval stays greyed out
First live event, after approval #
Check Where to confirm A live event with a real stored click ID comes back approved The API response and Event logs Balance left drops by that event’s priceThe campaign page Sending the same eventId again comes back duplicate, and the balance doesn’t move The API response A purchase or deposit event without transactionId comes back rejected Event logs An event without a click ID comes back missing_attribution, and isn’t charged Event logs
Only live, matched events are charged.
Test events, events without a click ID and repeats are never charged. Live events sent before approval aren't charged either. Funds are non-refundable.
Check Where to confirm After Pause , a live event comes back campaign_paused The API response Resume works while your balance covers the cheapest paid eventThe campaign is Live again A balance below a live campaign’s cheapest paid event pauses your live campaigns The campaign reads Paused
Check Where to confirm Mobile: Clicks , Installs , Spend and Balance left show The campaign page, once live Website: Primary results shows instead of installs The campaign page, once live Clicks rise after real taps The campaign page
Only if you picked Your attribution tool posts to AffiliateOS .
Check Where to confirm Name in your attribution tool (optional) matches the tool’s event name. Case doesn’t matter.Events you pay for A test sent under the tool’s name verifies the matching event The event turns Verified Every forwarded event still carries the stored afos_click_id as clickId Event logs shows no missing_attribution
When every row passes, submit for approval . The request format and every status are in the advertiser events reference .