Team playbook
Team playbook16 min readBy The Data Workers Team

How ads data mart teams go fully agentic and autonomous

Going fully agentic and autonomous does not mean adding a chatbot to the warehouse. For ads data mart teams, it means climbing from agents that assist, to agents that run the routine work under your governance, to a data back office that largely runs itself: building and fixing pipelines, catching bad data before it reaches a number, keeping definitions and access governed and verifying every outcome, while people set direction and approve what matters. This is what that climb looks like, step by step.

Key takeaways

  • •Who this is for. The data team inside an ads org: the people who own the impression log, the measurement tables and the clean-room products advertisers query.
  • •The problem today. Overnight on-call for impression logs, month-end delivered-vs-billed reconciliation and a queue of clean-room access tickets.
  • •What changes. Every impression partition is checked against the ad server's own totals as it lands, so a short report is fixed before an advertiser ever sees it. Delivered and billed are reconciled every morning, so invoices go out right the first time and makegood conversations stop starting from bad data.
  • •What stays with your people. Any change to an advertiser-facing report or invoice: those numbers are commitments to customers, so a measurement lead signs off with the full diff in front of them.
  • •The result. The engineering weeks that went to backfills and reconciliation, spent instead on new measurement products advertisers will pay for.

The PRD for agentic ads data mart and measurement teams

This is the requirements document we would write with you for your team. Everything below expands on it.

WhoData teams inside ads platforms, streaming ad sales, retail media and ad tech
The jobEvery advertiser number verified before it ships.
EnvironmentKafka or Kinesis impression streams; Snowflake, BigQuery or Databricks; dbt; Airflow; AWS Clean Rooms, Snowflake or LiveRamp clean rooms; billing systems.
ConstraintsAny change to an advertiser-facing report or invoice always go to a named approver. Advertising data carries personal data and consent obligations, and clean-room collaborations depend on raw identifiers never leaving.
Success is measured byDelivered vs billed reconciled: from about a month to 8-15 min; Clean-room partnership live: from about a week to 5 min; Match-rate drop traced: from about 3 days to 8-15 min; sandbox and cost cleanup closed autonomously 88% of the time.
Owned byThe Head of Ads Measurement Data, with domain owners as named approvers.
Pilot scopeDaily delivered-vs-billed on one product line at L2.

What going fully agentic and autonomous means for ads data mart and measurement teams

  • •Put your data pipeline on autopilot. Every impression partition is checked against the ad server's own totals as it lands, so a short report is fixed before an advertiser ever sees it.
  • •Run the data back office without the busywork. The work that fills the week today moves to agents: overnight on-call for impression logs, month-end delivered-vs-billed reconciliation and a queue of clean-room access tickets.
  • •Scale data without scaling headcount. Delivered and billed are reconciled every morning and new advertisers get clean-room access the day the deal closes, so the data you manage grows without the team having to.
  • •Get the plumbing off your plate. The engineering weeks that went to backfills and reconciliation, spent instead on new measurement products advertisers will pay for.

Who this is for

The data team inside an ads org: the people who own the impression log, the measurement tables and the clean-room products advertisers query. At streaming companies it sits in the ads platform org. At media groups it sits under ad sales. At retail media networks it sits next to the loyalty data. The titles vary: Data Product Manager, Measurement PM, Analytics Engineering Lead, Ads Data Platform. The job is the same.

The product you ship

  • •Delivery and pacing reports advertisers and sales teams read every morning.
  • •Reach and frequency, attribution and conversion lift that justify the next campaign.
  • •Audience segments and clean-room outputs built on your first-party identity graph.
  • •The reconciliation between what was delivered and what was billed.

Where the week goes

  • •The ad server changes an event field. Reach tables silently drop rows until someone notices the count.
  • •Logs land late. A region's partition arrives hours late and the delivery report goes out short.
  • •Identity match rates drop. An identity provider changes a format and attribution windows look empty.
  • •Delivered and billed disagree. Someone reconciles by hand before month-end.
  • •Clean-room access piles up. Every new advertiser partnership is an access request, a template review and a PII check.
  • •The event tables cost a fortune. Petabyte-scale logs, duplicated sandboxes and abandoned experiments nobody dares delete.

