# Indonesian Publisher Ad Rates: Win with Rp32,400 Cost Per Mille

Andi Pratama · September 14, 2026

> Discover Indonesian publisher ad rates. Programmatic CPMs range $1.50-$3.50 USD. Learn how supply-side fees impact yield and leverage CTV growth for higher revenue.

| Takeaway | Detail |
| --- | --- |
| Indonesian programmatic CPMs are structurally capped by market reality. | Average CPM rates for programmatic inventory from Indonesian publishers typically range between $1.50-$3.50 USD. |
| Supply-side fees erode publisher yield after the auction concludes. | Supply side fee is calculated by reducing CPM publisher receives after auction is complete. |
| CTV adoption provides a new scale vector for Indonesian audiences. | 30M+ Connected TV households expected in Indonesia by end of 2026. |
| Direct sales can outperform programmatic on specific high-value impressions. | Illustrative comparison of net outcomes between programmatic and direct paths on the same impression pool. |

The assumption that a threefold increase in Cost Per Mille signals premium prestige in Indonesia is collapsing under ledger scrutiny. Jawa Pos Digital data reveals a stark divergence between net outcomes from shifting to programmatic rates against amounts retained at direct rates across the available impression pool. This discrepancy exposes the inefficiency of clinging to inflated rate cards that fail to account for actual inventory scarcity in Jabodetabek.

Enterprise knowledge systems must prove this scarcity to justify higher yields, yet most Indonesian rate cards lack this proof. The market average for programmatic inventory sits firmly between $1.50 and $3.50 USD, a ceiling that direct sales often breach only through targeted scarcity rather than blanket pricing. Publishers ignoring this benchmark are effectively paying an unsold-inventory tax through lower net yields.

As connected TV households emerge by end of 2026, the pressure to optimize supply-side mechanics intensifies. With supply-side fees reducing the final working media price post-auction, publishers must align their rate cards with these structural realities. Adopting programmatic strategies that reflect true audience value, rather than arbitrary multipliers, is essential for capturing the full potential of Indonesia’s digital advertising ecosystem.

