The most consequential decision in a CDP evaluation is often not which vendor but which architecture. A composable CDP activates customer data where it already lives, in your data warehouse. A packaged CDP collects the data, keeps its own profile store and activates from there.

The debate usually runs on vendor positioning. This report measures it instead. CdpHub recorded every integration that 44 customer data and engagement platforms document on their public pages: 6,699 listings, each with its direction and, where the page says, how it runs (client-side, server-side or through a warehouse). The two architectures leave very different fingerprints.

The two camps, measured

PlatformCampListingsWarehouseClient-sideOutbound
HightouchComposable34695%0%86%
Fivetran Activations (formerly Census)Composable19599%0%88%
DinMoComposable13299%1%89%
RudderStackHybrid26718%31%85%
TealiumPackaged8862%67%93%
SegmentPackaged5553%20%81%
mParticlePackaged3263%16%81%
Treasure AI (formerly Treasure Data)Packaged29820%3%51%
Adobe Experience PlatformSuite27910%30%70%
Salesforce Data 360Suite17720%0%6%

"Warehouse" is the share of a platform's listings that read or write a warehouse, lake or bucket, or run as reverse ETL. "Client-side" is the share that runs as a tag, pixel or SDK in the site or app.

Composable catalogs are destination lists fed by the warehouse. Hightouch, Fivetran Activations and DinMo document 673 integrations between them, and 97 percent run through the customer's warehouse. For Hightouch and Fivetran Activations, the inbound side is mostly the warehouse itself: Hightouch documents 27 warehouse, database, lake, file and spreadsheet sources and Fivetran Activations 20, both also take models from dbt, Looker and Sigma, and Hightouch writes six ad platforms' daily audience-size estimates back to the warehouse. Hightouch also sells Hightouch Events, which collects events with Hightouch's own web, mobile and server SDKs or reads them from message streams such as Kafka, Kinesis and Pub/Sub, and writes them to your warehouse. DinMo also loads some app and ad-platform data itself through DinMo Ingest, including Shopify, Zendesk and the major ad networks, and documents a Shopify web pixel extension.

Packaged catalogs carry the collection layer. Tealium, Segment and mParticle document 2 to 3 percent of their integrations as warehouse connections, and 16 to 67 percent as client-side tags, pixels or SDKs that collect and route events from the site or app. Together, their catalogs are far larger: the three document 1,767 integrations with more than 1,000 distinct tools, against 673 integrations and 350 tools for the three composable platforms.

What composable catalogs leave out is the long tail, not the core. 83 percent of the destination tools Hightouch documents are documented by at least one other platform in the directory, and 59 percent of the three composable platforms' destination tools also appear in the catalogs of Segment, mParticle, Tealium or RudderStack. The reverse doesn't hold: only 19 percent of those four platforms' destination tools appear in the composable catalogs. If your stack is built from mainstream tools, either camp will reach it. If it depends on niche vendor pixels, the packaged catalogs are where they are documented.

When composable wins

Your warehouse is already the system of record. If analytics engineers already model customer data in Snowflake, BigQuery or Databricks with dbt, composable adds activation on top of work you have done. Hightouch and Fivetran Activations both document dbt, Looker and Sigma models as sources.

You want to keep the data and the logic. With a composable tool, profiles, identity rules and audience definitions live in your warehouse. Swapping the activation vendor means moving syncs, not re-collecting data.

Your use cases tolerate sync intervals. Reverse ETL moves query results out of the warehouse, so data is only as fresh as the warehouse's own loads and the sync schedule. Email campaigns, paid-media audiences and CRM enrichment usually work fine on that cadence.

Know what you are signing up for. A composable CDP activates what is already in your warehouse, so plan how data from your business apps gets there. Hightouch and Fivetran Activations list Shopify only as a destination in their catalogs: order and customer data reaches the warehouse through a data loader or, at Hightouch, its Connections feature, which imports data from apps such as Salesforce, Klaviyo and Braze. DinMo loads Shopify data itself.

When packaged wins