Add it up and upkeep is most of the team's week. Here is how a typical week splits today, and once agents own the back office:

Share of the data team's working week by activity, today vs. with Data Workers. Upkeep covers pipelines, incidents and reruns, access requests, and docs and catalog. Illustrative: a modelled example of a typical team, not measured outcomes.
Fig. 1:Share of the data team's working week by activity, today vs. with Data Workers. Upkeep covers pipelines, incidents and reruns, access requests, and docs and catalog. Illustrative: a modelled example of a typical team, not measured outcomes.

Time spent on new data products moves from 15% of the week to 50%. Most of the rest becomes review: people steer and approve agent work instead of doing it by hand.

Then and now

WorkTodayWith Data Workers
An event field changesFound when the morning report goes out shortDetected on the first batch, fixed and verified overnight
Delivered vs billedReconciled by hand at month endReconciled daily, one decision when they diverge
A new advertiser in the clean roomA week of access ticketsSame day, under policy, every grant logged
Identity match rate dropsFound when lift studies lose powerTraced to the provider change on the first drop
A new measurement productA quarter of build and reworkWeeks, built and tested by agents
Event-table costGrows foreverStale copies retired once lineage proves it is safe

These are the impact metrics we move for ads data mart and measurement teams:

  • •Delivered vs billed reconciled: from about a month to 8-15 min
  • •Clean-room partnership live: from about a week to 5 min
  • •Match-rate drop traced: from about 3 days to 8-15 min

Across the routine work in this domain:

Time to complete 6 routine ads data mart tasks, current practice (black) vs. the agent swarm (green). Illustrative.
Fig. 2:Time to complete 6 routine ads data mart tasks, current practice (black) vs. the agent swarm (green). Illustrative.

The biggest change is Delivered vs billed reconciled: from about a month to 8-15 min. Work that waited in queues finishes in minutes or hours, because agents detect, fix and verify in one pass.

Use cases, in depth

Launching CTV reach and frequency

Today. The team spends a quarter adding a new device class across logs, identity joins and reach models, while keeping current reports alive.

With Data Workers. Run it as an Autopilot mission: Streaming and Schema Evolution bring the new device fields in, Pipeline Building extends the reach models with tests, Quality Monitoring checks household reach against the ad server's totals, and Conductor holds the first advertiser-facing release for the measurement lead.

What changes. CTV measurement ships in weeks and the existing reports never break while it is built.

The workflow for this use case: Autopilot → Real-Time Streaming agent (register_kafka_schema) → Schema Evolution agent (detect_schema_change) → Pipeline Building agent (generate_pipeline) → Quality Monitoring agent (set_sla).
Fig. 3:The workflow for this use case: Autopilot → Real-Time Streaming agent (register_kafka_schema) → Schema Evolution agent (detect_schema_change) → Pipeline Building agent (generate_pipeline) → Quality Monitoring agent (set_sla).

Billing reconciliation before invoices go out

Today. Finance and the data team reconcile delivered impressions against billing at month end, and adjustments arrive after invoices.

With Data Workers. Conductor runs delivered-vs-billed every morning. When invalid-traffic filtering or a late partition opens a gap, Incident Debugging finds the cause and the adjustment is proposed with evidence to a named approver.

What changes. Invoices go out right the first time and makegood conversations start from the same numbers.

The workflow for this use case: Autonomous Data-Conductor (verify_data) → Incident Debugging agent (diagnose_incident).
Fig. 4:The workflow for this use case: Autonomous Data-Conductor (verify_data) → Incident Debugging agent (diagnose_incident).

Clean-room partnerships at scale

Today. Each new advertiser partnership means access requests, template reviews and PII checks in a queue.

With Data Workers. Data Access & Governance applies clean-room policy to each request, Data Security confirms no raw identifiers leave, and Spellbook documents what each advertiser can query.

