| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Category | Feature | Hightouch | Census | Rudderstack | |||||||||||||||||||
2 | Security and Hosting | EU SaaS Hosting Support | Yes | No | No | |||||||||||||||||||
3 | Role based access controls | Yes | Yes | No | ||||||||||||||||||||
4 | SSO Support | Okta, Azure Active Directory, Auth0, OneLogin, PingIdentity | Okta, Azure Active Directory, Auth0, OneLogin, PingIdentity | Okta, OneLogin | ||||||||||||||||||||
5 | External Cloud Bucket (so no data is stored by vendor) | S3 and Google Cloud | S3 | S3 and Google Cloud | ||||||||||||||||||||
6 | Warehouse Diffing (manage incremental diffing on warehouse) | Yes | Yes | Yes | ||||||||||||||||||||
7 | Compliance | SOC 2 Type 2, GDPR, HIPAA, CCPA Privacy Shield | SOC 2 Type 2, GDPR, HIPAA, CCPA Privacy Shield | SOC 2 Type 2, GDPR, HIPAA, CCPA Privacy Shield | ||||||||||||||||||||
8 | ||||||||||||||||||||||||
9 | Data Access | Number of "Sources" Supported? | 19 | 10 | 6 | |||||||||||||||||||
10 | Ability to pull data using SQL? | Yes | Yes | Yes | ||||||||||||||||||||
11 | Non-database source support ? | GSheets, Airtable, sFTP, Metabase, Trino | GSheets | No | ||||||||||||||||||||
12 | Ability to use models directly from DBT Git repository? | Yes | Yes | No | ||||||||||||||||||||
13 | Ability to pull data from Looker Looks? | Yes | Yes | No | ||||||||||||||||||||
14 | Incremental Syncing for all Sources? | Yes | Does not support incremental syncing for read-only sources (SQL Server, MySQL, GSheets, etc) | Yes, for the 6 sources | ||||||||||||||||||||
15 | ||||||||||||||||||||||||
16 | Data Syncing | Number of Destinations Supported? | 100+ | 59 | Supports 12 destinations for visual mapping. Possible additional destinations with simple identify calls | |||||||||||||||||||
17 | Support for syncing single user attributes | Yes | Yes | Yes | ||||||||||||||||||||
18 | Leverages bulk APIs for downstream destinations | Yes | Yes | No - uses existing event stream integrations | ||||||||||||||||||||
19 | Support for syncing any custom object downstream (SFDC custom objects, Netsuite Invoices, etc,) | Yes | Yes | No | ||||||||||||||||||||
20 | Support for syncing customer lists (Facebook Custom Lists, Braze Cohorts, Klaviyo Lists, etc.) | Yes | Only for Advertising destinations | No | ||||||||||||||||||||
21 | Support for behavioral events (Facebook Conversions API, Amplitude, Mixpanel, Heap, etc). | Yes | Yes | No | ||||||||||||||||||||
22 | Support to send data to file systems (ex. S3, sFTP, etc.) | Yes | Yes | No | ||||||||||||||||||||
23 | Support to for workflow automation (custom messages in Slack channels, Jira tasks, etc.) | Yes | No | No | ||||||||||||||||||||
24 | Single Record Testing | Can test any record in data model, customize payload, and view all API request/response payloads. Available for all new and existing syncs | Can test 1 record randomly chosen by Census, no access to API request & response payloads. Only available on initial sync creation. | None | ||||||||||||||||||||
25 | Transformation Support within Sync Config | Advanced Mappings allows: - Injecting any constant string, value, boolean, datetime - Apply validation, parsing, hashing - Any concatenation or combination of column values - Anything else you can define in LiquidJS | Census supports injecting a constant string, number, boolean, or datetime | None | ||||||||||||||||||||
26 | Ability to schedule syncs manually, on an interval, cron expression, or programatically. | Yes | Yes | Limited options for interval scheduling. | ||||||||||||||||||||
27 | ||||||||||||||||||||||||
28 | Audience management | Visual Audience Builder for non-technical users (Marketing, etc.) | Yes | Yes | No | |||||||||||||||||||
29 | Audience builder interface supports visually joining (without using SQL) across related data models | Yes | No | No | ||||||||||||||||||||
30 | Audience builder interface supports joining with behavioral event data models | Yes | No | No | ||||||||||||||||||||
31 | Audience builder supports sync templates so non-technical users can modularize their sync configuration. | Yes | No | No | ||||||||||||||||||||
32 | Audience builder supports robust audience organization, including custom views and label-based access. | Yes | No | No | ||||||||||||||||||||
33 | Audience builder supports materializing audience state back into the warehouse for analytics purposes. | Yes | No | No | ||||||||||||||||||||
34 | Audience builder supports the creation of no-code custom aggregations across models such as sums, averages, min, max, etc. | Yes | No | No | ||||||||||||||||||||
35 | ||||||||||||||||||||||||
36 | Developer Ecosystem | Version control integration with Git | Yes | No | No | |||||||||||||||||||
37 | Airflow Operator | Yes | Yes | Yes | ||||||||||||||||||||
38 | Live Debugger Scope | All API requests & responses available. Fully searchable by primary key. | Only last 100 APIs within a given sync. Not searchable. | Shows random selection of APIs | ||||||||||||||||||||
39 | Public API Support | Trigger Syncs and retrieve status. READ all models, syncs, sources destinations. | Full CRUD access to sources, destinations, models, syncs. | Trigger Syncs | ||||||||||||||||||||
40 | Datadog Integration | Yes | No | No | ||||||||||||||||||||
41 | Warehouse Sync Log (write sync metadata back into Warehouse) | Yes | Yes | No | ||||||||||||||||||||
42 | Alert Support | Email, SMS, Pagerduty, and Slack support. Configurable thresholds for any sync | Email and Slack support. Configurable thresholds for any sync | None | ||||||||||||||||||||
43 | ||||||||||||||||||||||||
44 | ||||||||||||||||||||||||
45 | ||||||||||||||||||||||||
46 | ||||||||||||||||||||||||
47 | ||||||||||||||||||||||||
48 | ||||||||||||||||||||||||
49 | ||||||||||||||||||||||||
50 | ||||||||||||||||||||||||
51 | ||||||||||||||||||||||||
52 | ||||||||||||||||||||||||
53 | ||||||||||||||||||||||||
54 | ||||||||||||||||||||||||
55 | ||||||||||||||||||||||||
56 | ||||||||||||||||||||||||
57 | ||||||||||||||||||||||||
58 | ||||||||||||||||||||||||
59 | ||||||||||||||||||||||||
60 | ||||||||||||||||||||||||
61 | ||||||||||||||||||||||||
62 | ||||||||||||||||||||||||
63 | ||||||||||||||||||||||||
64 | ||||||||||||||||||||||||
65 | ||||||||||||||||||||||||
66 | ||||||||||||||||||||||||
67 | ||||||||||||||||||||||||
68 | ||||||||||||||||||||||||
69 | ||||||||||||||||||||||||
70 | ||||||||||||||||||||||||
71 | ||||||||||||||||||||||||
72 | ||||||||||||||||||||||||
73 | ||||||||||||||||||||||||
74 | ||||||||||||||||||||||||
75 | ||||||||||||||||||||||||
76 | ||||||||||||||||||||||||
77 | ||||||||||||||||||||||||
78 | ||||||||||||||||||||||||
79 | ||||||||||||||||||||||||
80 | ||||||||||||||||||||||||
81 | ||||||||||||||||||||||||
82 | ||||||||||||||||||||||||
83 | ||||||||||||||||||||||||
84 | ||||||||||||||||||||||||
85 | ||||||||||||||||||||||||
86 | ||||||||||||||||||||||||
87 | ||||||||||||||||||||||||
88 | ||||||||||||||||||||||||
89 | ||||||||||||||||||||||||
90 | ||||||||||||||||||||||||
91 | ||||||||||||||||||||||||
92 | ||||||||||||||||||||||||
93 | ||||||||||||||||||||||||
94 | ||||||||||||||||||||||||
95 | ||||||||||||||||||||||||
96 | ||||||||||||||||||||||||
97 | ||||||||||||||||||||||||
98 | ||||||||||||||||||||||||
99 | ||||||||||||||||||||||||
100 |