A buyer-ready framework for defining what a customer experience platform must do—before product packaging, category labels, and feature checkboxes blur the requirements.
Two customer-experience platforms can place a tick beside the same feature and mean very different things.
Both may claim identity resolution. One may link only deterministic identifiers supplied in an event stream; another may support configurable matching and reconciliation across multiple sources. Both may claim real-time audiences. One may update membership as events arrive; another may recalculate on a scheduled warehouse query. Both may claim activation. One may export audience membership every few hours; another may serve a decision inside a web request. Both may claim measurement. One may report sends and clicks; another may join assignment, decision, exposure, cost, and an authoritative business outcome.
The checkbox is the same. The contract is not.
This is why product-category comparisons often fail serious buyers. Labels such as CDP, customer experience platform, engagement platform, journey platform, product analytics, composable CDP, and data cloud overlap. Vendors expand into adjacent capabilities, rename features, integrate acquired products, and package different editions under one brand. A category can help create a shortlist, but it cannot define the operating system an organisation needs.
A capability map begins elsewhere. It asks:
- What responsibility must exist?
- What enters and leaves it?
- Which state does it own or serve?
- How fast and fresh must it be?
- Which policies must it enforce?
- How does it fail safely?
- What evidence proves that it operated correctly?
- Who owns the result when several systems participate?
This article turns Ciqor’s vendor-neutral reference architecture into a buyer’s capability map. It uses the same 12 logical layers, from sources and collection through decisions, delivery, measurement, and learning. The layers are responsibilities, not a prescription for 12 products. One platform may cover several. Several systems may share one. Some use cases may not need every layer in the same form.
The purpose is separation before selection. If a buyer cannot describe the capability independently of a product name, the product will quietly define the requirement.

