Surevisible
Ingestion

Six months of history, kept honest

Both Google products revise recent days after publishing them, so Surevisible re-pulls a trailing window on every run instead of trusting the first answer it got.

The problem

Search Console and GA4 both restate the last few days after first reporting them. A pipeline that writes each day once and never looks back is quietly wrong about its most recent, and most looked-at: data.

What we mean

Ingestion is idempotent and windowed. Every sync replaces a trailing range rather than appending to it, so a revision upstream becomes a correction here instead of a permanent discrepancy.

6 months

of history backfilled on first connect

How it works

Start to answer

  1. 01

    Connect

    One Google authorisation covers Search Console and GA4 across every property you can reach.

  2. 02

    Discover

    Properties and streams are found for you rather than typed in by hand.

  3. 03

    Backfill

    Six months of history on first connect, queued as windows and drained by the worker.

  4. 04

    Keep current

    A trailing window is re-pulled on every run, and gaps are detected and queued on launch.

Before and after

What actually changes

The number that changed

Before

Last Tuesday's figure is different from the one in the report you sent, and nobody can explain why.

After

The revision was pulled in automatically. Both the warehouse and the report reflect it.

Coming back after a break

Before

A week away means a week-shaped hole in the data.

After

The scheduler diffs each dataset's watermark against what should exist and backfills the gap.

Windowed and idempotent

Re-running a sync cannot double-count.

  • Each run replaces a range rather than appending
  • Configurable trailing window
  • Watermarks tracked per dataset

Paced for real quotas

Concurrency is deliberately low.

  • Syncs are network-bound on per-property quotas
  • More parallelism mostly buys more 429s
  • Failures retry with a bounded attempt count

Visible when it breaks

A failed sync is reported, not hidden.

  • Per-dataset sync state with the last error
  • Job queue with attempts and failures
  • Manual re-sync on demand

Why the gap is shown rather than smoothed

A chart that draws a straight line through a period where a source was unavailable is inventing data. Where a day is missing, it is missing: absent, not zero: because a zero is a claim that nothing happened and that is usually false.

In short

The warehouse reflects what the sources currently say, including the parts they changed their mind about.

See the whole brand

Search, analytics, ads, revenue, CRM and support, pulled into one view per brand and kept current. Connect the first source in a few minutes.