The integration matrix
| Integration path | Rendering context | Direct (CPM) | Programmatic (CPM) | CPC | CPA | Impression tracking |
|---|---|---|---|---|---|---|
| Web SDK | Real browser | Yes | Yes | Yes | Yes | Automatic, client-side |
| React SDK | Real browser | Yes | Yes | Yes | Yes | Automatic, client-side |
| iOS SDK | Native app | Yes | Yes | Yes | Yes | Automatic, client-side |
| Android SDK | Native app | Yes | Yes | Yes | Yes | Automatic, client-side |
| Publisher Widget | Real browser | Yes | Yes | Yes | Yes | Automatic, client-side |
| REST API | Publisher-rendered | Certification required | Certification required | Yes, filtered | Yes | You render the pixel client-side |
| AdsMCP | Headless / agent | No | No | Yes, filtered | Yes | Server-side billing notice (burl) only |
Why headless surfaces cannot serve impression-priced demand
Impression verification requires a client context: a real device, a real viewport, and a pixel request originating from the user’s network. A request fired from a Worker, a backend, or an agent runtime originates from datacenter IP space. Verification vendors classify it as invalid traffic and the impression is discarded, unbilled. What headless surfaces do well is performance demand. CPA demand bills on a downstream conversion that is verified independently of the ad render, so it does not depend on impression verification at all. CPC demand works when clicks route through Adgentek’s redirect layer, where click-quality filtering runs. Both are fully supported on AdsMCP and the REST API.The REST API certification path
If you render ads yourself from API responses inside a real client, you can qualify for impression-priced demand:- Implement the client-side impression pixel exactly as specified on the REST API page. The ad payload includes the pixel URL. Your client fires it as an image request when the ad enters the viewport.
- Request an integration review at hello@adgentek.ai.
- Once certified, Direct and Programmatic demand become eligible for your placements.

