Documentation / Core concepts

How tracking works

The full pipeline from a scheduled job to a stored answer, and what Rivarise does and does not do.

This page describes the full pipeline, from the scheduler waking up to a row appearing in your Results table. Understanding it explains most of the questions people ask about timing, gaps and variability.

The pipeline

  1. The scheduler wakes up. A cron job identifies every workspace due for a run: daily on paid plans, weekly on Free.
  2. Jobs are enqueued. One tracking job is created per prompt, per engine, per domain in scope. A workspace with 75 prompts on 6 engines enqueues 450 jobs.
  3. Workers pull jobs. Background workers submit each prompt to its engine, respecting per-provider rate limits and a global spend ceiling that stops runaway cost.
  4. The answer is captured. The complete response text is stored, not a summary. This is what you read in Results.
  5. The answer is analyzed. Rivarise detects whether your domain was cited, at what position among the brands mentioned, with what sentiment, and which competitor domains appeared.
  6. Metrics are rolled up. Per-prompt and per-engine results aggregate into daily snapshots, the PPS score, competitor share of answer, and the trend lines on the dashboard.
  7. Triggers fire. Alerts are evaluated against your thresholds, and a sustained citation-rate drop can generate fix suggestions.

How engines are queried

Seven of the nine engines are queried through the provider's own API. The two Google answer surfaces, AI Mode and AI Overviews, have no public API and are read from the rendered answer instead.

Some engines have no directly accessible consumer API, so Rivarise queries the closest available model from the same provider family. The application labels this wherever it applies, so you always know whether you are looking at a direct query or a proxy. The specific model behind each engine is listed on The nine AI engines.

Rivarise sends only the prompt text and the parameters needed to run the query. Your name, email, account identifier and billing details are never transmitted to an engine provider.

Why the same prompt gives different answers

Generative answers are probabilistic. Two identical queries, minutes apart, can return different brands in a different order. This is a property of the engines, not a defect in the measurement, and it is precisely why one manual check in ChatGPT is not evidence of anything.

Rivarise handles this the only way it can be handled honestly: by sampling repeatedly on a fixed schedule and reporting rates over time rather than single outcomes. A citation rate of 40 percent means you appeared in roughly four of every ten checks in the range, which is a far more stable statement than any individual answer.

Factors that shift answers between runs include model updates, retrieval sources being re-crawled, regional differences, and the engine's own ranking changes. None of these are visible from the outside, which is why the trend matters more than the level.

Timing and what "daily" means

  • Runs are scheduled once per day per workspace on paid plans. They are not spread evenly through the day and are not user-configurable.
  • Results appear progressively as workers complete jobs, so a run is not atomic.
  • A slow or rate-limited provider can delay part of a run. The rest of the run still completes.
  • If an engine is unavailable, that engine's checks for that run are missing rather than recorded as a zero. A missing check is not counted as "not cited", because that would understate your rate.

What is stored, and for how long

StoredRetention
Full answer text per checkYour plan's history window
Citation, position, sentiment per checkYour plan's history window
Daily aggregate snapshotsYour plan's history window
Prompts, domains, competitors, settingsUntil you delete them

History windows are 7 days on Free, 30 on Starter, 90 on Growth, and unlimited on Business and Agency. Data older than your window is removed, and downgrading shortens the window, so export first if you plan to drop a tier.

What the pipeline cannot tell you

Being precise about this prevents over-reading the data:

  • It is a sample, not a census. Results describe what the engines returned to our checks. They do not describe what every user of that engine saw.
  • There is no traffic attribution. Rivarise measures citations, not clicks or sessions. It cannot tell you how many people arrived because of an answer.
  • Personalization is invisible. An engine may answer differently for a signed-in user with history. Rivarise queries without that context, which is the only reproducible baseline available.
  • Automated analysis is an estimate. Sentiment, position and competitor identification are produced by models and can be wrong on an individual answer. The stored text is the ground truth, which is why it is kept.

Next

Read The nine AI engines for exactly what each engine is and which plan unlocks it.