📘
Hightouch is a customer data platform that supports sending data from a company’s data warehouse to external systems. It provides configuration for defining data structures and controlling how data is delivered. The platform operates with the data warehouse as the system where data is stored.
Product Type: CDP
Integration Type: Starter Kit
Event Source Type: Web, Mobile Browser, and Mobile App
Event Scope: Full-Funnel Events
- Sends Identify, Page, Screen, and Track events to Hightouch Events endpoints.
- Supports custom track event names (for example, e-commerce lifecycle events).
- Forwards common context fields (device, OS, campaign, page, and more) when provided.
- Hightouch may return a
200 response even when required fields are missing; those events can still be blocked from appearing in the Hightouch dashboard.
- For all events, include at least one of
anonymousId or userId. If neither is present, the event can be blocked.
- For Track events,
event is required. If it is missing, the event can be blocked even if the API returns 200.
- Workspace region must match the region of the Hightouch workspace that owns the project write key; using the wrong region can result in successful HTTP responses but events not landing in the dashboard.
- Event payload size is limited to 96 KB per event.
- Ask your Hightouch representatives for the following credentials:
- From the integration library, add a Hightouch integration. Then, fill out the Connection Parameters:
| Connection Parameter | Description |
|---|
PROJECT_WRITEKEY | Hightouch project write key used to generate the HTTP Basic Auth header. |
WORKSPACE_REGION | Hightouch workspace region used in the endpoint hostname (for example, us-east-1). |
- MetaRouter provides all of the event mappings that Hightouch integrations typically require. You may add custom events, parameters, or mappings in accordance with Hightouch’s API documentation.
- In the Pipelines tab, add your Hightouch integration.
- Select the correct integration revision.
- Click Add Integration to finalize deployment.
Global mappings will be applied to all events. If your parameter names do not match the Expected Inputs provided, you will need to overwrite the Inputs provided with your own.
| Output Key | Description | Expected Input |
|---|
type Required | String: Event type (for example, identify, track, page, screen). | type |
messageId Required | String: Unique identifier for the event. | messageId |
anonymousId Required (one of)* | String: Anonymous identifier; *one of anonymousId or userId must be present. | anonymousId |
userId Required (one of)* | String: User identifier; *one of anonymousId or userId must be present. | userId |
originalTimestamp | String: Original event timestamp (RFC3339). | timestamp |
sentAt | String: Time the event was sent (RFC3339). | sentAt |
context.device.type | String: Device type. | context.device.type |
context.device.id | String: Device identifier. | context.device.id |
context.device.advertisingId | String: Advertising identifier (when available). | context.device.advertisingId |
context.device.adTrackingEnabled | Boolean: Whether ad tracking is enabled on the device. | context.device.adTrackingEnabled |
context.device.manufacturer | String: Device manufacturer. | context.device.manufacturer |
context.device.model | String: Device model. | context.device.model |
context.device.name | String: Device name. | context.device.name |
context.app.name | String: App name (when available). | context.app.name |
context.app.version | String: App version (when available). | context.app.version |
context.app.build | String: App build (when available). | context.app.build |
context.os.name | String: Operating system name. | context.os.name |
context.os.version | String: Operating system version. | context.os.version |
context.network.bluetooth | Boolean/String: Bluetooth info (when available). | context.network.bluetooth |
context.network.carrier | String: Network carrier (when available). | context.network.carrier |
context.network.cellular | Boolean/String: Cellular info (when available). | context.network.cellular |
context.network.wifi | Boolean/String: WiFi info (when available). | context.network.wifi |
context.library.name | String: Library name. | context.library.name |
context.library.version | String: Library version. | context.library.version |
context.ip | String: IP address (when provided). | context.ip |
context.locale | String: Locale. | context.locale |
context.timezone | String: Timezone. | context.timezone |
context.campaign.name | String: Campaign name. | context.campaign.name |
context.campaign.source | String: Campaign source. | context.campaign.source |
context.campaign.medium | String: Campaign medium. | context.campaign.medium |
context.campaign.term | String: Campaign term. | context.campaign.term |
context.campaign.content | String: Campaign content. | context.campaign.content |
context.screen.density | Number: Screen density (when available). | context.screen.density |
context.screen.height | Integer: Screen height (when available). | context.screen.height |
context.screen.width | Integer: Screen width (when available). | context.screen.width |
context.page.path | String: Page path (when available). | context.page.path |
context.page.referrer | String: Page referrer (when available). | context.page.referrer |
context.page.search | String: Page search query (when available). | context.page.search |
context.page.title | String: Page title (when available). | context.page.title |
context.page.url | String: Page URL (when available). | context.page.url |
context.userAgent | String: User agent (when available). | context.userAgent |
context.traits | Object: User traits (when available). | context.traits |
| Output Key | Description | Expected Input |
|---|
traits | Object: User traits payload. | traits |
| Output Key | Description | Expected Input |
|---|
properties | Object: Page properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
properties | Object: Screen properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Cart Viewed' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Checkout Started' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Coupon Entered' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Order Canceled' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Order Completed' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Order Refunded' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Order Updated' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Payment Info Entered' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Product Added' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Product Added To Wishlist' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Product Clicked' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Product List Viewed' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Product Removed' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Product Viewed' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Products Searched' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Promotion Clicked' |
properties | Object: Track event properties payload. | properties |
| Output Key | Description | Expected Input |
|---|
event Required | String: Track event name. | Enrichment – 'Promotion Viewed' |
properties | Object: Track event properties payload. | properties |
| Attribute | Example | Sync Injector Required? |
|---|
anonymousId Required (one of) | ce576487-95f9-4262-9315-2c7942b061c8 | No |
userId Required (one of) | 123456 | No |
traits.email | [email protected] | No |
To validate the integration, review incoming events in the Hightouch user interface by navigating to Event Collection, selecting Event Sources, and opening the Debugger to confirm that events are being received. In addition, coordinate with your Hightouch representative to confirm that data is landing correctly in the workspace and that all required fields are being accepted.