Google Ads 4-Year Historical Spend Recovery — Multi-Tenant Warehouse Account-ID Join Beats Chat Archive by 2.5 Years

Turn a "no data for this account" verdict into a verified multi-year history, by joining through the warehouse's own identifier model instead of trusting a name match.

On-trigger

What was getting in the way.

A name-based sweep of a multi-tenant warehouse table returned nothing on a client — the sort of answer that leads straight to "we don't have the data, retire the account." But the warehouse keys records by account id, not display name, so a name sweep can be structurally blind to a client that is sitting right there. Chat-archive search can backfill some history, but only as far back as the archive's retention window.

Context

Universal — any AI agent deployment holding multi-tenant platform data that gets queried by human-friendly client names.

How the work runs.

  1. 01

    Trigger

    a sweep returns zero rows for a client the team believes we have history on.

  2. 02

    Question the join key

    a multi-tenant warehouse table is keyed by platform account id, not display name — a name sweep against it can be structurally blind.

  3. 03

    Pull the client's own identifiers

    take the client's platform account ids from the places they actually live (CRM record, product metadata, prior engagement notes) and join those into the multi-tenant table directly.

  4. 04

    Recover engagement dates from campaign-name prefixes

    re-derive when the engagement actually started by parsing dated prefixes on historical campaign names — a signal the chat archive can't see.

  5. 05

    Reconcile against the chat archive

    the campaign-name-prefix horizon beat the chat archive by 2.5 years; both signals cross-check.

  6. 06

    Outcome

    verdict flipped from retire to publishable in ~45 minutes.

Evidence from the workflow.

Screenshot coming soon

Each system has a role.

  • Record of truth

    Multi-tenant data warehouse

  • Intake (account ids)

    CRM / product metadata

  • Signal (historical dating)

    Ad platform (name/prefix convention)

  • Signal (cross-check)

    Internal chat archive

Why this is Coworker.

Takes assignments and reports back. You hand it work, it prepares and returns a result.

  1. 01

    Read-only across the warehouse and the chat archive; no account changes made from the recovery itself. Any corrected historical count is tagged with its join method so a future reviewer can reproduce the lookup.

Impact / Outcomes

Four years of previously-invisible performance history recovered on an account the standard sweep had graded as having zero data.

Engagement start-date re-derived from campaign-name prefixes — beat the chat-archive horizon by 2.5 years.

Whole exercise completed in roughly 45 minutes; verdict flipped from retire to publishable the same session.

← All use cases

Find where a workflow like this fits.

Start with the systems, work, constraints, and authority already present in your operation.