Originally published on KeyboardTester.click. This is an adapted, privacy-safe update from a living publisher diary—not an endorsement, a sponsored review, or a revenue promise.
The first near-full serving day of my Google AdX MCM test produced four numbers that look simple until the payment path is separated:
Google Ad Manager reported revenue before MCM: $1.75
Estimated child share after the 20% allocation: $1.40
Direct AdSense estimated earnings: $0.78
Estimated combined owner revenue: $2.18
That is not $1.75 + $0.78. The $1.75 is the Google Ad Manager figure before the $0.35 MCM auto-payment allocation. Adding the gross GAM number to AdSense would overstate what belongs to the publisher.
It is also not proof that Google AdX beat AdSense. The figures were read at about 9:46 p.m. Pakistan time on August 29, after the wrapper had run for nearly the whole calendar day. They were same-day estimates, not settled earnings, and the two systems served separate inventory rather than a like-for-like A/B split.
The corrected discovery sequence
A local monetization representative contacted me first, on Friday, August 28. I later asked ChatGPT for publisher-monetization options, and it surfaced LKZ as a research lead. ChatGPT did not introduce us, vet the company, certify its performance, or make a revenue guarantee.
The August 30 correction matters because my earlier timeline incorrectly showed an August 26 initial contact and still described the support group as pending. The same local representative actually:
- made first contact on August 28;
- supplied the GPT/Zenith wrapper and LKZ Prebid scripts or wrappers installed for the test; and
- created the support group that day.
The group exists, but response time, technical ownership, local-language support, and escalation quality remain under evaluation.
Authorization, implementation, and serving are different states
The verified relationship is Google Ad Manager Manage Account with RevBros–LKZ. The child Ad Exchange account was enabled, the auto-payment allocation was visible, and the requested seller authorization was added beside the existing AdSense line in ads.txt.
That was only the authorization layer. On August 28, I then approved and installed the supplied Google Publisher Tag/Zenith wrapper and LKZ Prebid code. I did not remove the existing AdSense loader or manual units. At the representative's request, only AdSense Auto ads' In-page Banner and Multiplex formats were disabled; the Auto ads master, Intent-driven and Overlay formats, and existing manual AdSense remained active.
The implementation therefore became a hybrid test, not a clean “AdSense off, AdX on” migration.
Google's documentation is useful here: GPT defines Ad Manager slots and sends ad requests, while ads.txt authorizes sellers. Neither one, by itself, guarantees fill or higher net revenue.
What the scoped CSP repair established—and what it did not
Initial browser testing found additional Google ad resources blocked by the site's Content Security Policy. The requested Google wildcard domains and an observed Google partner-pixel origin were allowed.
Post-fix browser testing reached the configured Google Ad Manager network and created wrapper slots while the existing AdSense implementation remained present. It showed no CSP violations; one non-blocking deprecated-GPT warning remained in the vendor wrapper.
No visible filled wrapper creative appeared in that sampled session. The repair therefore established a cleaner request path, not auction fill, net page RPM, income lift, or vendor causality.
What Day 1 did show
The directional dashboard context favored GAM efficiency, with important limits:
| Metric | GAM | AdSense |
|---|---|---|
| Impressions | 2,150 | 1,859 |
| Dashboard yield metric | $0.82 eCPM | $0.42 impression RPM |
| Viewability | 64.7% | 54.75% |
| Unfilled opportunities | About 1,190 | Not reported in this comparison |
After the 20% allocation, the GAM yield works out to roughly $0.656 on the same gross-denominator basis. A simple served-versus-unfilled proxy puts GAM fill at about 64.4%, leaving 35.6% unfilled. Those are useful diagnostic signals, not a final business verdict.
The recent verified AdSense high was $2.36 on August 26, so the $2.18 hybrid owner estimate was still $0.18 below that reference point. Turning off AdSense without replacement would also have removed the observed $0.78, or 35.8% of the combined estimate.
My decision was to keep GAM and AdSense running together without a mid-day change. One near-full day is encouraging evidence for GAM efficiency, but it is not evidence that GAM-only would earn more after inventory, fill, pricing, viewability, partner allocation, and traffic mix all change.
The measurement rule that survives the excitement
The primary decision metric is net page RPM after every share and fee, controlled with independent sessions and pageviews and segmented by country, device, and top-page mix. Partial launch and rollback dates stay out of complete-day comparisons. Fill, viewability, ad density, latency, policy status, and reader complaints remain part of the decision.
Day 7 is a technical-health gate. Day 14 is directional. Day 30 is the first serious performance decision. Earlier rows—including corrections and weak results—stay visible.
The complete live MCM diary contains the full append-only timeline, source list, company-claim checks, contract questions, and future Day 7/14/30 updates.
Further product references: Google's MCM overview, Manage Account mechanics, and AdSense versus Ad Manager.
Top comments (0)