A capability map is not a product map
A capability is an enduring responsibility the organisation needs to perform. A product is one possible packaging of responsibilities. A feature is a product-specific mechanism. A component is a deployable implementation. An integration is a contract between implementations.
Confusing these levels creates false equivalence.
| Level | Useful question | Example | What goes wrong when it is confused |
|---|---|---|---|
| Business capability | What outcome must the organisation be able to produce repeatedly? | Select an eligible next action and record why | A vendor feature becomes the requirement before the decision is defined |
| Logical responsibility | What bounded work must happen? | Resolve permitted identifiers under versioned rules | Several distinct responsibilities are hidden inside “customer 360” |
| Interface contract | What inputs, outputs, time, policy, and failure behaviour connect responsibilities? | Context request → decision or safe fallback within a declared budget | A diagram shows arrows without ownership or service levels |
| Implementation | Where and how is the responsibility executed? | Packaged service, warehouse job, stream processor, API, or custom code | Architecture debates begin with deployment fashion rather than need |
| Product feature | Which documented mechanism supports part of the implementation? | Streaming audience evaluation, reverse ETL sync, merge policy, or journey step | Similar feature names are treated as equivalent without testing scope |
| Operational evidence | What proves the configured system works in this organisation? | Trace, log, reject count, version, latency distribution, replay, or exposure record | “Supported” is accepted as though it means configured, observed, and owned |
The capability map should remain stable longer than a product inventory. Products and names will change. The need to validate an event, preserve authoritative history, resolve identity carefully, enforce eligibility, record exposure, or propagate a rights request will not disappear because packaging changes.
Vendor-neutrality does not mean pretending vendors are identical. It means evaluating their documented and demonstrated differences against a requirement that was defined first.
Method: definitions first, evidence second
This capability map is a Ciqor synthesis, not an external standard and not a market-ranking exercise. The conceptual model was defined first and then checked against current first-party documentation from different platform traditions.
The evidence review included documented patterns from:
- Adobe Experience Platform, including collection, schemas, identity, profile, audiences, governance, destinations, and observability;
- Salesforce Data 360, including ingestion, data-model mapping, identity resolution, calculated insights, segmentation, activation, and governance;
- Twilio Segment, including event contracts, Protocols, Unify, audiences, journeys, destinations, and reverse ETL;
- Tealium AudienceStream, including visitor attributes, stitching, audience evaluation, and connector triggering;
- mParticle, including collection, data quality, IDSync, profiles, audiences, privacy, and outputs;
- RudderStack, including event pipelines, tracking plans, warehouse-native profiles, audiences, activation, consent, and monitoring;
- Snowplow, including trackers, collection, schema validation, enrichment, good/bad streams, storage, modeling, and real-time context;
- Amplitude, including event taxonomy, behavioral analysis, user stitching, governance, cohorts, and destination syncs;
- Mixpanel, including events, user profiles, query-time joins, cohorts, analysis, and Lexicon governance;
- Hightouch, including warehouse-based models, identity resolution, audiences, reverse ETL, real-time personalization, journeys, decisioning, and governance;
- Databricks, including durable data, batch and streaming processing, serving, access control, lineage, and operational governance; and
- Snowflake, including governed data processing, freshness targets, incremental change, access control, and monitoring.
These sources demonstrate that the capabilities can appear in packaged CDPs, analytics products, data clouds, warehouse-native services, and open-data infrastructure. They do not prove that every platform implements each responsibility, that similarly named features are equivalent, or that one packaging model is universally preferable.
Product availability, editions, limits, and terminology change. This article therefore keeps vendor mapping out of the core capability dictionary. Any future vendor appendix should be separately dated, sourced at the row level, and open to factual correction.
The capability contract buyers should use
Every capability should be described with the same minimum contract:
- Definition: the responsibility and its boundary;
- Input: the information, state, instruction, or policy it receives;
- Output: the result and evidence it produces;
- SLO: latency, freshness, availability, completeness, and recovery expectations;
- Owner: the business and technical accountability;
- Policy: identity, purpose, access, retention, content, and risk constraints;
- Failure behaviour: reject, quarantine, retry, default, suppress, reconcile, or stop;
- Evidence: the records that prove execution and explain change; and
- Common confusion: the adjacent capability it should not silently absorb.
The point is not to create paperwork for every connector. The point is to reveal the assumptions that otherwise become incidents.
The 12-layer capability dictionary
This is the compact buyer’s view. The sections that follow explain the boundaries and evidence in more detail.
| Layer | Definition | Primary input | Required output | SLO focus | Likely owners | Minimum evidence | Common confusion |
|---|---|---|---|---|---|---|---|
| 1. Sources and experience surfaces | Observe business/customer state and render or send experiences | Human, device, operational, partner, and channel activity | Authoritative state change, observed signal, or rendered experience | Source availability; timestamp quality; delivery response | Product, channel, domain-system owners | Source ID, event time, authority, delivery/render result | Treating intent signals as outcomes or every source as equally authoritative |
| 2. Collection and edge | Capture and transport observations from web, app, server, device, file, and partner interfaces | Raw interaction or system payload | Candidate event with identifiers, context, timestamps, and collection status | Capture latency; offline buffering; loss/duplicate rate | SDK, application, data-collection teams | SDK/config version, request ID, receipt, retry/drop reason | Assuming collection guarantees semantic validity or durable storage |
| 3. Gateway, contracts, and policy enforcement | Authenticate producers; validate, minimise, classify, transform, and route under policy | Candidate event plus schema and policy context | Accepted, redacted, transformed, rejected, or quarantined event with reason | Validation latency; reject accuracy; policy availability | Platform, data governance, privacy/security engineering | Schema version, policy decision, transformation, acceptance state | Treating an API endpoint as a governed contract |
| 4. Event backbone and integration | Buffer, partition, order within a declared boundary, distribute, replay, and isolate consumers | Qualified event or integration message | Durable stream/message for authorised consumers | Throughput; lag; retention; replay time; consumer isolation | Streaming/integration platform teams | Offset/sequence, partition, delivery attempts, dead-letter state | Treating transport as system of record or promising global exactly-once outcomes |
| 5. Durable history and systems of record | Preserve events, transactions, reference data, and authoritative business state with provenance | Qualified events and domain records | Reconstructable history and governed current state | Completeness; freshness; retention; recovery; queryability | Domain, data-platform, records owners | Source/effective time, lineage, version, reconciliation, deletion/exception state | Calling one profile the universal source of truth |
| 6. Identity, entity, and profile context | Associate identifiers under governed rules and serve bounded entity context | Identifiers, relationships, attributes, recent events, permissions | Links with provenance plus time-aware profile/context view | Match quality; profile freshness; lookup latency; rebuild time | Identity, data platform, privacy, domain teams | Namespace, rule/version, link/split reason, source, TTL, confidence where used | Collapsing identity resolution, golden-record selection, and profile serving |
| 7. Analytics, semantics, and knowledge | Define reusable metrics, dimensions, features, models, and analytical context | Governed history, entity context, business definitions | Versioned measures, features, insights, and supporting lineage | Data/feature freshness; reproducibility; query performance | Analytics, data science, semantic/governance teams | Definition, grain, owner, code/model version, tests, lineage | Treating a dashboard calculation as a reusable governed definition |
| 8. Audiences, eligibility, and constraints | Compute reusable populations and apply current permission, suitability, inventory, risk, and contact constraints | Profiles/entities, events, features, policies | Membership or eligible candidate set at an evaluation time | Evaluation delay; membership freshness; exclusion correctness | CX/marketing operations, privacy, domain-policy owners | Definition/version, evaluated-at time, membership change, exclusions | Treating audience membership as the final interaction decision |
| 9. Decisioning and experimentation | Select, rank, suppress, or choose no action among eligible options | Request context, eligible candidates, constraints, policy/model | Decision or safe fallback with reason and experiment assignment | End-to-end decision latency; availability; policy/model freshness | Decisioning, product/CX, experimentation teams | Candidate/exclusion set, chosen action, reason, versions, assignment, latency | Treating ranking as orchestration or reporting association as incrementality |
| 10. Journey and workflow orchestration | Coordinate stateful steps, waits, conditions, approvals, retries, and channel actions over time | Events, audience changes, decisions, workflow state | Versioned state transition and requested action | Trigger delay; timer accuracy; retry/recovery; concurrency | Journey operations, business process, platform teams | Journey version, state, trigger, branch, suppression, retry, approval | Treating a visual flow as the owner of identity, consent, or decision logic |
| 11. Activation and delivery | Move audiences/data/instructions and render or send through an execution destination | Audience, profile attribute, decision, content/instruction | Destination acceptance plus delivery/exposure evidence where observable | Sync freshness; match rate; send/render latency; failure/retry | Channel, activation, integration, campaign teams | Payload/content version, destination, match/reject, delivery/exposure, cost | Equating export, acceptance, delivery, and exposure |
| 12. Measurement and learning | Connect assignment, decision, exposure, outcome, cost, harm, and failure under declared rules | Evidence from decisions/delivery plus authoritative outcomes | Operational measures, descriptive insight, causal estimate where designed, and governed feedback | Join quality; outcome delay; metric freshness; reproducibility | Analytics, experimentation, finance/domain owners | Correlation IDs, windows, identity rules, metric version, control design | Calling post-exposure conversion causal impact or omitting negative evidence |
Layer 1: Sources and experience surfaces
This layer establishes what happened and where an experience can be delivered. It includes websites, applications, commerce and order systems, CRM and service platforms, point-of-sale systems, ad and messaging platforms, call-centre interfaces, connected devices, warehouses, partner feeds, and other operational sources.
The buyer’s first question should not be, “Is there a connector?” It should be, “What does this source know authoritatively?”
A browser can record a product view. It cannot prove that an order was paid. A journey tool can record that it requested an email. It cannot prove that the mailbox provider delivered it. An ad platform can report a matched audience or attributed conversion, but that may not replace an organisation’s order, cost, or experiment records. Authority belongs to a business event and ownership boundary, not to whichever system is easiest to query.
Surfaces also need to return evidence. A decision delivered to a website is not an exposure until the relevant component renders it and records that fact. A payload sent to a call-centre interface is not useful if the agent never sees it. Buyers should test both directions: signals leaving the surface and delivery evidence returning from it.
Evidence to request: a source register; authority by event and attribute; client/server timestamp rules; source and SDK versions; offline and late-arrival handling; duplicate semantics; delivery/render evidence; and a named owner for each critical source.
Failure to expose: source unavailable, client clock wrong, offline event delayed, duplicate submission, partial transaction, channel accepted but did not deliver, and a source replay after a privacy or retention action.
Layer 2: Collection and edge
Collection captures observations through SDKs, APIs, tag-management rules, server libraries, pixels, edge nodes, files, webhooks, or connectors. Its responsibility is reliable acquisition—not automatic truth.
Snowplow’s documented pipeline separates trackers and collection from downstream validation and enrichment. Twilio Segment Protocols similarly distinguishes event collection from conformance to a tracking plan. The products differ, but the boundary is useful: receipt of a payload does not establish that the event is semantically valid, permitted, unique, or authoritative.
A collection contract should specify the required identifiers, event and receipt times, context, source, schema reference, applicable purpose or preference metadata, SDK/configuration version, request identifier, and transport result. It should define whether events are buffered offline, retried, sampled, batched, compressed, or dropped. It should also reveal which fields are created automatically by the collector and which come from the application.
“Server-side” is not an assurance by itself. Server-side collection can improve control and reduce dependence on a browser, but it can also forward excessive or incorrectly classified data with greater reliability. The same minimisation, purpose, schema, and evidence questions still apply.
Evidence to request: a live network or API trace; SDK initialization and consent state; offline/retry demonstration; version/change history; duplicate test; payload-size and throughput limits; regional routing; and proof of what is stored before validation.
SLOs to separate: capture latency, receipt availability, event-loss rate, duplicate rate, configuration propagation, and time from application release to verified collection. None of these is the same as profile or audience freshness.
Layer 3: Gateway, contracts, and policy enforcement
The gateway is where a candidate payload becomes a qualified event—or does not.
It authenticates the producer, selects the contract, validates required structure and types, applies allow/deny or minimisation rules, classifies sensitive fields, normalises bounded values, and routes the result. Its output should be an explicit state: accepted, accepted with transformation or redaction, rejected, or quarantined. Silent dropping is operationally convenient and analytically dangerous.
Snowplow documents validation against versioned schemas and separation of failed events. Segment Protocols documents tracking plans, violations, blocking, quarantine-style forwarding, and transformations. These examples show why “we have an ingestion API” is weaker than “we have an enforceable event contract with observable outcomes.”
Transformations deserve particular scrutiny. Fixing a name or reshaping a field can protect downstream systems, but a transformation may also alter meaning or destroy the original payload. Segment’s transformation documentation explicitly notes scope and recoverability considerations. Buyers should ask whether the original is retained, where, for how long, under which access restrictions, and whether replay uses original or transformed data.
Policy enforcement must be executable, not a slide. If a purpose, permission, region, contract version, sensitive-data rule, or source status changes, the gateway should have a defined propagation time and safe behaviour when policy cannot be evaluated.
Evidence to request: contract registry; schema compatibility rules; producer authentication; field classification; transformation history; reject/quarantine samples; policy decision and version; replay behaviour; and metrics for violations by source and release.
Failure to expose: unknown schema, incompatible version, unauthenticated producer, excessive sensitive data, invalid identifier, policy service unavailable, transformation conflict, and poison event.
Layer 4: Event backbone and integration
The event backbone decouples producers from consumers. It buffers bursts, partitions work, preserves ordering within a declared key and boundary, allows several consumers to progress independently, and enables replay within a retention window. Integration services may also translate between event, API, file, and application-specific interfaces.
This layer is commonly over-claimed. A transport can provide strong delivery or transactional guarantees inside its own boundary; it cannot guarantee exactly-once business outcomes across arbitrary external systems. A consumer may write twice, an API may time out after accepting a request, or a destination may apply a side effect before the acknowledgement is lost. The end-to-end design still needs idempotency keys, deduplication, reconciliation, and observable retries.
The event backbone is also not automatically the durable business record. Its retention may be intentionally bounded. Events may be compacted. Payloads may be transformed for consumers. The authoritative order, case, contract, or consent record can remain in a domain system, while the backbone distributes change.
Evidence to request: topic/stream ownership; partition and ordering keys; retention and replay boundaries; schema compatibility; consumer lag; dead-letter or quarantine strategy; access controls; region and recovery model; idempotency contract; and a replay exercise that does not duplicate external effects.
SLOs to separate: producer acknowledgement, publish-to-consume latency, backlog recovery, replay completion, availability, and consumer freshness. A healthy broker does not prove that a downstream audience, profile, or destination is current.
Layer 5: Durable history and systems of record
Durable history preserves events and state so the organisation can reconstruct, reconcile, analyse, correct, and learn. Systems of record own authoritative business state within a domain: an order, contract, case, entitlement, payment, inventory position, preference, or another governed entity.
There does not need to be one universal system of record for “the customer.” Authority can be attribute- and event-specific. CRM may own an account assignment, commerce may own an order, a preference service may own current communication choices, and a lakehouse may preserve the complete event history with lineage. A profile can serve selected values from all of them without becoming authoritative for every source fact.
Salesforce Data 360’s documented architecture distinguishes ingested objects, mapped data-model objects, identity-derived unified profiles, calculated insights, and activation. Databricks describes ingestion, refinement, and serving as different logical stages with schema enforcement and governance. These are different implementations, but both illustrate why raw, harmonised, derived, serving, and authoritative states should not be collapsed into one box.
Durability also needs time semantics. A buyer should ask whether the system preserves event time, receipt time, effective time, processing time, correction time, and deletion or suppression state. An update that overwrites a value may be appropriate for operational serving but insufficient for audit, point-in-time analysis, or model training.
Evidence to request: source-to-record lineage; event and entity grain; authoritative owner by field/event; immutable and mutable histories; schema evolution; late and corrected records; retention; backup and recovery tests; reconciliation with domain totals; and rights/exception workflows.
Failure to expose: late order, refund after attribution window, source correction, schema evolution, duplicate transaction, replay, regional outage, restore from backup, and deletion that must not be reversed by later re-ingestion.
Layer 6: Identity, entity, and profile context
This layer contains three adjacent responsibilities that buyers should still test separately.
- Identity resolution decides whether identifiers or records may be associated under defined rules.
- Entity modeling defines whether the subject is a person, account, household, device, subscription, organisation, product, or another business entity—and how those entities relate.
- Profile/context serving supplies a bounded, time-aware view to analysis, audiences, decisions, or applications.
A platform can be strong in one and limited in another.
Salesforce documents configurable match and reconciliation rules while preserving links to source records. Tealium documents anonymous and known visitor profiles and the conditions under which profiles are stitched. mParticle documents profiles identified by an internal MPID, containing identifiers, attributes, device information, and associated event history. RudderStack Profiles documents warehouse-based identity graphs and feature tables. These are not equivalent mechanisms. They demonstrate why a buyer must inspect rules, provenance, rebuild, serving, and entity scope rather than accept “unified profile.”
Identity is a policy decision as well as a matching operation. The system should record namespaces, source, link rule, rule version, effective time, evidence, and confidence where probabilistic methods are used. It needs protections against shared devices, recycled identifiers, household/person confusion, corporate domains, bad source keys, and high-cardinality “superclusters.” It also needs a way to correct false merges and false splits without silently rewriting evidence.
The profile is a serving view, not necessarily a complete history. Every important attribute should expose source, derivation, effective time, freshness, privacy classification, and time-to-live. A low-latency profile lookup can be valuable for interaction decisions, but the response should be bounded to what the use case needs. Returning every known attribute increases latency, access, and misuse risk.
Evidence to request: namespace registry; match and merge rules; reconciliation/precedence rules; graph statistics; false-merge/split tests; shared-identifier controls; profile schema; attribute provenance; point-in-time behaviour; lookup latency; freshness; TTL; deletion/suppression; and full graph rebuild procedure.
SLOs to separate: identity-link processing time, graph rebuild time, profile update freshness, profile lookup response, and correction propagation. “Real-time identity” is meaningless unless the specific operation and boundary are named.
Layer 7: Analytics, semantics, and knowledge
This layer turns governed data into reusable meaning. It includes metrics, dimensions, derived attributes, features, models, taxonomies, semantic definitions, analytical views, and documented business knowledge.
An analytics product can compute a report without owning the enterprise definition of the metric. A data warehouse can store a metric table without making the definition understandable or reusable. A model can produce a score without making its training data, features, version, performance, and appropriate use visible. The capability is not “we have dashboards” or “we have AI.” It is the ability to produce consistent, traceable, decision-relevant meaning.
Amplitude’s taxonomy guidance begins with business objectives, metrics, events, properties, and naming. Mixpanel’s documented event/profile model distinguishes event data from mutable profile state and describes query-time joins. Databricks Unity Catalog documents access control, discovery, lineage, auditing, and classification across data and AI assets. These examples show that analytics, semantic control, and operational governance overlap but are not the same responsibility.
Every reusable measure or feature should have a name, definition, grain, population, source, transformation, owner, tests, version, effective date, and applicable time semantics. If “customer lifetime value” is computed differently in analytics, audiences, and decisioning, the organisation does not have one capability implemented three times; it has three definitions competing under one name.
Evidence to request: metric/feature catalog; semantic definitions; source-to-output lineage; code/model version; quality tests; point-in-time correctness; training/serving consistency where relevant; access policy; usage history; and retirement/change process.
Failure to expose: upstream field changes, late data, metric redefinition, backfill, feature staleness, model rollback, unauthorised sensitive feature, and dashboard/profile numbers that disagree because their grains differ.
Layer 8: Audiences, eligibility, and constraints
An audience is a reusable population: profiles or entities that met defined conditions at an evaluation time. Eligibility asks whether an action or item is permissible and suitable now. Constraints include purpose and permission, channel availability, inventory, geography, risk, frequency, fatigue, product rules, contractual restrictions, and content suitability.
These responsibilities are related, but audience membership is not the final interaction decision.
Twilio Segment distinguishes an audience—a changing group of users who share conditions—from a journey that coordinates steps over time. Tealium documents audience evaluation after visitor-profile enrichment and connector triggers when membership changes. Amplitude documents on-demand, scheduled, and near-real-time cohort sync patterns. These patterns make one buyer question unavoidable: when, exactly, was membership computed, and when did the destination receive the change?
An audience can be correct when computed and stale at the moment of use. A customer may purchase, withdraw permission, exhaust a frequency cap, change region, or become ineligible after entering the audience. For a scheduled campaign, re-evaluation before send may be sufficient. For an in-page offer, current constraints may need evaluation inside the decision request.
Buyers should also distinguish the audience definition, the membership state, the destination’s received membership, and the destination’s usable/matched population. These counts can differ legitimately. They need reconciliation, not one misleading “audience size.”
Evidence to request: audience definition and version; evaluation mode; evaluated-at time; membership-change log; dependency freshness; permission/purpose checks; exclusion reasons; destination sync schedule; match/reject counts; re-entry/exit semantics; and backfill behaviour.
Failure to expose: stale permission, recent purchase, no inventory, conflicting audience, late warehouse update, destination rate limit, removal not processed, and a profile that qualifies for mutually exclusive treatments.
Layer 9: Decisioning and experimentation
Decisioning selects what should happen now. It takes the current request context, an eligible action or content set, policies and constraints, a ranking method, and a fallback. It returns a selected action—or an explicit no-action or fallback—with evidence.
A decision is more than a score. A model may predict propensity, but the system still needs to determine the candidate set, enforce exclusions, arbitrate competing objectives, handle inventory and content, apply experiment assignment, select a response, and behave safely when a dependency fails.
Current platforms package these functions differently. Some centralise catalogues, eligibility, ranking, and policies. Others expose profile or audience context to a channel-specific decision. Some perform warehouse-driven selection on a slower cadence. The buyer should evaluate the decision contract, not assume one packaging is correct for every interaction.
The minimum decision record should contain a decision_id, subject or request context reference, candidate and exclusion evidence, selected action or no-action, policy/rule/model version, experiment assignment, expiry, latency, and fallback reason. If the delivery layer later emits an exposure_id, it should reference the decision without pretending the two events are the same.
Experimentation is part of the capability only when assignment and analysis are disciplined. A random split, deterministic eligibility, stable unit of assignment, exposure evidence, authoritative outcome, and declared analysis are different from reporting conversions after personalisation. A decisioning system may support experiments without proving incrementality automatically.
Evidence to request: decision request/response schema; catalogue and eligibility model; constraint precedence; ranking method; no-action/default; policy/model versions; assignment unit; holdout support; latency distribution; timeout budget; explanation; and replayable decision logs.
Failure to expose: no eligible item, policy block, missing context, stale feature, model unavailable, timeout, conflicting policies, exhausted inventory, unsafe content, and experiment-service failure.
Layer 10: Journey and workflow orchestration
Orchestration coordinates state over time. It listens, waits, branches, requests decisions, invokes actions, manages approvals, retries failures, suppresses obsolete work, and records the state of a journey or business process.
It should not silently redefine upstream concepts. An audience determines membership. A decision chooses among eligible actions. An orchestrator determines what step runs next and when. A journey can ask a decision service for the best action, receive no action because the customer is ineligible, and follow an explicit branch. If the journey embeds a separate copy of identity, consent, eligibility, and ranking logic, governance fragments quickly.
The visually appealing journey canvas often hides the difficult parts: duplicate and late events, concurrency, re-entry, cancellation, journey conflicts, customer fatigue, clock and time-zone rules, channel failure, version changes while people are in flight, and human approval. Those are not implementation details. They define customer experience and operational safety.
Evidence to request: state model; entry/re-entry rules; journey versioning; timer semantics; duplicate/late-event handling; conflict and suppression policy; decision-service integration; retries and idempotency; approval evidence; cancellation; migration of in-flight participants; and operational runbooks.
SLOs to separate: trigger-to-start delay, state-transition delay, timer accuracy, retry/recovery time, and downstream delivery time. A journey may begin in seconds while a destination still processes the message hours later.
Layer 11: Activation and delivery
Activation moves data, attributes, audiences, decisions, or instructions to an execution destination. Delivery renders or sends an experience through a website, application, email service, messaging provider, advertising platform, CRM, service interface, call-centre tool, or another operational system.
These are separate proof points.
Segment’s Reverse ETL documentation describes extracting warehouse data with a defined query and synchronising it to downstream destinations. Hightouch documents warehouse-based sources, models, syncs, destinations, and change detection. Adobe documents several audience/profile activation patterns and destination types. The implementations and scopes differ, but all require the buyer to inspect the source query, mapping, cadence, destination semantics, and observable result.
“Zero copy” or “federated” does not make activation movement disappear. A system may query data where it resides rather than persist a second primary copy, yet results, identifiers, audience membership, logs, caches, and payloads still move or are processed. A buyer should trace the actual bytes, metadata, credentials, and persistence boundaries for the use case rather than accept a category slogan.
Destination acceptance is also not delivery. An email provider can accept a send request that later bounces. An advertising platform can accept identifiers that fail to match. A website can receive a decision that its component never renders. Where technically observable, the delivery layer should return a distinct exposure or delivery record.
Evidence to request: source model/query; field and identity mapping; credential boundary; sync cadence; change detection; full versus incremental behaviour; destination limits; match/reject counts; send/render evidence; content version; retry/dead-letter; cost; deletion/removal semantics; and connector exit path.
Failure to expose: rate limit, expired credential, partial batch, destination schema change, low match rate, customer removed upstream but retained downstream, delivery rejection, rendering failure, and retry that creates duplicates.
Layer 12: Measurement and learning
Measurement closes the signal-to-outcome loop. It connects assignment, decision, delivery or exposure, authoritative outcome, cost, harm, no-action, and failure under declared identity and time rules.
This layer is frequently omitted from platform RFPs or reduced to dashboards. That creates a system that can target but cannot reliably learn.
Operational measurement asks whether events arrived, profiles were fresh, decisions met latency, destinations matched records, and messages delivered. Descriptive measurement asks what happened. Predictive evaluation asks how well a score or model performed. Causal measurement asks what would have happened without the treatment. These questions can share data but do not use identical methods.
The outcome should come from the system authoritative for the business event. The decision system knows what it selected. The channel may know what it rendered or sent. The order or service system knows what later occurred. The measurement contract defines how those records join, which identity and time windows apply, how refunds or cancellations are handled, and whether a control or holdout supports an incremental claim.
Learning should also include negative evidence: no eligible item, policy block, fallback, timeout, delivery failure, unmatched destination record, complaint, opt-out, refund, non-response, and control assignment. A model or policy tuned only on successful deliveries and conversions learns from a selected and incomplete world.
Evidence to request: stable assignment/decision/exposure/outcome identifiers; source authority; join rules and quality; metric definitions; experiment design; cost and harm measures; late-outcome handling; reproducible analysis; model/policy update process; review and rollback; and separation of operational, descriptive, predictive, and causal claims.
SLOs to separate: evidence arrival, join completeness, outcome delay, dashboard/metric freshness, experiment readout cadence, and model/policy update cadence. A 50-millisecond decision does not imply a 50-millisecond learning loop.
The five responsibilities that cross every layer
Privacy, security, governance, reliability, and content controls are not thirteenth-layer products. They change what every layer is allowed and able to do.
Privacy and rights
Privacy requirements affect collection, identity association, feature computation, audience evaluation, decisioning, activation, retention, and learning. A single profile field cannot express every relevant purpose, basis, scope, notice or consent record where applicable, jurisdiction, effective time, expiry, withdrawal, restriction, or exception.
A rights workflow must locate more than source records. It may need to address identifiers, links, attributes, profiles, audiences, caches, exported records, processors, features, model inputs, logs, and destination copies. The buyer should ask how active policy changes prevent future disallowed processing while slower correction, erasure, or reconciliation work proceeds.
This article translates privacy principles into architecture and evaluation questions. It is not legal advice. Applicability and implementation require qualified review for the organisation’s facts and jurisdictions.
Security
Security spans human and machine identity, authentication, authorisation, network boundaries, encryption, secrets, destination credentials, sensitive-field handling, administrative privilege, audit evidence, incident response, and software supply chain.
The control plane needs particular attention. Changing a schema, identity rule, destination mapping, retention policy, model, decision policy, or journey can alter processing at scale. Buyers should require strong access control, approval where appropriate, change history, environment separation, rapid rollback, and evidence that configuration—not only data—is protected.
Governance and metadata
Governance makes the capability map operable over time. Every critical source, contract, dataset, identity rule, metric, feature, model, audience, decision policy, journey, destination mapping, and retention rule needs ownership, version, effective date, dependencies, classification, approval state, and change evidence.
Databricks documents lineage from sources through queries, tables, jobs, and dashboards, including column-level relationships within supported boundaries. Snowflake’s governance documentation describes access, classification, protection policies, history, and lineage. A customer-experience control plane should extend the same principle beyond datasets to identity, audience, decision, journey, and activation objects.
Reliability and observability
Component uptime is not customer-experience health. The broker can be green while an audience is stale. A decision API can be fast while every request falls back. A connector can report success while match rates collapse. A profile service can respond while serving old permission or inventory state.
Every capability needs technical and semantic health: latency, freshness, volume, rejects, lag, anomalies, policy blocks, fallbacks, match quality, delivery, join quality, cost, and rights-workflow state. Alerts should name the business consequence and safe fallback, not merely the component threshold.
Content and asset governance
Personalisation often ends in content. The selected asset needs identity, version, placement, locale, rights, approval, accessibility status, expiry, brand constraints, and fallback. A decision can be technically correct and still produce an unsafe or unusable experience if content governance is missing.
Adjacency is not equivalence
Platforms legitimately combine adjacent capabilities. Buyers create risk when they treat proximity as proof of equivalence.
| Commonly collapsed pair | Why they are adjacent | Boundary buyers should preserve |
|---|---|---|
| Collection ↔︎ gateway/contracts | Both act when data enters the system | Capture proves receipt; qualification proves conformance and policy outcome |
| Event backbone ↔︎ durable history | Streams can retain and replay data | Transport retention and ordering do not automatically provide authoritative, queryable, reconciled history |
| Identity resolution ↔︎ profile serving | Profiles depend on identity links | Linking rules/provenance differ from attribute reconciliation, computation, freshness, and lookup |
| Identity resolution ↔︎ journey stitching | Both connect activity across touchpoints | Identity rules determine which records may represent the same entity; journey analysis orders selected events under separate sequence, scope, and time-window rules |
| Analytics ↔︎ semantic layer | Reports calculate measures | A local report formula is not automatically a governed, reusable metric or feature |
| Audience ↔︎ eligibility | Audience conditions can include constraints | Stored membership may be stale; interaction eligibility may require current permission, inventory, risk, or frequency |
| Audience ↔︎ decisioning | Audience membership can narrow candidates | Population membership does not choose the best permissible action for the current context |
| Decisioning ↔︎ orchestration | A journey can request a decision at a step | Selection among actions differs from managing state, waits, retries, and channel coordination over time |
| Activation ↔︎ delivery | Activation passes data or instructions to a channel | Destination acceptance does not prove rendering, sending, receipt, or exposure |
| Delivery ↔︎ outcome | Outcomes follow experiences in time | Exposure does not prove business success, and temporal sequence does not establish causality |
| Federation ↔︎ activation | Both access data across system boundaries | Querying data in place differs from sending selected results or instructions to an operational destination |
| Governance ↔︎ compliance | Governance supplies controls and evidence | A feature does not determine legal applicability or establish organisational compliance |
| AI/model ↔︎ decision system | A model can rank or predict | A production decision also needs candidates, policy, constraints, fallback, explanation, logging, and monitoring |
This separation is not an argument for more tools. It is an argument for visible boundaries. One product may perform both sides of a row, but it should still expose the contract between them.
Evaluate vertical use-case slices, not horizontal feature totals
A platform does not create value by covering the greatest number of boxes. It creates value when a bounded use case crosses the necessary boxes with acceptable time, trust, evidence, and operating cost.
Consider three use cases.
Slice 1: Scheduled cart-abandonment email
The organisation wants to send a reminder if a known customer leaves a cart without purchasing.
This likely needs collection, contract enforcement, durable commerce and interaction history, identity, a current audience or eligibility check, orchestration, email activation/delivery, and outcome measurement. It may tolerate minutes of freshness. It still needs recent-purchase suppression, permission, frequency, delivery evidence, and reconciliation with orders.
It may not need an online decision engine inside the page request. Adding one would not make the use case more mature unless it solves a real selection problem.
Buyer test: show a customer entering the audience, purchasing before send, being removed or suppressed, and the cancellation appearing in evidence before the email executes.
Slice 2: In-page next-best-action decision
The organisation wants to choose an eligible offer while a known or anonymous visitor views a product.
This needs a low-latency collection/request path, bounded identity and context, current constraints, decisioning, content/delivery, exposure evidence, and outcome measurement. Heavy history and feature computation can occur earlier on warm or analytical paths, but the serving view must expose freshness and TTL. The interaction needs a safe default if identity, context, inventory, policy, model, or decisioning is unavailable.
Buyer test: run the same request under eligible, ineligible, unknown-permission, no-inventory, timeout, holdout, and delivery-failure states. Require distinct decision and exposure records.
Slice 3: Consent withdrawal and rights propagation
The organisation needs to stop applicable future processing and coordinate the required action across sources, profiles, audiences, caches, exports, processors, features, and retained records.
This is primarily a control and rights path. It needs verified request scope, identifier mapping, policy evaluation, active enforcement, workflow orchestration, system-specific actions, exception handling, completion evidence, and protection against later re-creation from replayed data.
Buyer test: withdraw a specific purpose, confirm immediate enforcement on a new decision or activation, trace asynchronous propagation, show completion and exceptions by system, and then replay an older event to confirm that prohibited state is not silently restored.
These slices weight the same capability map differently. That is the point. A buyer should score the platform against the decisions and obligations that matter, not against an undifferentiated total of features.
What evidence should buyers request?
“Supported” is the beginning of evaluation, not the end. Ciqor recommends a five-level evidence scale.
| Level | Evidence state | What it means |
|---|---|---|
| 0 — Claim | Marketing statement or unchecked questionnaire answer | The capability has been asserted but not bounded |
| 1 — Documented | Current first-party documentation states the behaviour, scope, edition, limits, and dependencies | The mechanism exists in a documented form |
| 2 — Configured | The proposed design shows how the organisation’s sources, policies, mappings, owners, and SLOs use it | The feature has been translated into an implementation |
| 3 — Demonstrated | A test environment produces the expected trace, output, timing, policy result, and failure behaviour | The configured mechanism works for a representative slice |
| 4 — Operated | Monitoring, runbooks, recovery, change control, ownership, cost, and production evidence meet agreed thresholds | The capability is sustainably owned, not merely enabled |
An RFP answer should never receive full credit because a feature exists somewhere in a product family. Edition, region, scale, integration mode, latency, data movement, limits, and operating responsibility all matter.
For every high-priority use-case slice, ask for eight forms of evidence:
- Contract evidence: request/response, schema, state transition, or source-to-destination mapping;
- Configuration evidence: policy, rule, audience, model, journey, mapping, or retention version;
- Runtime evidence: trace IDs, timestamps, logs, counts, and correlation across capabilities;
- Quality evidence: freshness, latency distribution, completeness, match rate, rejects, and join quality;
- Failure evidence: timeout, fallback, retry, quarantine, suppression, replay, and recovery;
- Trust evidence: access, purpose, classification, lineage, rights action, and audit history;
- Change evidence: approval, effective time, impact analysis, rollback, and in-flight behaviour; and
- Portability evidence: exportable data, definitions, histories, IDs, policies, and a credible component-exit procedure.
The last item is routinely neglected. A platform can satisfy today’s use case and still create tomorrow’s lock-in if the organisation cannot recover its event definitions, profile logic, identity rules, audience definitions, decision histories, journey state, or measurement evidence.
The capabilities most RFPs omit
Traditional RFPs tend to ask whether a product has profiles, audiences, journeys, AI, dashboards, and connectors. The omitted questions are more revealing:
- Can the system show why an event was accepted, transformed, rejected, or quarantined?
- Can it distinguish source truth, durable history, identity-derived state, and low-latency serving context?
- Can identity links be traced, tested, corrected, rebuilt, and restricted by purpose?
- Can it report profile, feature, and audience freshness separately from API latency?
- Can it record no-action, policy block, fallback, control assignment, and delivery failure?
- Can it prove what was rendered or sent rather than only what was selected?
- Can it join assignment, decision, exposure, cost, and authoritative outcome?
- Can it demonstrate causal measurement when an incremental claim is made?
- Can it propagate withdrawal, deletion, correction, or restriction to derived and downstream state?
- Can the organisation version and roll back schemas, identity rules, metrics, models, decision policies, journeys, and mappings?
- Can operators see semantic failure while infrastructure remains technically available?
- Can the organisation exit or replace a component without losing definitions, histories, evidence, or control?
These questions turn an attractive demo into an architecture evaluation.
Turn the map into requirements
The capability map becomes useful when it is applied to one bounded decision or obligation at a time.
Step 1: Define the use case and non-goal
State the actor or entity, trigger, eligible action set, intended outcome, authoritative sources, constraints, latency/freshness needs, delivery evidence, measurement method, safe fallback, and what the use case does not attempt to do.
“Personalise the website in real time” is not a requirement. “Choose one eligible content module for an authenticated product-page request within a 180-millisecond end-to-end budget, defaulting to non-personalised content when current permission or inventory cannot be verified” is testable.
Step 2: Select the necessary capability slices
Mark each layer as:
- runtime-critical: participates synchronously or directly in the outcome;
- supporting: prepares data, features, content, or configuration asynchronously;
- evidence-producing: records or measures the result;
- control: governs what is allowed and how change occurs; or
- not required for this slice: deliberately outside scope.
This prevents every use case from being forced through every product module.
Step 3: Complete the contract
For every selected capability, record:
| Requirement field | What to specify |
|---|---|
| Capability and boundary | The responsibility and what remains outside it |
| Business/technical owner | Who approves meaning and who operates the mechanism |
| Input and authority | Required fields/state, provenance, and authoritative source |
| Output and evidence | Result, state transition, reason, IDs, and audit record |
| Latency and freshness | p95/p99 response where relevant; maximum acceptable staleness; propagation time |
| Identity and entity | Unit, namespaces, link rules, point-in-time requirements |
| Policy and trust | Purpose/basis, permission, classification, access, retention, content/risk constraints |
| Failure and recovery | Reject, quarantine, retry, fallback, suppression, replay, reconciliation |
| Scale and cost | Events, profiles/entities, queries, decisions, destinations, retention, concurrency, unit economics |
| Change and portability | Versioning, approval, rollback, export, replacement, and historical reproducibility |
Step 4: Test the seams
The highest-risk failures occur between capabilities: collected but rejected, accepted but not stored, stored but not linked, linked but stale, eligible but not selected, selected but not delivered, delivered but not measured, measured but not causal, deleted upstream but retained downstream.
Build the proof of concept around those seams. A polished happy path reveals less than a controlled failure.
Step 5: Score capability and operating burden separately
A product can have strong functional coverage and impose substantial integration, governance, skills, latency, or incident cost. A composable design can offer excellent control and create too many interfaces for the team to own. A consolidated platform can reduce seams and obscure internal evidence or create migration risk.
Score at least two dimensions:
- Capability fitness: does the implementation satisfy the defined contract with evidence?
- Operating fitness: can the organisation afford, secure, govern, change, recover, and staff it over time?
The best architecture is not the one with the most boxes or the fewest vendors. It is the smallest system that satisfies the required decisions and obligations with acceptable evidence and operating burden.
What this map does—and does not—say about vendors
The capability map does not declare a winner. It also does not imply that every platform is equally capable.
Packaged platforms can reduce integration work by owning several adjacent responsibilities. Warehouse- or lakehouse-native approaches can improve access to existing governed data and analytical logic. Specialist tools can provide depth in collection, identity, analytics, decisioning, orchestration, or activation. Custom components can differentiate a narrowly valuable decision or enforce a unique boundary.
Every option has seams, even when the seam is hidden inside one commercial product. The evaluation task is to find them, assign them, and test them.
The core questions remain:
- Which responsibility is genuinely implemented?
- Where does its state live?
- Which evidence crosses the boundary?
- Which SLO covers the customer’s experience rather than the component alone?
- Which team owns configuration and incidents?
- What happens when the mechanism is unavailable or wrong?
- Can another implementation replace it without changing the business contract?
This is the difference between a vendor-neutral architecture and a logo-free vendor diagram.
Separate the responsibilities before comparing the products
A customer experience platform should not be evaluated as one large feature category. It should be evaluated as a governed chain of capabilities that observes signals, qualifies them, preserves the right history, resolves identity carefully, supplies current context, computes meaning, applies constraints, selects actions, coordinates work, delivers experiences, and learns from authoritative outcomes.
The 12-layer map gives buyers a stable vocabulary for that work. The capability contract turns the vocabulary into requirements. The evidence scale prevents documentation from being confused with configuration or operational proof. Vertical slices keep the evaluation tied to real decisions instead of feature totals.
Before asking vendors for a demo, choose one high-value use case. Complete the capability contracts. Decide what evidence must cross every seam. Define the safe failure. Then ask each proposed implementation to run the same test.
The comparison will become harder to summarise in one colourful grid—and far more useful.
The next article in this series will clarify the category boundaries that make these evaluations difficult: CDP, Customer Experience Platform, Journey Orchestration, and Analytics: A Precise Boundary Guide.
Editorial disclosure and review status
Chandan Singh is the founder of Ciqor and is employed by Adobe in a technical learning role. This article is independent Ciqor analysis. It does not represent Adobe, disclose confidential employer or customer information, or recommend a vendor. Adobe documentation is reviewed alongside other platform and data-infrastructure sources as evidence of documented capability patterns.
This draft requires review by practitioners from at least two platform traditions and a qualified privacy reviewer before publication. Product names, capabilities, editions, limits, and source links should be rechecked on the publication date. Any future vendor mapping should be maintained as a separately dated, row-sourced appendix and should invite factual corrections.
Selected primary sources
Packaged and warehouse-connected customer platforms
- Salesforce Data 360 architecture
- Twilio Segment Protocols
- Twilio Segment audiences and journeys
- Twilio Segment Reverse ETL
- Tealium AudienceStream CDP
- Tealium server-side order of operations
- mParticle documentation
- mParticle IDSync user profiles
- RudderStack documentation
- RudderStack Profiles
- Hightouch documentation
- Hightouch identity-resolution monitoring
Collection, analytics, and behavioral-data platforms
- Snowplow fundamentals
- Snowplow schemas and data structures
- Amplitude data and governance overview
- Amplitude taxonomy planning
- Amplitude destination syncs
- Mixpanel user profiles and event/profile joins
- Mixpanel Data Standards
