Ad network onboarding
Read this before anyone wires a third-party ad tag. Nothing on this page serves ads, calls a network, or stores a publisher ID.
Where we are
This prototype has two surfaces. Content fetcher is a curated grid of public social embeds. Ad targeting is a first-party mock: your creatives, demographics, interest scores, and impression and click events on /feed and /admin/ads.
A third-party network does not use that mock. The network injects its own units and pays the publisher. Those two systems stay separate until a later slot design. This page does not build that slot.
Start with Media.net
For this product (a social feed of user posts and embeds, not a blog), start with Media.net. Backup is Google AdSense in-feed native. Do not start with Taboola, Outbrain, Ezoic, or PropellerAds.
- Taboola wants about 500,000 visitors a month. Outbrain wants about 3 million. A new app gets rejected.
- Ezoic expects article inventory: many long posts. A feed of TikTok and Instagram embeds fails that bar.
- PropellerAds pays fastest ($5 threshold, Net 7) but the inventory is push, popunder, and interstitial. That fights retention on a social feed.
- Media.net: no traffic minimum, about 90% publisher share, CPM, native plus display and video. Those formats can sit in the scroll. Payout is $100 on PayPal or $500 by wire, Net 30.
- AdSense: no hard minimum for a basic account, about 80% share, official in-feed native units. Approval is strict on user-generated content.
Later phases
| Phase | Traffic | Networks | Why then |
|---|---|---|---|
| Launch | Now | Media.net, AdSense in-feed as backup | No traffic floor. Native units that can live in a scroll. |
| Growth | About 50k to 90k monthly visitors | MGID, Revcontent | Curated native widgets once volume and content quality clear review. Revcontent accepts a small share of applications. |
| Scale | About 500k+ monthly visitors | Taboola, then Outbrain | Premium demand. Outbrain's floor is closer to 3 million visitors a month. |
Documented only. None of these integrations are built.
What blocks approval
Every network in the brief bans adult content, illegal content, hate, malware, and misleading claims. A social app is user-generated, so one bad post can get the publisher account killed.
Before tags go live, the production app needs a written rule for what is allowed, who reviews it, and what happens to a post that fails. Moderation is the gate. The ad tag is not.
What you must send before any integration
- The production domain of the social app. Ads run there, not on this prototype, unless you explicitly ask for a demo slot later.
- A publisher account for the chosen network, plus site approval. We cannot open that account for you.
- Legal pages on that domain: privacy policy, about, and contact. Networks check these.
- A written user-generated content policy: no adult, illegal, hate, malware, or misleading posts. Who moderates, and what happens when a post fails.
- Country and payout method (PayPal or wire). Media.net is $100 PayPal or $500 wire, Net 30.
- Format rule: in-feed native only. No popups.
- Rough monthly active users or pageviews, so the phase table stays honest.
This page does not need API keys.
What a later build would touch
The content-fetcher grid is the surface that looks like a social feed. A later build would insert a native slot every N posts there, and only render a network script when a publisher ID is configured.
The first-party feed stays the place to demo your own creatives and relevance. Do not point Media.net or AdSense at /admin/ads.
What we will not do until you say so
- Drop live network scripts or publisher IDs into the prototype.
- Simulate fill, impressions, or revenue.
- Apply to Taboola, Outbrain, Ezoic, or PropellerAds.
- Change the first-party ad schema.