You need to deploy and govern vendor tags. Packaged platforms ship their own SDKs and tags to capture behavior on the site and in the app, and their catalogs document the vendor tags and pixels that run alongside them: 594 client-side listings for Tealium, 116 for Segment and 53 for mParticle. The composable catalogs document almost none. Collecting events alone no longer separates the camps, since Hightouch Events collects them too.

You want real-time decisions from one profile store. In-session personalization and instant audience qualification depend on profiles that update as events arrive. Segment documents its identity resolution as real-time, and Tealium documents visitor stitching that happens in real time, inside their own profile stores. Composable vendors now document real time as well: Hightouch's Real-Time Personalization combines live events with warehouse data, typically in less than a second, so test both camps on your own use case.

Your team is marketing operations, not data engineering. A packaged CDP sells collection, identity, audiences and activation from one vendor, though some of them are add-ons (at Segment, identity resolution comes with the Unify add-on and audiences with Engage). If no one on the team maintains warehouse models, that bundle is the point.

You want identity resolution as a product, not a project. Building identity logic in the warehouse is possible but non-trivial. Packaged and identity-first platforms document it as a product, from Segment's rule-based Identity Resolution to Amperity's machine-learning Stitch. Hightouch sells one too, but it runs on the data your team has loaded and modeled in the warehouse.

The hybrid is already here

The border between the camps has moved, and the catalogs show it moving from both sides.

  • Packaged platforms now read from the warehouse. Segment documents Reverse ETL from seven warehouses and a Data Graph on four that feeds Linked Audiences. Tealium reads tables from Snowflake, BigQuery, Databricks and Redshift. RudderStack documents warehouse sources for reverse ETL alongside its event pipelines, and Braze documents Cloud Data Ingestion from the major warehouses.
  • Composable platforms now collect events and act in real time. Hightouch Events collects events with Hightouch's own web, mobile and server SDKs and writes them to your warehouse, and Hightouch's Real-Time Personalization evaluates audiences on live events, typically in less than a second.
  • Suites and packaged platforms made the warehouse a primary path. Salesforce Data 360 reads from 35 different warehouse, lake and database tools, more than any other platform. Treasure AI documents zero-copy Live Connect queries on Snowflake, BigQuery, Databricks and Redshift.
  • Warehouse sharing replaces file copies. Amperity Bridge shares data both ways with Snowflake, Databricks and BigQuery using each warehouse's own sharing feature.
  • A warehouse vendor is building a CDP. In June 2026 Databricks announced CustomerLake, an agentic CDP that runs inside the Databricks lakehouse, in private preview. It isn't counted in the directory yet because its integration documentation isn't public. The Agentic CDP and Infinity Campaigns looks at what it covers and what it means for both camps.

"Composable versus packaged" is turning into a question of how deep a platform goes into your warehouse, not whether it touches it.

How to decide

  1. Where does your customer data live today? If the warehouse is governed and trusted, start composable or with a packaged platform that reads from it. If customer data is scattered across tools, a packaged CDP's own profile store may be the faster path to one view.
  2. Who will run it? A data team that ships dbt models will get more from composable. A marketing operations team without engineering support will get more from packaged.
  3. How fast must data move? If decisions happen within a session, you need a profile that updates as events arrive. Ask each finalist how it delivers that, whether through its own profile store or a low-latency layer on top of the warehouse, and test it. If hours are fine, either architecture handles it.
  4. Does every tool you need appear in the catalog, in the right direction? Check each one in the CdpHub directory before the demo, not after the contract.

How we count

  • Counts are every integration with a third-party tool that each platform documents on a public page, as of October 2026, for 44 platforms. The platform's own SDKs, libraries, APIs and features are not counted.
  • Run types: client-side means a tag, pixel, SDK or plugin in the site or app carries the data; server-side means the platform's servers exchange data by API, webhook, stream or file; warehouse means the tool is a warehouse, lake, bucket or database, or the integration is reverse ETL or data sharing.
  • Shares are rounded down, as in the directory's tables. Counts change as catalogs change; the live directory is the reference.