Customer-built analysis

Gemini app: share of voice

Calculate competitor visibility from your own matching rules and sample set.

Collection target: gemini. This is customer-built analysis, not a computed API response field.

Build this analysis in your application

Choose whether your measure is brand presence per successful response or a share of all matched brands. Declare the competitor set, denominator and handling of failed collections before comparing results.

Customer-built analysis

The API does not return share-of-voice scores or confidence intervals. As statistical education, a 95% Wilson half-width at a 30% observed share and n=25 is approximately ±17 percentage points. Independence assumptions and provider changes affect interpretation.

The gemini target returns collected answer text, markdown, pageUrl and sources with each successful run identity and capture time. Fields can be null and sources can be empty. Gemini can present a login wall that prevents collection. Eligible failures are retried, and unsuccessful runs are recorded in failedRuns instead of fabricated responses.

Collected input for your analysis

These are illustrative successful run excerpts, not full result files or calculated metrics. Submit POST /v1/crawl-jobs, track completion, then download the authenticated result. Outputs depend on the target; a chatbot has no news articles or Google position fields.

{
  "runNumber": 1,
  "runTaskId": "9a7536e7-b610-420a-a34c-5f829956f4d3",
  "status": "completed",
  "capturedAt": "2026-10-09T10:01:00.000Z",
  "text": "Illustrative captured answer text.",
  "markdown": null,
  "pageUrl": "https://gemini.google.com/",
  "sources": []
}
Illustrative provider output. Empty lists and null fields are valid; inspect failedRuns in the result file.
Full result format and failed-run handling →

Share of voice FAQ

Does the API calculate share of voice?
No. Calculate competitor visibility from your own matching rules and sample set. The API supplies collected provider outputs; this analysis belongs in your application.
How should failed or empty collections be handled?
Inspect per-target failedRuns and each successful run identity. Empty sources or null fields are valid output; a missing failed run is not an empty successful answer. A completed job can contain failed collections.

Use collected data to build your own reporting and analysis. Our team arranges API access and follows up with next steps.