> ## Content Index
> Fetch the complete content index at: https://www.martechtherapy.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Which context wins when two systems disagree about your customer?
- URL: https://www.martechtherapy.com/which-context-wins-when-two-systems-disagree-about-your-customer/
- Published: 2026-08-24T05:57:49.000Z
- Updated: 2026-08-24T05:57:49.000Z
- Description: Two systems calculate lifetime value differently and nobody has said which counts. I tried to score that in my context audit and broke my own rubric.
- Author: Matthew Niederberger
- Tags: Contextual CDPs

Back in June, while writing about [composable CDPs](https://www.martechtherapy.com/tag/composable-cdp/), I asked a question and then, like a distracted person, walked straight past it.

> When two systems disagree about something like a customer's email opt-in status, which value wins, and is that rule written down anywhere?

I gave it one line of answer. In packaged systems the vendor sorts it out for you, in composable systems the work goes to your data team. Both true, but neither one tells you which number is right. That has bothered me on and off ever since.

[Composable CDP, translated for marketersComposable CDP hands marketers a finished system and walks away. Four questions to ask before the architecture decision is locked in.![](https://storage.ghost.io/c/57/c5/57c5ffb5-ecd9-4bf6-b870-68986d981176/content/images/icon/Martech-Therapy-Icon-Only-Square-a248ba57-69ce-4870-a585-abb91b4ab9a4.png)Martech Therapy: CDP strategy and agentic AIMatthew Niederberger![](https://storage.ghost.io/c/57/c5/57c5ffb5-ecd9-4bf6-b870-68986d981176/content/images/thumbnail/Composable-CDP-translated-for-marketers-33d521ce-f663-4c63-b6a1-d9828b91920f.png)](https://www.martechtherapy.com/composable-cdp-translated-for-marketers/)

**The piece that question came from* ⬆

During the summer, well, this month actually, two announcements sent me back to to that question.

[Treasure AI started publishing CDP data as Apache Iceberg](https://www.treasure.ai/blog/open-catalog-access?ref=martechtherapy.com) tables that Snowflake, Databricks and BigQuery can query without copying anything out. [Hightouch published an argument that the context your agents run on belongs in systems you control](https://hightouch.com/blog/composable-context?ref=martechtherapy.com) rather than inside somebody else's platform. 

One is a packaged CDP opening its box. The other, from the composable end, says don't use a box. Which to be fair, they have always been preaching.

What they share is the pressure they're answering, which is buyers who have stopped letting one company hold the thing their agents depend on.

Look, both of those are about *whether you can get to your context*. Neither is about *which version of it to believe* when two of them disagree.

So I went looking at what sits underneath all this.

Honest caveat before going further, because a month ago I could've told you Apache Iceberg exists and nothing else. Catalogs, table formats, lineage, the concepts are familiar enough. The named projects are the new part, and so is the state each one's actually in, so everything below about specifications comes from going and looking at them rather than from having run one.

The plan was to come back and add a column to the context audit. I came back having broken it.

[The Context AuditA follow-up to the follow-up. My last piece explaining “what the context layers has to do” argued that customer state has to be Queryable, Addressable, Current, and Accountable if agents are going to act on it in real time. It ended pointing at a one-page audit and![](https://storage.ghost.io/c/57/c5/57c5ffb5-ecd9-4bf6-b870-68986d981176/content/images/icon/Martech-Therapy-Icon-Only-Square-ebda17c5-ab0f-4c20-936d-e42e0dbb62e5.png)Martech Therapy: CDP strategy and agentic AIMatthew Niederberger![](https://storage.ghost.io/c/57/c5/57c5ffb5-ecd9-4bf6-b870-68986d981176/content/images/thumbnail/the-context-audit-4c1c0636-da7a-4a01-adf2-ea3ba8bb0e47.png)](https://www.martechtherapy.com/the-context-audit/)

**The audit this is about, if you want the original* ⬆

## What the standards actually cover

The audit I created, scored four properties per workflow, to check whether they are:

- **Q**ueryable
- **A**ddressable
- **C**urrent
- **A**ccountable

No fancy acronym for this I'm afraid. 😅

Score three workflows and most teams come out the same way, fine on the first two and badly on the last two. As I said at the time, the first two are the ones vendors sold them, which turns out to be about half the story.

Queryable and addressable stopped being products at some point and became public interfaces. Apache Iceberg defines how a table is laid out. The Iceberg REST Catalog defines how any engine finds that table and loads it. Databricks Unity Catalog, Snowflake Horizon, AWS Glue and Google Lakehouse all speak that specification today, and Apache Polaris implements it independently, with committers from Google, Microsoft, AWS, Dremio, Confluent and Snowflake. Sounds like a fraternity at this stage.

So if someone's quoting you for the reach half of a context layer, *they're quoting you for their implementation of a *public API**. Worth knowing before you see the number.

One caution, though, before you get comfortable with any of that.

Databricks makes Iceberg tables held in an outside catalog read-only and publishes the list of what doesn't work on them, while AWS runs its own extensions alongside the standard paths. Nobody is lying about supporting the specification. You will still meet the gaps in a migration estimate rather than on a datasheet.

Like anything Martech related, the devil is in the details.

Now look at who does the work. Apache holds Iceberg and Polaris. The [Linux Foundation](https://www.linuxfoundation.org/?ref=martechtherapy.com) holds [Model Context Protocol](https://modelcontextprotocol.io/docs/2026-07-28/getting-started/intro?ref=martechtherapy.com) and the Open Data Contract Standard. Those are *real protections* against one company changing the rules on you later. 

They're also staffed almost entirely by the data platform companies, so what got standardized is what those companies needed standardized. Nobody in that room needed your particular problem solved.

Now, let's get practical.

## The number that has two answers

Here's an example scenario I keep running into and discussing with clients.

A company has two places that both calculate customer lifetime value. Maybe the warehouse team built one and the CDP calculates another. Maybe an acquisition arrived with its own. One nets off returns and the other doesn't.

Both are defensible.

They disagree by twenty percent.

Nobody has said which one counts.

An agent picks the audience for a win-back offer and needs lifetime value to work out who is worth a discount. It uses one of those two numbers.

Which one?

Whichever the engineer who wrote that service happened to point it at, working alone, with nobody in the room.

> Two systems can both be queryable, addressable, current and accountable, and still disagree about your customer.

My friend, [Ana Mourão](https://www.linkedin.com/in/anamourao/?ref=martechtherapy.com), told me last year:

> There's no glamour in governance.

Was she talking about this?

Not specifically, but it's the same shape of decision. Nobody schedules a meeting about which lifetime value is the real one, so whoever needs it first picks one, and that's the answer from then on.

To be fair, there's an objection here that I have made myself.

In the [first Contextual CDPs piece](https://www.martechtherapy.com/tag/contextual-cdp/) I argued the customer profile is no longer a single source of truth but a fluid, situation-dependent construct, and I still think that. Naming an authoritative system for one fact is a narrower move than rebuilding the golden record. It is per fact, per decision, and reversible, which is exactly what makes it worth doing.

## I tried to make it a fifth column

The instinct was to bolt this onto my context audit.

Four properties, now five, same page, same zero-to-two score. Then the rubric wouldn't sit in the table.

Honestly, that annoyed me more than it should have.

Three things went wrong.

The other four are scored per workflow. This one is a property of a fact rather than a workflow, so the win-back example needs two rows in one cell: lifetime value owned in one place, last order date owned in another.

Then there's the point of the June instrument, which was that three workflows reveal a pattern. *Precedence doesn't vary between workflows*. Whoever owns lifetime value owns it for the re-engagement email too, so you run it three times and write the same answer three times.

And the third one is why the first two happen. The four properties all measure whether context reaches the workflow. This measures which context deserves believing, and that isn't a question about the layer at all.

I published that audit in June and said it was small enough to run in ten minutes and useful enough to act on. I still think both of those are true.

So what was I measuring?

Whether the context arrives. Not whether it should be believed when it does, which is the thing that decides what your agents actually do, and I didn't notice for two months.

![](https://storage.ghost.io/c/57/c5/57c5ffb5-ecd9-4bf6-b870-68986d981176/content/images/2026/08/context-01-what-you-get-help-with.svg)

## A reporting line, not a property

So who does decide?

Not a system, and not a specification either.

Whether the warehouse number or the CDP one is authoritative depends on who at your company has the standing to say so, and that differs at every company and changes when the reporting lines change.

This is Conway's Law again, the old observation that systems come out shaped like the group that built them. No file format is going to carry that for you. My audit rubric can't either, because a rubric only scores something that already exists.

You can watch the specification authors hit the same wall. The [Open Data Contract Standard](https://bitol-io.github.io/open-data-contract-standard/?ref=martechtherapy.com) gets closest, and it's the one piece of this terrain with any real time behind it, so I'll say plainly that it works. It has sections for the team, the roles, data quality and service levels, and freshness commitments go in there and hold. But a data contract is one producer's promise about one dataset. Nothing in it compares two producers who both claim to know your customer's lifetime value. (There is a field called *authoritativeDefinitions*, which sounds like exactly the answer and is a list of links to documentation.)

The Iceberg maintainers have an open issue about the same hole, asking for a way for a catalog to say who owns a table and how it's classified. It's been open since March.

In the meantime, the issue notes, catalogs fall back on vendor-specific extensions that open-source engines can't consume. *Everybody is solving it privately, and nobody is sharing what they came up with*. Yep, silo's.

[What does the context layer actually have to do?Queryable, addressable, current, accountable. Four things the layer of customer state has to deliver if AI agents are going to act on it in real time. A follow-up to the six-part Contextual CDPs series, written a year on, now that the industry has caught up to the language.![](https://storage.ghost.io/c/57/c5/57c5ffb5-ecd9-4bf6-b870-68986d981176/content/images/icon/Martech-Therapy-Icon-Only-Square-a7d99dc0-b953-4297-8792-d437ad0418ee.png)Martech Therapy: CDP strategy and agentic AIMatthew Niederberger![](https://storage.ghost.io/c/57/c5/57c5ffb5-ecd9-4bf6-b870-68986d981176/content/images/thumbnail/What-does-the-context-layer-actually-have-to-do-95a5a157-2170-4fc9-9e83-b1a3c0e42cb3.png)](https://www.martechtherapy.com/what-does-the-context-layer-actually-have-to-do/)

**Where the four properties came from* ⬆

## What I would actually do about it

Three things.

Ask anyone pitching you a context layer:

> What happens when their number disagrees with the one in your warehouse.

The specification question, which of these do you support, has an answer sitting on a datasheet. The other one doesn't, and watching someone work it out live tells you whether they have ever had to. This is very revealing

Then trace one decision. I mean one, not a sweep. Pick a live workflow, work out which system the number it uses actually comes from, and write it down. You'll need two people to answer that and one of them will have to go and look, so it isn't the ten-minute job the June audit was. Give yourself permission to write down a provisional answer with a date on it. "As of today this pulls the warehouse model, nobody ratified that" is a real finding. But beware, if you wait for someone with authority to declare a winner, you'll write nothing at all.

And before you start, *work out who you're handing it to*. This is the part I'd have skipped a year ago.

Run this across three workflows and you end up holding a document showing that customer-facing discount logic has no owner, and *in most companies the person who surfaces that inherits it*.

So agree the destination first, whether that's the data lead, the workflow owner, or whoever owns the P&L the metric feeds.

I don't think a standard solves this, and I'm not sure a framework does either, including mine. It gets solved by somebody with the standing to do it saying that this number wins and that one doesn't.

Smaller job than architecture, and considerably more annoying.

![](https://storage.ghost.io/c/57/c5/57c5ffb5-ecd9-4bf6-b870-68986d981176/content/images/2026/08/context-02-what-travels-1.svg)

## Download the Context Audit Worksheet

To help you get started, I have created a one-sheet PDF to guide you through the exercise of auditing your context that includes the question of which sources leads when multiple are available.

Nothing fancy, but better than nothing. Download it today ⬇️

[Free Context Audit WorksheetA blank one-page worksheet for scoring what context a martech workflow can actually reach, and which system wins when two of them disagree.![](https://storage.ghost.io/c/57/c5/57c5ffb5-ecd9-4bf6-b870-68986d981176/content/images/icon/Martech-Therapy-Icon-Only-Square-c0d2b8b2-c013-4317-9b55-477ec8f6d7e9.png)Martech Therapy: CDP strategy and agentic AIMatthew Niederberger![](https://storage.ghost.io/c/57/c5/57c5ffb5-ecd9-4bf6-b870-68986d981176/content/images/thumbnail/context-audit-worksheet-79064210-53a4-483e-9927-b4f225b1ac99.png)](https://www.martechtherapy.com/context-audit-worksheet/)

Do you have any questions after reading this article?  
Or need support with your Martech projects?

[Contact me today >> ](https://www.linkedin.com/in/matthewniederberger/?ref=martechtherapy.com)