What changes. Sales can sign clean-room deals as fast as advertisers ask.

The workflow for this use case: Data Access & Governance agent (provision_access) → Data Security agent (scan_pii) → Spellbook Data Catalog.
Fig. 5:The workflow for this use case: Data Access & Governance agent (provision_access) → Data Security agent (scan_pii) → Spellbook Data Catalog.

Agents working together: The ad server renamed a field at 2am

How the swarm hands one problem from agent to agent: the ad server renamed a field at 2am. Each step leaves a signed receipt.
Fig. 6:How the swarm hands one problem from agent to agent: the ad server renamed a field at 2am. Each step leaves a signed receipt.

Most data incidents are not hard. They are just long. Somebody has to notice, trace, fix, rerun, check the numbers and tell people, and every step sits in a different tool with a different owner. This is what that chain looks like when Data Workers runs it.

The setup

An ads business runs one impression log into a set of advertiser-facing tables: delivery, reach and frequency, attribution and billing. The team has set autonomy per domain in Autopilot:

  • •Staging and event tables: L3, act and keep it reversible.
  • •Advertiser-facing reports and billing: L2, propose and hold for a named approver.
  • •Makegoods and advertiser communication: L0, people only.

02:04 — the change lands

The ad server team ships a release that renames viewable_flag to is_viewable and adds a new ctv_device_class field. No ticket reaches the data team.

Real-Time Streaming agent sees the new schema version on the Kafka topic within one batch. It flags that consumers of the impression stream still expect the old field, and that viewable impressions in staging have dropped to zero for new partitions.

02:06 — map the change

Schema Evolution agent reads the producer's schema history and the diff. It recognises a rename, not a drop, because the value distribution of is_viewable matches the last 30 days of viewable_flag. It writes the mapping, versions the contract and marks ctv_device_class as a new optional field.

02:11 — fix the models

Pipeline Building agent updates the dbt models that read the field, adds ctv_device_class to staging so the CTV team can use it, and runs the test suite. Staging is at L3, so the change merges with a signed receipt.

Quality Monitoring agent adds a guard the team did not have before: a volume check on viewable impressions per region, so a silent zero never gets past staging again.

02:20 — repair the damage

Two hourly partitions were already processed with zero viewable impressions. Incident Debugging agent traces exactly which downstream tables consumed them: the delivery report, the reach and frequency rollup and one attribution window. It reruns the partitions through the fixed models and backfills staging.

02:41 — verify the number that matters

Autonomous Data-Conductor checks the outcome, not the code. Viewable impressions for the affected hours now match the ad server's own totals within tolerance. Reach and frequency tie to delivery. Delivered still ties to billed.

The advertiser-facing delivery report sits at L2, so Conductor does not publish the corrected report on its own. It sends one decision to the measurement lead: the diff, before and after totals, the root cause and a rollback plan.

07:52 — one person, one approval

The measurement lead reads the receipt on her phone, approves, and the corrected report goes out before the 9am advertiser send. No makegood conversation starts.

What stays behind

  • •Data Context Wizard updates the governed definition of a viewable impression to point at the new field, with provenance. Every agent and analyst answers from the same definition.
  • •Spellbook Data Catalog shows the incident, the fix, the new contract version and the new quality rule on the impression log's page.
  • •The receipt records who proposed, who approved, what changed and how to roll it back.
  • •The pattern is remembered. The next rename from the same producer is handled the same way, and the team can move that repair class from L2 to L3 once the evidence supports it.

Why it takes six agents and not one

A coding assistant could write the dbt change. It could not notice the rename at 2am, prove it was a rename, find every table that consumed the bad partitions, rerun them, reconcile delivered against billed and hold the advertiser-facing fix for the right person. That is a team's worth of work, and Data Workers runs it as one coordinated job across your estate.

Minute by minute

This is an illustrative example. Impression logs stream from the ad server through Kafka into Snowflake; dbt builds delivery, reach and billing tables; the advertiser delivery report sends at 09:00. Advertiser-facing reports are at L2.

