Customer Data Platforms — procurement report
ProductArena · rankings as of 2026-09-08 · evidence as of 2026-09-11 · 5 products · 51 judged requirements · 255 judged cells
Methodology: Every product is judged against a shared taxonomy of user stories using cited evidence — hands-on probes > repository code > independent community sources > vendor claims — never opinion. Full writeup: https://ultrametric.ai/productarena/methodology
Leaderboard
| # | Product | PA Score | Coverage score | Applicable cells | Confidence |
|---|---|---|---|---|---|
| 1 | Jitsu | 34.6 | 33.4 | 49/51 | A |
| 2 | RudderStack | 32.5 | 37.4 | 48/51 | B |
| 3 | Twilio Segment | 32.2 | 35.8 | 47/51 | B |
| 4 | Hightouch | 31.1 | 36.3 | 50/51 | B |
| 5 | mParticle | 17.7 | 26.0 | 46/51 | C |
PA Score = agent-readiness blend (see methodology). Coverage score = weighted share of judged requirements met. Confidence = how much of the score rests on tested vs claimed evidence (A–D).
Uncertainty note
The current #1/#2 gap in this arena is not close enough to qualify for the multi-judge uncertainty pass (or the pass has not covered it yet) — no extra caveat applies beyond the per-product confidence grades above.
Buyer checklist (RFP)
The arena's 51 judged user stories as requirements, grouped by theme. Priorities mirror the story weights our scoring uses (3 = must-have, 2 = should-have, 1 = nice-to-have). Interactive version with per-requirement verdicts for the top products: /arena/customer-data-platforms/checklist
Agenticness — how well agents can access and operate the productAgenticness
How well agents can access and operate the product
- ai-native userPlug MCP servers into this product so it can use their toolsmust-have
- ai-native userConnect an agent via an official MCP servermust-have
- ai-native userDrive the product through a documented public APImust-have
- ai-native userDelegate tasks to a built-in AI assistant inside the productmust-have
- ai-native userPoint an agent at llms.txt or agent-oriented docsshould-have
- ai-native userRun the product headlessly / in CI for automationshould-have
- ai-native userUse an official CLIshould-have
- ai-native userIssue scoped/least-privilege API credentials for an agentshould-have
- ai-native userBuild against official SDKsshould-have
- ai-native userSubscribe to events via webhooksshould-have
- ai-native userGet AI-generated insights and suggestions from my data inside the productshould-have
- ai-native userSet up automations that run autonomously in the backgroundshould-have
- ai-native userOperate the product with natural-language commandsshould-have
- ai-native userExplore an interactive API reference with runnable examplesshould-have
- ai-native userDownload a machine-readable API spec (OpenAPI or equivalent)should-have
- ai-native userRely on versioned APIs with a documented deprecation policyshould-have
- ai-native userTest against a sandbox environment without touching production datanice-to-have
Ai cdp — stories about ai cdp in this arenaAi cdp
Stories about ai cdp in this arena
- ai-native userAn agent can query customer data and create or activate audiences end to end through documented APIs or MCP — no dashboard in the loopmust-have
- ai-native userAn agent can manage the pipeline itself — create sources and destinations, wire streams, inspect deliveries — through a documented API or MCP servermust-have
- ai-native userDescribe an audience in natural language and AI builds the segment definition for review, grounded in my actual schemashould-have
- ai-native userAI decisioning agents pick messages, timing, and channels per customer autonomously within guardrails I set, with measurable liftshould-have
Audiences activation — stories about audiences activation in this arenaAudiences activation
Stories about audiences activation in this arena
- marketerBuild audiences from traits and behavior in a visual builder — no SQL required — and see estimated size before activatingmust-have
- marketerAudiences sync to ad platforms and engagement tools continuously, with membership entering and exiting in near-real-timeshould-have
- marketerComputed traits and predictive scores (LTV, churn or purchase propensity) are calculated on profiles and usable in targetingshould-have
Automation depth — how much of the product can run unattendedAutomation depth
How much of the product can run unattended
- ai-native userDefine rules that trigger actions automatically on eventsmust-have
- ai-native userPerform bulk operations across many items at onceshould-have
- ai-native userSchedule recurring jobs or workflowsshould-have
- ai-native userVersion, review, and roll back my automationsnice-to-have
Destinations integrations — stories about destinations integrations in this arenaDestinations integrations
Stories about destinations integrations in this arena
- data engineerRoute events to a large catalog of documented destination integrations with per-destination mapping and filteringmust-have
Event collection — stories about event collection in this arenaEvent collection
Stories about event collection in this arena
- data engineerCollect events from web, mobile, and server apps through official SDKs that implement a documented tracking spec (track, identify, page)must-have
- data engineerSend events server-to-server through a documented HTTP ingestion API with authentication and delivery guaranteesshould-have
- data engineerPull customer data in from third-party cloud apps and feeds — not just my own instrumented appsnice-to-have
Identity resolution — stories about identity resolution in this arenaIdentity resolution
Stories about identity resolution in this arena
- data engineerAnonymous and known activity stitches into one customer profile across devices, with documented and configurable identity-resolution rulesmust-have
- data engineerQuery unified customer profiles — traits, identifiers, event history — through a documented profile API or storeshould-have
Openness — open source, data portability, and self-hosting storiesOpenness
Open source, data portability, and self-hosting stories
- ai-native userExport all of my data in open formats and leavemust-have
- ai-native userSelf-host the core productmust-have
- ai-native userDo everything through the API that I can do in the UIshould-have
- ai-native userRead the product's source under an open licenseshould-have
Pipeline observability — stories about pipeline observability in this arenaPipeline observability
Stories about pipeline observability in this arena
- data engineerWatch events flow live and diagnose delivery failures per destination — debugger views, delivery metrics, and alertingshould-have
Privacy consent — stories about privacy consent in this arenaPrivacy consent
Stories about privacy consent in this arena
- privacy leadUser consent is captured and enforced across destinations — opt-outs and consent categories are honored downstream automaticallymust-have
- privacy leadProcess user deletion and suppression requests (GDPR/CCPA) and have them forwarded to connected destinationsshould-have
- privacy leadControl PII flow per destination — hashing, masking, and field-level filtering of sensitive attributesshould-have
Privacy posture — data-handling and privacy storiesPrivacy posture
Data-handling and privacy stories
- ai-native userPrevent my data from being used to train AI modelsmust-have
- ai-native userChoose where my data is stored (region/residency)should-have
- ai-native userControl data retention and deletionshould-have
- ai-native userOpt out of telemetry and usage trackingshould-have
Replay portability — stories about replay portability in this arenaReplay portability
Stories about replay portability in this arena
- data engineerReplay archived events into a new destination or backfill history when a tool is added or a pipeline breaksshould-have
Transformations quality — stories about transformations quality in this arenaTransformations quality
Stories about transformations quality in this arena
- data engineerA tracking plan or schema is enforced — violating events get flagged, blocked, or quarantined instead of silently corrupting downstream datashould-have
- data engineerTransform, filter, and enrich events in-pipeline with custom code or functions before they reach destinationsshould-have
Warehouse native — stories about warehouse native in this arenaWarehouse native
Stories about warehouse native in this arena
- data engineerRaw events and profiles land in my own warehouse or lake (Snowflake, BigQuery, ClickHouse, S3) on a schedule I controlmust-have
- data engineerRun warehouse-native: define models and audiences on tables already in my warehouse and activate them without re-collecting the data (reverse ETL)should-have
Appendix: recorded probes
Hands-on probe recordings — transcripts/videos a human can replay, the strongest evidence tier. Watch them at https://ultrametric.ai/productarena/proofs
- Hightouch
curl -si https://api.hightouch.com/api/v1/syncs # REST API answers keylessly with a structured auth errorterminal · recorded 2026-09-08 · exit 0 - Hightouch
curl -s https://hightouch.com/llms.txt | head -4terminal · recorded 2026-09-08 · exit 0 - Jitsu
curl -si -X POST https://use.jitsu.com/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>'terminal · recorded 2026-09-08 · exit 0 - Jitsu
mktemp -d && npm install @jitsu/js && node -e "import('@jitsu/js').then(m=>console.log('PA_PROBE_OK jitsu jitsuAnalytics:', typeof m.jitsuAnalytics))"terminal · recorded 2026-09-08 · exit 0 - Jitsu
git clone --depth 1 https://github.com/jitsucom/jitsu.git # then list root files, LICENSE head, docker-compose.ymlterminal · recorded 2026-09-08 · exit 0 - mParticle
curl -si -X POST https://s2s.mparticle.com/v2/events -H 'Content-Type: application/json' -d '{}' # live events API answers 401 keylesslyterminal · recorded 2026-09-08 · exit 0 - mParticle
mktemp -d && npm install @mparticle/web-sdk && node -e "console.log('PA_PROBE_OK mparticle init:', typeof require('@mparticle/web-sdk').init)"terminal · recorded 2026-09-08 · exit 0 - RudderStack
curl -si -X POST https://mcp.rudderstack.com/mcp -H 'Content-Type: application/json' -d '<jsonrpc initialize>'terminal · recorded 2026-09-08 · exit 0 - RudderStack
mktemp -d && npm install @rudderstack/rudder-sdk-node && node -e "console.log('PA_PROBE_OK rudder Analytics:', typeof require('@rudderstack/rudder-sdk-node'))"terminal · recorded 2026-09-08 · exit 0 - Twilio Segment
curl -s -X POST https://api.segment.io/v1/track -H 'Content-Type: application/json' -d '{}' # live ingest endpoint answers with a structured validation errorterminal · recorded 2026-09-08 · exit 0 - Twilio Segment
mktemp -d && npm install @segment/analytics-node && node -e "console.log('PA_PROBE_OK segment Analytics:', typeof require('@segment/analytics-node').Analytics)"terminal · recorded 2026-09-08 · exit 0 - Twilio Segment
curl -si https://api.segmentapis.com/sources # Segment Public API answers keylessly with a structured auth errorterminal · recorded 2026-09-08 · exit 0
Cite as: ProductArena by Ultrametric Inc, Customer Data Platforms arena, rankings as of 2026-09-08 — https://ultrametric.ai/productarena/arena/customer-data-platforms
License: © 2026 Ultrametric Inc. Brief quotation of individual verdicts, scores, or evidence excerpts is permitted with attribution to "ProductArena by Ultrametric Inc (ultrametric.ai/productarena)", as is use of the data to evaluate, contest, or contribute corrections. Bulk copying, redistribution, or use to build competing datasets requires prior written permission (see DATA-LICENSE in the repository).
No liability: rankings, verdicts, and scores are research outputs derived from the cited evidence at a point in time, provided "as is", without warranties. Ultrametric Inc accepts no responsibility for procurement, purchasing, or other decisions made in reliance on them — verify against the cited evidence before acting (https://ultrametric.ai/productarena/terms).