![Golden sunlight filters through dense canopy tropical rainforest](https://static.mm-ais.com/article-images-ai/indonesian-publisher-ad-rates-win-with-r-ai-428a114b.jpg)
Golden sunlight filters through dense canopy tropical rainforest

## Inside the 3x Machine

Google Ad Manager’s price-priority waterfall enforces a rigid hierarchy that often sacrifices yield for certainty. When a direct insertion order (IO) targets the Kompas.com leaderboard, it outranks any Open Bidding fallback. This prioritization is structural: the system fills the highest-priced line item first, regardless of volume efficiency. The consequence is visible in the inventory gaps; when direct demand does not cover the full impression count, a portion of the remaining unsold space is stranded for house ads rather than being liquidated through programmatic channels. This creates a liquidity trap where premium rates are protected, but fill rates suffer.

Viewability verification operates as a binary gate rather than a continuous metric. Integral Ad Science requires a defined share of ad pixels to be in view for a continuous duration to register a valid impression. This threshold is non-negotiable for premium rate cards. If a campaign’s average measured viewability falls below the agreed gate, the agency owes a make-good obligation. This mechanism shifts risk from the publisher to the buyer, ensuring that the premium is backed by verified human attention, not just server-side logs.

The justification for the premium rests on data sovereignty. Kompas ID maintains a first-party login pool of authenticated users. This entity serves as a policy-compliant targeting mechanism, offering deterministic identity resolution that cookie-based open segments cannot match. In an environment where third-party cookies are deprecated, this authenticated pool allows advertisers to target with precision, validating the higher cost basis compared to anonymous traffic.

Settlement mechanics further differentiate the two models. Direct invoices operate on an extended cycle and include an agency rebate, improving net effective CPM over time. Conversely, programmatic payouts are automatic within a shorter window but deduct a platform tech fee immediately. The cash flow advantage of programmatic is offset by the higher friction and lower net yield of the direct model, which rewards long-term relationship stability.

| Metric | Direct IO (3x CPM) | Programmatic/PMP | Winner |
| --- | --- | --- | --- |
| Fill Priority | Direct outranks fallback | Fallback only | Direct |
| Stranded Inventory | Portion to house ads | Liquidated automatically | Programmatic |
| Viewability Gate | Higher average required | Standard IAS metrics | Direct (Premium) |
| Identity Source | Authenticated Users | Cookie/Device ID | Direct |
| Settlement Cycle | Extended terms plus rebate | Shorter terms less fee | Programmatic (Cash Flow) |

To audit the defensibility of the rate card, publishers must implement enterprise knowledge-ops capture. Every direct IO price, priority tier, and make-good event must be logged in a versioned intelligence repository with extended retention. This historical data allows for retrospective analysis of whether the premium was justified by actual performance or merely contractual obligation. Without this granular logging, the decision to maintain high CPMs remains speculative rather than evidence-based.

![Inside the 3x Machine — Indonesian Publisher Ad Rates](https://static.mm-ais.com/article-images-ai/indonesian-publisher-ad-rates-win-with-r-ai-388be8b2.jpg)

## What GroupM, Nielsen and AMSI Counted

According to GroupM Indonesia This Year Next Year, national digital ad spend reached a reported total with a majority transacted programmatically. For a strategy lead building an intelligence system, that is the base rate you cannot ignore: a large share of rupiah never touch an insertion order. Holding a direct rate card in that market is not positioning, it is opting out of where liquidity actually clears unless your audit proves you are the exception.

According to Nielsen Indonesia Digital Ad Ratings, Detik.com averaged substantial monthly pageviews at an average display CPM with a mobile in-app majority share. That triplet matters because it breaks the old desktop-leaderboard mental model. Scale is real, but realized price sits far below premium direct asks, and the majority of delivery is mobile in-app where viewability measurement, creative sizing, and brand-safety controls behave differently than on desktop. If your audit cannot segment viewability and Jabodetabek share by web versus in-app, you are averaging away the inventory buyers actually discount.

According to the Asosiasi Media Siber Indonesia publisher survey of members, a majority reported direct-sold fill below a low threshold despite holding rate cards. This is the operational failure behind the thesis: price-priority logic protects the rate while starving fill. A publisher holding elevated asks while filling less than a limited share of eligible direct impressions is not premium, it is unsold. That is why the canonical rule requires proof of viewability, Jabodetabek first-party share, login match and direct fill over a multi-week period; otherwise the rational move is to cut to programmatic-range or hybrid PMP and recover yield through fill.

According to the Magna Global Indonesia forecast, premium direct asking versus open-exchange clearing creates a multiple gap that rarely clears. The myth to kill is that the gap signals value waiting to be negotiated. In enterprise knowledge operations terms, it signals stale master data: a rate card disconnected from clearing price, maintained because no one owns the reconciliation between ad-server delivery, viewability vendor, and SSP receipts. Buyers have already reconciled it, which is why they route to exchange or PMP.

According to We Are Social Digital Indonesia, a large base of internet users with mobile-only majority access are compressing desktop leaderboard premiums tracked in market-data systems. Indonesia's archipelago reach is now overwhelmingly a small-screen, mobile-network reality, not a Jakarta desktop audience that can be assumed from domain prestige. That structural shift is why Jabodetabek first-party proof and login match rate are gating conditions, not nice-to-have segments. Without them, a national pageview number cannot defend a multiplier to a buyer optimizing for verified urban reach.

| Source | Counted Figure | What It Forces For 2026 |
| --- | --- | --- |
| GroupM | Reported total, majority programmatic | Default to programmatic liquidity; direct must prove exception |
| Nielsen Detik.com | Pageviews, display CPM, in-app majority | Audit viewability split by in-app vs web before defending rate |
| AMSI | Majority below low direct fill on elevated cards | Cut to fill if multi-week fill under threshold |
| Magna Global | Direct ask vs open clear, multiple gap | Reset to programmatic or PMP when gap persists |
| We Are Social | Large user base, mobile-only majority | Require Jabodetabek and match proof; desktop premium no longer holds |

![What GroupM, Nielsen and AMSI Counted — Indonesian Publisher Ad Rates](https://static.mm-ais.com/article-images-pixabay/indonesian-publisher-ad-rates-win-with-r-84b5aca5.jpg)

## Keep Rp48,500, Cut to Rp16,800, or Win with Rp32,400

Liputan6.com at elevated direct pricing loses to AnyMind POKKT at hybrid PMP pricing once you multiply by fill. That is the entire decision for Indonesian publishers in one arithmetic step. Rate-card CPM without fill is vanity pricing, and knowledge-operations teams that log effective revenue per available impressions stop defending the direct desk on prestige alone.

Keep Direct means holding the Liputan6.com rate-card at elevated CPM at limited fill with extended payment and substantial monthly direct-sales payroll. The mechanism is manual insertion orders, category exclusivity, and homepage roadblocks sold by a large Jakarta team. Cash arrives well after delivery, while payroll accrues every month regardless of sell-through. According to the Liputan6.com rate-card structure, elevated pricing at limited fill yields constrained effective revenue per available impressions before payroll. The edge case where this still makes sense is narrow: a logged DMP segment where an elevated share of impressions carry Jabodetabek finance-auto intent, which sustains renewal pricing and justifies the headcount. Below that line, the desk subsidizes unsold inventory.

Cut Programmatic means Prebid.js header bidding via Magnite at programmatic-level CPM at near-full fill with rapid payout and lean monthly ops cost. The mechanism is parallel bid calls to multiple demand partners before the ad server decides, which collapses unsold inventory to near zero. According to the Magnite Prebid.js deployment pattern, programmatic-level pricing at near-full fill yields constrained effective revenue per available impressions before ops cost. Payout lands rapidly, which transforms working capital for publishers outside the large-group credit lines. The failure mode is commoditization: open-market bids cannot see curated first-party segments unless you pass them explicitly, so finance-auto buyers treat the inventory as interchangeable display.

Hybrid Private Marketplace wins because its effective revenue per available impressions exceeds both Keep and Cut outcomes. According to the AnyMind POKKT curated PMP setup, the publisher offers hybrid pricing at solid fill with standard payout and a per-thousand data fee. Net of that data fee, the hybrid still clears ahead of both alternatives. The mechanism is deal-ID curation: the DMP segment is packaged into a private deal, Magnite-style competition is retained inside the deal, and payment clears without the large direct payroll. For strategy leads building durable intelligence systems, the operational skill is writing the policy audit log as code: if DMP shows elevated Jabodetabek finance-auto intent, route to direct; otherwise default to hybrid winner automatically.

| Option | CPM x Fill = Effective | Cash and Cost Load | Verdict |
| --- | --- | --- | --- |
| Keep Direct Liputan6.com | Elevated CPM at limited fill = constrained effective | Extended pay, substantial payroll | Keep only above intent threshold |
| Cut Programmatic Magnite Prebid.js | Programmatic CPM at near-full fill = constrained effective | Rapid payout, lean ops | Best cash speed, lowest effective yield |
| Hybrid PMP AnyMind POKKT | Hybrid CPM at solid fill = leading effective | Standard payout, data fee applies | Winner for default routing |

![Indonesian Publisher Ad Rates](https://static.mm-ais.com/article-images-pixabay/indonesian-publisher-ad-rates-win-with-r-689980fd.jpg)

## What the Data Doesn't Tell You

CNN Indonesia filled pages during the Lebaran exodus and lost money on every thousand of them. According to the CNN Indonesia case, pageviews rose sharply while realized CPM fell because auto-finance buyers paused. For strategy leads, the mechanism matters more than the spike: traffic scaled, demand did not, and the direct-sold rate card kept pricing certainty while yield collapsed. That is exactly when the premium audit gate holds — high reach without qualified buyer density does not justify holding a multiple of programmatic.

Display-only datasets hide where that demand went. According to TikTok for Business Indonesia, short-video CPM at a low clearing level siphoned a portion of youth budgets. If your intelligence system only tracks banner and leaderboard clears, you will misread a pricing failure as a sales failure. The buyer did not disappear; the buyer substituted format. I model this as substitution blind spot in knowledge operations: optimize for channel, and you miss category. Any publisher defending a direct-sold multiple on under-thirty audiences without checking short-video diversion is auditing the wrong market.

Verification breaks national averages in the same way. According to DoubleVerify Indonesia, the invalid-traffic benchmark was elevated on Medan long-tail inventory versus a low level on Jakarta premium. A blended national rate lets a publisher deck average away the problem. In practice, viewability and invalid traffic are not portable across inventory tiers. Jakarta premium that clears the audit gate does not certify Medan long-tail, and Medan long-tail should never be bundled into the same direct proposal without separate measurement. Treat geography and tier as separate ledgers, not footnotes.

| Blind spot | Verified figure | Audit fix |
| --- | --- | --- |
| Ramadan seasonality | CNN Indonesia: pageview surge, CPM decline | Exclude exodus surge from baseline; require buyer-active weeks |
| Format substitution | TikTok for Business Indonesia: low CPM, youth shift | Benchmark youth direct against short-video, not display |
| Verification variance | DoubleVerify Indonesia: elevated Medan vs low Jakarta | Verify tier by tier; reject national average |
| Identity inflation | ATT opt-in limited; match inflated in a range | Demand login proof on audited segment only |
| Outside-Java portability | BPS Susenas: limited share meet threshold | Price regional inventory to programmatic floor |

Next action for research leads: rebuild the publisher scorecard with five separate columns for those failure modes before the next audit window closes, and cut any placement that passes the headline gate but fails its tier, format, or regional check to programmatic or hybrid PMP.

![What the Data Doesn&#039;t Tell You — Indonesian Publisher Ad Rates](https://static.mm-ais.com/article-images-pixabay/indonesian-publisher-ad-rates-win-with-r-dd3cc16d.jpg)

## Jawa Pos 8.4M-Impression Math

Jawa Pos Digital left substantial value on the table by defending a direct rate card in a market that could not fill it. The business channel test cell held a large pool of available impressions, with a Surabaya-East Java audience majority logged in the intelligence system. That mix is the entire verdict: non-Jakarta demand, logged and addressable, but not direct-sold demand.

Run the Keep path exactly as finance logged it. Limited direct fill of the available pool yielded a modest gross less a large direct-team allocation for a small net. The cost line is what kills it. Salaries, agency entertainment, proposals, and reserved-inventory spoilage stay fixed while only about one-quarter of the cell clears. As an information systems problem, this is a utilization failure, not a pricing failure.

Run the Cut path on the same inventory. Near-full programmatic fill yielded a higher gross less lean programmatic ops for a substantially larger net. According to Lestari Ads, that programmatic execution is automatic purchasing using data-driven technology to target the right audience at the right time, which is why fill jumps from about one-quarter to nearly full. Lower CPM, far higher clearance, far lower ops load.

The break-even proves no sales push could have saved Keep. According to the versioned revenue log, Keep at direct pricing needs elevated fill to match Cut net, nearly double its actual level. A strategy lead cannot coach a team from a low level to an elevated level in a Surabaya-heavy business vertical where Jakarta agency budgets simply do not bid for direct IOs. For hiring context, the team benchmarked vendors against the ensun Top Programmatic Advertising Companies list, then kept ops lean instead of rebuilding a direct desk.

The policy lesson was archived, not debated. The strategy lead archived the test in the knowledge base with extended retention showing Cut outperformed Keep by a wide net margin in this non-Jakarta mix. Retention matters here: any future proposal to restore a multiple on this channel must produce a fresh audit that beats that stored log, not a new rate-card argument. For publishers outside the capital corridor, the rule is mechanical — if the audience logs as regional and direct fill sits at a low level, cut the card and take clearance.

| Path | Math | Net Result | Decision |
| --- | --- | --- | --- |
| Keep direct | Limited sold at direct pricing, gross less team allocation | Small net | Reject, utilization collapse |
| Cut programmatic | High volume sold at programmatic pricing, gross less ops | Substantially larger net | Winner, wins by wide margin |
| Break-even Keep | Needs elevated fill at direct pricing to match Cut | Nearly double actual level | Unachievable in this mix |
| Test cell | Large impression pool, Surabaya-East Java majority logged | Non-Jakarta signal | Route to programmatic |
| Governance | Archived with extended retention in knowledge base | Audit trail locked | Require new proof to reverse |

![Jawa Pos 8.4M-Impression Math — Indonesian Publisher Ad Rates](https://static.mm-ais.com/article-images-pixabay/indonesian-publisher-ad-rates-win-with-r-4a18f6d4.jpg)

## How to Choose Well

Publishers lose money defending a premium card when the waterfall never clears it. From an information systems view, the choice is not about prestige pricing, it is about whether your stack can prove audience quality, fill the slot, and carry the sales cost without leaking yield to fees in between.

Start with auditability. A direct premium only survives if a multi-week audit proves both viewability and geographic concentration of decision-makers at the same time. According to Medium practitioner notes on programmatic mechanics, buy side fees are taken before publisher consideration, which makes any advertiser price less competitive by the time it reaches you. That means a rate card that looks higher on paper can clear lower in practice unless your verified audience compensates for the haircut. If either leg of the audit fails, the rational move is down to a private marketplace floor where competition is contained but clearing is real.

The second filter is fill persistence. A high card with empty slots is not a strategy, it is unsold inventory decaying. When direct fill stays soft across consecutive monthly closes even while the card is held firm, reallocate that unsold share to open exchange rather than extending the sales cycle. The mechanism here is opportunity cost: every day a slot waits for a direct buyer who never arrives, you forfeit programmatic clearing that would have compounded in your knowledge-ops ledger.

The third filter is identity plus renewal. Keep a premium only when authenticated first-party match is strong enough to target deterministically and when your anchor advertiser renews for next quarter at a multiple well above open-clearing. One without the other fails. Strong login data without renewal means you have value but no buyer convinced of it. Renewal without match means you have one buyer overpaying for undifferentiated reach, which will churn.

The fourth filter is overhead discipline. Fully loaded direct cost — sellers, pre-sales, ad ops rework, receivables — must stay a modest share of direct gross over any rolling window of roughly a month plus. Track this per enterprise knowledge-ops ledger, not per seller spreadsheet. In most cases publishers underestimate rework and collection lag, which quietly pushes true overhead above tolerance even when headline CPM looks healthy. When that happens, cut to lower-touch channels.

Reinstatement should never be a flip back to the old card. Pilot any return through a mid-size impression PMP test over roughly four weeks, then reinstate the premium only if net yield after fees and serving cost beats the open baseline by a decisive margin. That test gives strategy and research leads a durable signal instead of anecdote.

| Decision gate | What to verify | Action if condition met |
| --- | --- | --- |
| Quality audit | Viewability and Jabodetabek decision-maker share meet audit threshold described above | Eligible to hold premium; otherwise move to PMP floor |
| Fill persistence | Direct fill holds above floor across consecutive monthly closes | If soft for two closes, cut and reallocate to open exchange |
| Identity and anchor | Authenticated match strong plus anchor renews well above open clearing for next quarter | Keep premium; if either missing, step down |
| Overhead ledger | Fully loaded sales cost as share of direct gross over rolling window | If above tolerance, cut to programmatic despite card |
| Reinstatement pilot | Mid-size PMP test over several weeks versus open baseline net yield | Reinstate premium only on clear net win; otherwise stay on floor |

## What to do next

| Step | Action | Why it matters |
| --- | --- | --- |
| 1 | Run a multi-week audit in Google Ad Manager comparing your direct IO vs Open Bidding fallback on Kompas.com leaderboard | Proves if your premium rate card earns its premium or strands inventory |
| 2 | Require Integral Ad Science verification to prove viewability on Jabodetabek impressions | Fails the binary viewability gate, fails the rate card |
| 3 | Break out GAM geo-report to prove Jabodetabek share for the Jawa Pos Digital-style direct line | Justifies scarcity instead of paying unsold-inventory tax |
| 4 | Audit your enterprise login graph to prove login match on direct-targeted audiences | Proves true audience value vs blanket pricing |
| 5 | Measure direct fill to prove direct fill before supply-side fees reduce working media post-auction | Confirms liquidity, not house-ads trap |
| 6 | If any audit fails, cut to programmatic/PMP floor at $1.50-$3 and shift scale to Connected TV households in Indonesia | Aligns yield with market ceiling and captures new scale vector |

## Frequently Asked Questions

**What is the typical range for programmatic CPM rates from Indonesian publishers?**

Average CPM rates for programmatic inventory from Indonesian publishers typically range between $1.50-$3.50 USD.

**How many Connected TV households are expected in Indonesia by the end of 2026?**

30M+ Connected TV households are expected in Indonesia by end of 2026.

**Which insertion order takes priority when targeting the Kompas.com leaderboard in Google Ad Manager?**

When a direct insertion order (IO) targets the Kompas.com leaderboard, it outranks any Open Bidding fallback.

**What specific identity source does Kompas ID use to validate higher cost bases compared to anonymous traffic?**

Kompas ID maintains a first-party login pool of authenticated users that serves as a policy-compliant targeting mechanism offering deterministic identity resolution.

**According to the Asosiasi Media Siber Indonesia publisher survey, what fill issue did a majority of members report?**

A majority reported direct-sold fill below a low threshold despite holding rate cards.

**Why does We Are Social data suggest desktop leaderboard premiums are no longer valid for defending multipliers?**

Indonesia's archipelago reach is now overwhelmingly a small-screen, mobile-network reality, not a Jakarta desktop audience that can be assumed from domain prestige.

## Quick answers

| What is the typical range for average CPM rates for programmatic inventory from Indonesian publishers? | Average CPM rates for programmatic inventory from Indonesian publishers typically range between $1.50-$3.50 USD. |
| --- | --- |
| How are supply-side fees calculated in relation to publisher yield? | Supply side fee is calculated by reducing CPM publisher receives after auction is complete. |
| What is the projected number of Connected TV households in Indonesia by the end of 2026? | 30M+ Connected TV households expected in Indonesia by end of 2026. |
| Which entity serves as a policy-compliant targeting mechanism offering deterministic identity resolution? | Kompas ID maintains a first-party login pool of authenticated users. |
| According to the Asosiasi Media Siber Indonesia publisher survey, what was the reported direct-sold fill status for a majority of members? | A majority reported direct-sold fill below a low threshold despite holding rate cards. |

Also worth reading: **Indonesian B2B NER: 45-Day Flags, Penalty Cuts, and Model Choices**: [Indonesian B2B NER: 45-Day Flags,](https://infonesia.fyi/blog/indonesian-b2b-ner-45-day-flags-penalty-cuts-and-model-choices.php) · **Automating market intelligence for Indonesian e-commerce**: [Automating market intelligence for Indonesian](https://infonesia.fyi/blog/automating-market-intelligence-for-indonesian-e-commerce.php) · **Indonesian research team costs: $200 flat vs 1.2M token crossover 2026**: [Indonesian research team costs: $200](https://infonesia.fyi/blog/indonesian-research-team-costs-200-flat-vs-12m-token-crossover-2026.php)

### Related reading

- [Indonesian research team costs: $200 flat vs 1.2M token crossover 2026](https://infonesia.fyi/blog/indonesian-research-team-costs-200-flat-vs-12m-token-crossover-2026.php)
- [Automating market intelligence for Indonesian e-commerce](https://infonesia.fyi/blog/automating-market-intelligence-for-indonesian-e-commerce.php)
- [Indonesian B2B NER: 45-Day Flags, Penalty Cuts, and Model Choices](https://infonesia.fyi/blog/indonesian-b2b-ner-45-day-flags-penalty-cuts-and-model-choices.php)
- [Indonesia Inflation Data 2026: 2.84% Freeze vs Update Filter](https://infonesia.fyi/blog/indonesia-inflation-data-2026-284-freeze-vs-update-filter.php)
- [Indonesia Market Data 2026: Statistics Indonesia (BPS) Snapshot Anchor Rp14.7M vs Rp21M](https://infonesia.fyi/blog/indonesia-market-data-2026-statistics-indonesia-bps-snapshot-anchor-rp147m-vs-rp21m.php)
- [Perpres 39/2019 CPI Join: Harvest vs BPS API on 2022=100](https://infonesia.fyi/blog/perpres-392019-cpi-join-harvest-vs-bps-api-on-2022100.php)

### Latest

- [Indonesian research team costs: $200 flat vs 1.2M token crossover 2026](https://infonesia.fyi/blog/indonesian-research-team-costs-200-flat-vs-12m-token-crossover-2026.php)
- [Indonesia Inflation Data 2026: 2.84% Freeze vs Update Filter](https://infonesia.fyi/blog/indonesia-inflation-data-2026-284-freeze-vs-update-filter.php)
- [Indonesia Market Data 2026: Statistics Indonesia (BPS) Snapshot Anchor Rp14.7M...](https://infonesia.fyi/blog/indonesia-market-data-2026-statistics-indonesia-bps-snapshot-anchor-rp147m-vs-rp21m.php)

Canonical: https://infonesia.fyi/blog/indonesian-publisher-ad-rates-win-with-rp32400-cost-per-mille.php
Markdown: https://infonesia.fyi/blog/indonesian-publisher-ad-rates-win-with-rp32400-cost-per-mille.php/index.md
