Impression share cannot
be scraped. So we read it.
Impression share is eligibility-based, and only Google knows eligibility. Every tool that estimates how contested your keywords are is guessing. Marley reads your own numbers and joins them to the live page.
Two halves, neither sufficient alone
From your own account · exact
- Search impression share
- Share lost to rank, and to budget
- Absolute-top impression share
- The competitors you actually meet
Authoritative, free, and impossible to obtain any other way.
From the live result page
- Who really ran an ad on this query
- Whether you already own the organic result
- Whether an AI Overview answers it
- What the competitor's offer says
Invisible to your ads account, and the half that decides intent.
The join is the point. Your account knows how hard a keyword is contested but not what the page looks like; the page shows everything except how much of the auction you were eligible for. One without the other produces confident nonsense.
What comes out
30 days · one campaignHolding the screen at a sensible cost.
Contested, and you are keeping pace.
Rivals are gaining. Worth defending.
Paying more than the position needs.
Uncontested, and you already own the organic result.
Competitors are here and you are not.
Then prove it
A saving you cannot prove is an argument. After a cut, Marley watches the conversion data on those keywords — if conversions hold, the spend was genuinely non-incremental and you have a number to take to the next budget conversation. If they fall, you turn it back on knowing why.
Where it sits
Ask it directly
Queryable from your own AI client over MCP — same data, same limits, no interface required.
How the MCP works