TimeWhoWhat happens
02:04Ad serverRelease renames viewable_flag to is_viewable
02:05KafkaNew schema version on the impression topic
02:06Schema Evolution agentdetect_schema_change; value distribution proves a rename
02:11Pipeline Building agentModel diff with tests; staging merged at L3
02:20Incident Debugging agentexecute_backfill on two hourly partitions
02:41Quality Monitoring agentDelivery ties to billing; report change held at L2; create_jira_sm_ticket
07:52Spellbook Data CatalogMeasurement lead approves
09:00Report send40 advertisers receive correct delivery

The agents on the job

AgentWhat it does on an ads data martTools it calls
Real-Time StreamingKeeps impression and click stream schemas, consumers and downstream tables in step when a producer changesregister_kafka_schema, register_stream_schema, detect_schema_change
Schema EvolutionMaps renamed and new event fields, versions the contract and updates downstream modelsdetect_schema_change, validate_schema_compatibility, generate_migration, rollback_migration
Incident DebuggingTraces a short report to the partition or join that caused it, reruns and backfillsdiagnose_incident, get_root_cause, prepare_backfill, execute_backfill
Quality MonitoringVolume, match-rate and delivered-vs-billed checks on every advertiser-facing tableset_sla, run_quality_check, get_anomalies, create_quality_tests_for_pipeline
Data Access & GovernanceHandles clean-room and warehouse access requests against your policiesprovision_access, check_policy, request_governance_review, generate_audit_report
Data SecurityClassifies PII across event and audience tables and scrubs it before it reaches contextscan_pii, review_pii_writes, pci_card_data_masking
Cost Savings & Data CleanupFinds idle, duplicate and oversized workloads on event tables and cleans them upget_snowflake_usage, get_cost_enrichment, detect_dead_assets

Autonomous Data-Conductor tracks freshness on every advertiser-facing table and reconciles delivered against billed daily. Data Context Wizard holds one governed definition of an impression, a viewable impression, a reached household and a conversion, so the clean-room number matches the invoice. Spellbook Data Catalog gives every event source and measurement table a living page that agents keep current.

What goes on autopilot

Once a domain has earned it, this work runs on its own, and each item removes a problem your team deals with today:

  • •Every impression partition is checked against the ad server's own totals as it lands, so a short report is fixed before an advertiser ever sees it.
  • •Delivered and billed are reconciled every morning, so invoices go out right the first time and makegood conversations stop starting from bad data.
  • •New advertisers get clean-room access the day the deal closes, so sales stops waiting on the data team.

Where your people stay in charge

Agents never get blanket access. Each domain has its own autonomy level, set by you, and it only rises when the receipts show the agents are reliable. Everything starts at L1, observing only; reversible upkeep such as reruns, staging fixes, documentation and cleanup is usually first to run on its own.

  • •Any change to an advertiser-facing report or invoice always goes to a named approver: those numbers are commitments to customers, so a measurement lead signs off with the full diff in front of them.
  • •Makegoods and advertiser communication: these are commercial decisions, not data fixes.

Once a deployment has matured, here is how that ladder plays out across task classes:

Autonomous resolution by ads data mart task class. Share of each task class closed autonomously, escalated for approval, or handled by a person. Advertiser-facing changes sit at L2 by design: always proposed, never applied without a named approver. Illustrative.
Fig. 7:Autonomous resolution by ads data mart task class. Share of each task class closed autonomously, escalated for approval, or handled by a person. Advertiser-facing changes sit at L2 by design: always proposed, never applied without a named approver. Illustrative.

Sandbox and cost cleanup closes autonomously 88% of the time. For Advertiser-facing reports, autonomous closure is 0% by design: every change is proposed with a full diff and approved by a named person.

