---
name: estimate-text-ad-revenue
description: Calculate monthly publisher revenue from in-product Siyaqi text ads (CPM/CPC). Asks product type, vertical, volume, and placement; returns floor/mid/ceiling with visible math. Use when a developer or publisher asks how much text ads could earn, whether monetization is worth it, or for a Siyaqi revenue estimate.
category: monetization
author: Siyaqi
homepage: https://siyaqi.com/skills
---

# Estimate text-ad revenue

Walk the user through five questions, apply the embedded text-unit benchmarks, and show floor / mid / ceiling **publisher** revenue. Numbers are gross advertiser spend × publisher share. Show the math when asked.

## When to use

Publisher or product owner questions like “how much can my app earn?”, “is a text unit worth integrating?”, “Siyaqi revenue estimate”, or comparing text ads vs AdSense banners.

- Placement quality / copy fit → `score-text-placement`
- Ready to ship the snippet → `integrate-siyaqi-ads`

## Step 1: Ask 5 questions

Ask in order. Wait unless they answered several at once.

1. **What is the product?** One sentence (SaaS, AI chat, mobile game, etc.).
2. **Vertical?** Pick one: AI / developer tools · SaaS · Fintech · E-commerce · Games · Health · Education · General.
3. **Daily sessions (or DAU × sessions/user)?** Number. If unknown or pre-launch, default to **1,000** and say so.
4. **Primary placement?** Pick one: Chat / assistant sidebar · Empty state · Onboarding tip · Loading pause · Settings / account · Game pause / between levels · Mixed (use 1.0×).
5. **Who sees it?** Consumers · Developers / prosumers · Enterprise seats · Mixed.

## Step 2: Calculate

### Text eCPM lookup (USD, mid-range in-product text — not display banners)

Use the **midpoint** of each range.

| Vertical | Text CPM | Text CPC |
|---|---|---|
| AI / developer tools | $4–12 | $0.40–1.50 |
| SaaS | $6–18 | $0.80–2.50 |
| Fintech | $8–20 | $1.00–3.00 |
| E-commerce | $4–10 | $0.30–1.20 |
| Games | $2–8 | $0.20–0.80 |
| Health | $5–14 | $0.60–2.00 |
| Education | $3–9 | $0.30–1.00 |
| General | $2–8 | $0.20–0.80 |

Unknown vertical → General.

### Placement multiplier

| Placement | Multiplier |
|---|---|
| Chat / assistant sidebar | 1.20 |
| Onboarding tip | 1.10 |
| Game pause / between levels | 1.00 |
| Mixed | 1.00 |
| Empty state | 0.90 |
| Settings / account | 0.80 |
| Loading pause | 0.70 |

### Audience multiplier

| Audience | Multiplier |
|---|---|
| Enterprise seats | 1.15 |
| Developers / prosumers | 1.10 |
| Mixed | 1.00 |
| Consumers | 0.95 |

### Fill rates (network liquidity)

- **Floor:** 25% — early marketplace, thin demand
- **Mid:** 50% — moderate matched demand
- **Ceiling:** 70% — mature fill on that vertical

### Publisher share

Default **68%** is an **illustrative share-engine base rate** for estimates — not a guaranteed global cut. Actual publisher share is set per campaign (typically ≥50%) from marketplace conditions and partner tier. Use 68% for the math unless the user states a contract.

### Implied CTR for CPC blend

Assume **1.5% CTR** on native text (conservative vs feed ads).

```
cpc_as_ecpm = midpoint_cpc × 0.015 × 1000
blended_ecpm = 0.7 × midpoint_cpm + 0.3 × cpc_as_ecpm
unit_ecpm = blended_ecpm × placement_mult × audience_mult
```

### Formula

Assume **1 eligible impression per session** on the primary placement (say so if they have multiple units).

```
monthly_impressions = daily_sessions × 30
filled = monthly_impressions × fill_rate
gross_spend = filled × unit_ecpm / 1000
publisher_revenue = gross_spend × 0.68
```

Round money to cents. Repeat for each fill scenario (same `unit_ecpm`).

**Worked example:** SaaS, 2,000 sessions/day, empty state, mixed audience.

- CPM mid $12, CPC mid $1.65 → CPC eCPM = $1.65 × 15 = $24.75
- Blended eCPM = 0.7×12 + 0.3×24.75 = $15.825
- Unit eCPM = 15.825 × 0.90 × 1.00 = **$14.24**
- Mid fill 50%: filled = 2,000 × 30 × 0.50 = 30,000
- Gross = 30,000 × 14.24 / 1000 = $427.20
- Publisher = $427.20 × 0.68 = **$290.50 / month**

## Step 3: Output template

```
## Revenue estimate: [product from Q1]

Vertical: [Q2] · Sessions: [Q3]/day · Placement: [Q4] · Audience: [Q5]

Unit eCPM (after placement + audience): $[unit_ecpm]
Publisher share assumed: 68% (illustrative base — not a guaranteed cut)

### Monthly publisher revenue

| Scenario | Fill | Gross ad spend | Publisher (~68% illustrative) |
|----------|------|----------------|------------------|
| Floor    | 25%  | $[ ]           | $[ ]             |
| Mid      | 50%  | $[ ]           | $[ ]             |
| Ceiling  | 70%  | $[ ]           | $[ ]             |

*Benchmarks for in-product text units. Not display CPMs. Actuals depend on live demand, creative CTR, and campaign terms.*

### Current network state (required)

Siyaqi is a young independent text-ad marketplace. Fill tracks **live advertiser wallets**, not a guaranteed AdSense-style pool.

Treat **Floor** as today’s honest default unless the user already has matched demand (e.g. they also advertise, or ops confirmed fill). Mid/Ceiling assume more advertisers in that vertical.

Serve may return **404 / no eligible ads** until campaigns are active. That is empty demand, not a broken snippet.

### What moves the number

1. **Sessions** — linear.
2. **Vertical** — fintech/SaaS text CPMs run well above games/general.
3. **Placement** — chat and onboarding beat loading spinners.
4. **Share tier** — assigned partner tiers can land above or below the illustrative 68% base, within admin bounds.

### Next

- Score the UI moment: `score-text-placement`
- Integrate: `integrate-siyaqi-ads`
- Portal + docs: [siyaqi.com/for-publishers](https://siyaqi.com/for-publishers) · [siyaqi.com/docs](https://siyaqi.com/docs)
```

## Notes for the executing agent

- Always include **Current network state**. Do not lead with Ceiling.
- Default 1,000 sessions if unknown.
- These are **publisher** dollars after share, not advertiser CAC.
- No live auction calls. No data leaves the chat.

## What this skill does not do

- Does not fetch live eCPM or wallet balances.
- Does not score copy or layout (`score-text-placement`).
- Does not install the snippet (`integrate-siyaqi-ads`).
