Hightouch

📘

This integration is currently in beta. Contact your MetaRouter support team to get started.

What Is Hightouch?

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


Capabilities

  • 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.

Considerations

  • 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.

Limitations

  • Event payload size is limited to 96 KB per event.

Starter Kit Setup Guide

1. Gather Credentials

  • Ask your Hightouch representatives for the following credentials:

2. Add a Hightouch Integration

  • From the integration library, add a Hightouch integration. Then, fill out the Connection Parameters:
Connection ParameterDescription
PROJECT_WRITEKEYHightouch project write key used to generate the HTTP Basic Auth header.
WORKSPACE_REGIONHightouch workspace region used in the endpoint hostname (for example, us-east-1).

3. Configure Event Mapping

  • 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.

4. Deploy to Pipeline

  • In the Pipelines tab, add your Hightouch integration.
  • Select the correct integration revision.
  • Click Add Integration to finalize deployment.

Event Mappings

Global

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 KeyDescriptionExpected Input
type RequiredString: Event type (for example, identify, track, page, screen).type
messageId RequiredString: 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
originalTimestampString: Original event timestamp (RFC3339).timestamp
sentAtString: Time the event was sent (RFC3339).sentAt
context.device.typeString: Device type.context.device.type
context.device.idString: Device identifier.context.device.id
context.device.advertisingIdString: Advertising identifier (when available).context.device.advertisingId
context.device.adTrackingEnabledBoolean: Whether ad tracking is enabled on the device.context.device.adTrackingEnabled
context.device.manufacturerString: Device manufacturer.context.device.manufacturer
context.device.modelString: Device model.context.device.model
context.device.nameString: Device name.context.device.name
context.app.nameString: App name (when available).context.app.name
context.app.versionString: App version (when available).context.app.version
context.app.buildString: App build (when available).context.app.build
context.os.nameString: Operating system name.context.os.name
context.os.versionString: Operating system version.context.os.version
context.network.bluetoothBoolean/String: Bluetooth info (when available).context.network.bluetooth
context.network.carrierString: Network carrier (when available).context.network.carrier
context.network.cellularBoolean/String: Cellular info (when available).context.network.cellular
context.network.wifiBoolean/String: WiFi info (when available).context.network.wifi
context.library.nameString: Library name.context.library.name
context.library.versionString: Library version.context.library.version
context.ipString: IP address (when provided).context.ip
context.localeString: Locale.context.locale
context.timezoneString: Timezone.context.timezone
context.campaign.nameString: Campaign name.context.campaign.name
context.campaign.sourceString: Campaign source.context.campaign.source
context.campaign.mediumString: Campaign medium.context.campaign.medium
context.campaign.termString: Campaign term.context.campaign.term
context.campaign.contentString: Campaign content.context.campaign.content
context.screen.densityNumber: Screen density (when available).context.screen.density
context.screen.heightInteger: Screen height (when available).context.screen.height
context.screen.widthInteger: Screen width (when available).context.screen.width
context.page.pathString: Page path (when available).context.page.path
context.page.referrerString: Page referrer (when available).context.page.referrer
context.page.searchString: Page search query (when available).context.page.search
context.page.titleString: Page title (when available).context.page.title
context.page.urlString: Page URL (when available).context.page.url
context.userAgentString: User agent (when available).context.userAgent
context.traitsObject: User traits (when available).context.traits

Event Specific

Identify

Output KeyDescriptionExpected Input
traitsObject: User traits payload.traits

Page

Output KeyDescriptionExpected Input
propertiesObject: Page properties payload.properties

Screen

Output KeyDescriptionExpected Input
propertiesObject: Screen properties payload.properties

Cart Viewed

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Cart Viewed'
propertiesObject: Track event properties payload.properties

Checkout Started

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Checkout Started'
propertiesObject: Track event properties payload.properties

Coupon Entered

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Coupon Entered'
propertiesObject: Track event properties payload.properties

Order Canceled

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Order Canceled'
propertiesObject: Track event properties payload.properties

Order Completed

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Order Completed'
propertiesObject: Track event properties payload.properties

Order Refunded

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Order Refunded'
propertiesObject: Track event properties payload.properties

Order Updated

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Order Updated'
propertiesObject: Track event properties payload.properties

Payment Info Entered

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Payment Info Entered'
propertiesObject: Track event properties payload.properties

Product Added

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Product Added'
propertiesObject: Track event properties payload.properties

Product Added To Wishlist

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Product Added To Wishlist'
propertiesObject: Track event properties payload.properties

Product Clicked

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Product Clicked'
propertiesObject: Track event properties payload.properties

Product List Viewed

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Product List Viewed'
propertiesObject: Track event properties payload.properties

Product Removed

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Product Removed'
propertiesObject: Track event properties payload.properties

Product Viewed

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Product Viewed'
propertiesObject: Track event properties payload.properties

Products Searched

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Products Searched'
propertiesObject: Track event properties payload.properties

Promotion Clicked

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Promotion Clicked'
propertiesObject: Track event properties payload.properties

Promotion Viewed

Output KeyDescriptionExpected Input
event RequiredString: Track event name.Enrichment – 'Promotion Viewed'
propertiesObject: Track event properties payload.properties

Required & Recommended Identifiers

AttributeExampleSync Injector Required?
anonymousId Required (one of)ce576487-95f9-4262-9315-2c7942b061c8No
userId Required (one of)123456No
traits.email[email protected]No

Integration Validation

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.


Additional Hightouch Documentation