What happens when an agent is wrong

  • •At L2 propose, nothing changes until a named person approves. The proposal shows the full diff, the blast radius and how to roll it back. Unanswered requests expire and escalate.
  • •At L3 act, reversibly, every change keeps a rollback point, and Conductor verifies the downstream number after the change. If verification fails, the change is reversed and the domain drops a level.
  • •No agent approves or promotes its own work. Autonomy only grows on evidence, per repair class, and repeated errors shrink scope automatically.
  • •One org-wide stop halts all autonomous dispatch, and every action lands in a hash-chained audit trail you can export with generate_audit_report.

How it fits your stack

Data Workers connects to what you already run: Kafka or Kinesis impression streams; Snowflake, BigQuery or Databricks; dbt; Airflow; AWS Clean Rooms, Snowflake or LiveRamp clean rooms; billing systems. Each agent is an MCP server, so the same agents work inside Claude Code, Cursor or Codex and in Slack or Teams through Spellbook. Nothing migrates.

  • •Runs in your infrastructure with your credentials and your model key. The hosted Autonomous Data-Conductor sees workflow metadata only, never rows.
  • •Uses the access you already govern. Agents act under scoped service identities and your existing roles; every grant goes through provision_access and is logged.
  • •Proposes changes as diffs in your dbt project, orchestrator and warehouse, with blast radius, tests and a rollback point, and applies them only at the autonomy level you set for that domain.
  • •Open-source core. The Apache-2.0 community edition ships 11 agents and 160+ MCP tools, so your engineers can read exactly what the agents call.

Governance and regulation

Advertising data carries personal data and consent obligations, and clean-room collaborations depend on raw identifiers never leaving. Data Workers classifies personal data with scan_pii, scopes clean-room access with provision_access and logs every action.

Data Workers doesn't make you compliant; your controls, people and assessors do. It supplies controls and evidence wherever agents touch data. Not legal advice.

The alternatives ads data mart and measurement teams weigh

Build it yourselves. A strong team can wire a coding agent to MCP servers for the warehouse and dbt. The work is everything around it: routing approvals to the right owner, blast radius, rollback, receipts, and current context about every other system.

Observability, catalogs and point tools. Observability alerts, catalogs document, and quality tools test. Data Workers takes their signals, diagnoses, proposes the fix, verifies it and leaves the receipt.

Platform-native agents. Snowflake made its managed MCP server and Cortex Agents generally available on Nov 4, 2025, and Databricks made Genie One generally available on Jun 16, 2026. They are excellent inside their platform; this work crosses the source systems, orchestrator, warehouse and BI, and Data Workers works across all of them.

In this space specifically. Clean rooms and ad servers serve and join; observability tools alert. Data Workers owns the pipeline between them, the definitions that tie them and the reconciliation to billing.

The case for your CTO

What this replaces. Overnight on-call for impression logs, month-end delivered-vs-billed reconciliation and a queue of clean-room access tickets.

What your team gets back. The engineering weeks that went to backfills and reconciliation, spent instead on new measurement products advertisers will pay for.

Integration effort. Connecting is configuration, not a migration. The agents attach over MCP to the warehouse, orchestrator, dbt project and source systems you already run, under the roles you already govern, inside your own infrastructure. Your engineers can read every tool the agents call in the open-source core.

Risk and control. Autonomy is set per domain. Everything starts at L1, observing only; reversible work moves up only when the receipts justify it; any change to an advertiser-facing report or invoice stay at L2 with a named approver; and one org-wide stop halts all autonomous work.

Why now. Ad-supported tiers and clean rooms multiplied event volume and partner count.

The first win. Daily delivered-vs-billed on one product line at L2. The pilot below lays out the scope, what you see each week and the cost.

The climb: from assisted to autonomous to agentic

Our thesis is that the data platform climbs the way analytics did, in stages, and that the hard part of data work was never knowing what to do but doing it. For ads data mart and measurement teams, the climb looks like this:

  • •Assisted. Agents work alongside your team. They read the whole stack, show what needs doing and propose every fix with a receipt; any change to an advertiser-facing report or invoice always go to a named approver.
  • •Autonomous, under your governance. Routine work runs on its own: every impression partition is checked against the ad server's own totals as it lands, delivered and billed are reconciled every morning, and new advertisers get clean-room access the day the deal closes. Your team governs the agents instead of doing the upkeep.
  • •The agentic enterprise. The engineering weeks that went to backfills and reconciliation, spent instead on new measurement products advertisers will pay for. People set direction, and the platform carries it out.

