Absence-is-data
The contract rule that an AI surface returning nothing for a query is a valid, reportable result — not an error, and never a fabricated answer. If no AI Overview appears, the capture still completes: the surface is recorded as absent and the job is flagged, so downstream metrics can count the absence. Coercing absence to zero, retrying it away, or inventing content would corrupt visibility data.
In AI Search API
Enforced at the schema level: an Envelope with provenance.surfacePresent: false must carry the surface_absent warning and finish with status "completed" — the public contract rejects anything else. A query where your brand or an AI module simply did not show up is a data point you keep, not a request that failed.
{
"job": {
"status": "completed",
"warnings": ["surface_absent"]
},
"provenance": {
"surfacePresent": false
}
}Related terms
See it in the product
Every definition here is enforced in the Envelope contract — run a capture and read the fields yourself.