You choose the altitude, every step is visible and reversible, and the pilot below is the first rung.

The pilot: how ads data mart and measurement teams start

The pilot is how your team proves the value on its own data before committing.

  • •What we connect. Kafka or Kinesis impression streams; Snowflake, BigQuery or Databricks; dbt; Airflow; AWS Clean Rooms, Snowflake or LiveRamp clean rooms; billing systems, over MCP, inside your infrastructure. Nothing migrates.
  • •Scope. Daily delivered-vs-billed on one product line at L2.
  • •First week. Agents run at L1 across the scoped domain. They map every pipeline, definition and lineage path and show the fixes they would have made, with receipts, so your team sees the value before anything changes.
  • •By week two. Every impression partition is checked against the ad server's own totals as it lands and delivered and billed are reconciled every morning start running on reversible work. Any change to an advertiser-facing report or invoice stay at L2 with a named approver.
  • •At day 30. We review the impact metrics against your baseline:
  • •Delivered vs billed reconciled: from about a month to 8-15 min
  • •Clean-room partnership live: from about a week to 5 min
  • •Match-rate drop traced: from about 3 days to 8-15 min
  • •the share of sandbox and cost cleanup closed autonomously, targeting 88% as the deployment matures
  • •What you decide. Whether to expand to the next domain. The pilot fee is credited in full against the first year.
  • •Cost. Start with a pilot ($7,500 one-time, credited in full against the first year). Scale is from $1,000 a month and Enterprise from $3,000 a month, billed annually, with unlimited seats, no usage meter and no markup on model spend. See pricing.

The pilot is the start of a longer curve:

Share of agent actions by autonomy rung over the first twelve months for an ads data mart team. Every deployment starts at L1 and moves up only on evidence. Illustrative.
Fig. 8:Share of agent actions by autonomy rung over the first twelve months for an ads data mart team. Every deployment starts at L1 and moves up only on evidence. Illustrative.

By month 12, more than 46% of agent actions run fully autonomously and manual work falls below 10%, while advertiser-facing changes stay with a named approver.

FAQ

Does it replace our clean room? No. It handles access, templates and PII checks around it.

Will agents change advertiser reports? Only at the level you set; most teams keep them at L2.

Does it handle streaming? Yes, with the Real-Time Streaming agent.

Where do the agents run? In your infrastructure, with your credentials and model key. The hosted Conductor sees workflow metadata only.

Do we have to migrate anything? No. Your warehouse, dbt project, orchestrator, catalog and BI stay where they are.

Sources

  • •Netflix, PM Ads Platform – Data Clean Room Measurement: https://explore.jobs.netflix.net/careers/job/790312971851-product-manager-ads-platform-data-clean-room-measurement-new-york-new-york-united-states-of-america?domain=netflix.com&microsite=netflix.com
  • •Disney, PM II Ads Targeting & Measurement: https://www.disneycareers.com/en/job/glendale/product-manager-ii-ads-targeting-and-measurement/391/96569904736
  • •PPC Land, Amazon Marketing Cloud: https://ppc.land/amc/
  • •Data Workers pricing: https://dataworkers.io/pricing/
  • •Data Workers open-source repository (tool registrations): https://github.com/DataWorkersProject/dataworkers-claw-community
  • •Snowflake, managed MCP server and Cortex Agents GA release note (Nov 4, 2025): https://docs.snowflake.com/en/release-notes/2025/other/2025-11-04-cortex-agents-mcp
  • •Databricks, Genie One launch (Jun 16, 2026): https://www.databricks.com/company/newsroom/press-releases/databricks-launches-genie-one-all-new-agentic-coworker-every-team