Heap
This integration is currently in beta. Contact your MetaRouter support team to get started.
What Is Heap?
Heap is a digital insights platform that captures and organizes user interactions across websites and mobile apps. It provides automatic event tracking, eliminating the need for manual tagging, and offers detailed analytics and reporting. Heap's interface allows users to explore data through easy-to-use visualizations and drill-down capabilities, enabling quick discovery of insights. The platform supports retroactive analysis, allowing users to query historical data without pre-defined events, which is particularly useful for identifying trends and user behaviors over time.
What are the benefits of integrating MetaRouter with Heap?
- Efficient Data Delivery: MetaRouter ensures all relevant events and parameters are delivered to Heap via a server-side connection, improving data accuracy and reliability.
- Simplified Implementation: By removing the need for a Heap tag on the site, the integration streamlines the implementation process, reducing setup time and maintenance efforts.
- Enhanced Performance: Server-side data delivery minimizes the impact on website performance, leading to faster load times and a better user experience.
Capabilities and Considerations
- User Identification and Profiles: By using the
identify
endpoint, MetaRouter sends theanonymousId
as theidentity
parameter, allowing Heap to track user attributes and create detailed user profiles. This enables personalized experiences and targeted analysis. - Event Tracking and Analysis: The
track
endpoint captures a wide range of user interactions (e.g., page views, product views, cart additions), providing insights into user behavior and engagement. - Conversion Tracking: You can track key conversion events such as cart views, checkout starts, and order completions, enabling detailed funnel analysis and optimization of the customer journey in Heap.
- Product and Promotion Analysis: Track interactions with products and promotions (e.g., product clicks, promotion clicks) to understand user preferences and the effectiveness of marketing campaigns in Heap.
- Custom Event Tracking: You can define and track custom events specific to your business needs, allowing for a tailored approach to data collection and analysis in Heap.
Limitations
- Session Replay: Heap's session replay feature, which visually reconstructs user interactions on the site, relies heavily on client-side data. This feature is not available with server-side tracking.
Getting Started - From Your Heap Account
- Grab your App ID - Please use the following instructions to find your Heap ID: App ID
- Grab your User ID - The user ID comes from the Heap SDK. Please contact your Heap support team to grab this value.
Getting Started - From Your MetaRouter Account
Adding a Heap integration.
From the integration library, add a Heap integration. Then, fill out the Connection Parameters:
Connection Parameter | Description |
---|---|
MY_APP_ID | Heap app ID. |
MY_USER_ID | The user ID that comes from the Heap SDK. |
Event Mappings
MetaRouter provides all of the event mappings that Heap integrations typically require. You may add custom events, parameters or mappings in accordance with Heap’s API documentation.
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 Key | Description | Expected Input |
---|---|---|
app_id Required | String: The environment ID corresponding to one of your environments. | Enrichment - staticString: MY_APP_ID |
Event
Cart Viewed
Output Key | Description | Expected Input |
---|---|---|
events Required | Array of Event Objects: A list of event objects containing user interaction details. | N/A - Expression (see rows below) |
Expression - identity | String: Unique identifier for the user. | input.anonymousId |
Expression - timestamp Required | String: The time at which the event occurred. | input.timestamp |
Expression - event Required | String: The name of the event, cart_viewed. | input.event |
Expression - properties Required | Object: Details about the cart and products viewed, including cart_id, category, product_id, etc. | input.properties |
Checkout Started
Output Key | Description | Expected Input |
---|---|---|
events Required | Array of Event Objects: A list of event objects containing user interaction details. | N/A - Expression (see rows below) |
Expression - identity | String: Unique identifier for the user. | input.anonymousId |
Expression - timestamp Required | String: The time at which the event occurred. | input.timestamp |
Expression - event Required | String: The name of the event, checkout_started. | input.event |
Expression - properties Required | Object: Details about the checkout process, including product_id, category, price, etc. | input.properties |
Order Completed
Output Key | Description | Expected Input |
---|---|---|
events Required | Array of Event Objects: A list of event objects containing user interaction details. | N/A - Expression (see rows below) |
Expression - identity | String: Unique identifier for the user. | input.anonymousId |
Expression - timestamp Required | String: The time at which the event occurred. | input.timestamp |
Expression - event Required | String: The name of the event, order_completed. | input.event |
Expression - properties Required | Object: Details about the order, including order_id, product_id, category, price, etc. | input.properties |
Page
Output Key | Description | Expected Input |
---|---|---|
events Required | Array of Event Objects: A list of event objects containing user interaction details. | N/A - Expression (see rows below) |
Expression - identity | String: Unique identifier for the user. | input.anonymousId |
Expression - timestamp Required | String: The time at which the event occurred. | input.timestamp |
Expression - event Required | String: The name of the event, Pageview. | input.event |
Expression - properties Required | Object: Details about the page viewed, including path, referrer, url, etc. | input.properties |
Payment Info Entered
Output Key | Description | Expected Input |
---|---|---|
events Required | Array of Event Objects: A list of event objects containing user interaction details. | N/A - Expression (see rows below) |
Expression - identity | String: Unique identifier for the user. | input.anonymousId |
Expression - timestamp Required | String: The time at which the event occurred. | input.timestamp |
Expression - event Required | String: The name of the event, payment_info_entered. | input.event |
Expression - properties Required | Object: Details about the payment info entered, including checkout_id, order_id, etc. | input.properties |
Product Added
Output Key | Description | Expected Input |
---|---|---|
events Required | Array of Event Objects: A list of event objects containing user interaction details. | N/A - Expression (see rows below) |
Expression - identity | String: Unique identifier for the user. | input.anonymousId |
Expression - timestamp Required | String: The time at which the event occurred. | input.timestamp |
Expression - event Required | String: The name of the event, product_added. | input.event |
Expression - properties Required | Object: Details about the product added, including product_id, category, price, etc. | input.properties |
Product Clicked
Output Key | Description | Expected Input |
---|---|---|
events Required | Array of Event Objects: A list of event objects containing user interaction details. | N/A - Expression (see rows below) |
Expression - identity | String: Unique identifier for the user. | input.anonymousId |
Expression - timestamp Required | String: The time at which the event occurred. | input.timestamp |
Expression - event Required | String: The name of the event, product_clicked. | input.event |
Expression - properties Required | Object: Details about the product clicked, including product_id, category, price, etc. | input.properties |
Product List Viewed
Output Key | Description | Expected Input |
---|---|---|
events Required | Array of Event Objects: A list of event objects containing user interaction details. | N/A - Expression (see rows below) |
Expression - identity | String: Unique identifier for the user. | input.anonymousId |
Expression - timestamp Required | String: The time at which the event occurred. | input.timestamp |
Expression - event Required | String: The name of the event, product_list_viewed. | input.event |
Expression - properties Required | Object: Details about the product list viewed, including list_id, product_id, category, etc. | input.properties |
Product Viewed
Output Key | Description | Expected Input |
---|---|---|
events Required | Array of Event Objects: A list of event objects containing user interaction details. | N/A - Expression (see rows below) |
Expression - identity | String: Unique identifier for the user. | input.anonymousId |
Expression - timestamp Required | String: The time at which the event occurred. | input.timestamp |
Expression - event Required | String: The name of the event, product_viewed. | input.event |
Expression - properties Required | Object: Details about the product viewed, including product_id, category, price, etc. | input.properties |
Products Searched
Output Key | Description | Expected Input |
---|---|---|
events Required | Array of Event Objects: A list of event objects containing user interaction details. | N/A - Expression (see rows below) |
Expression - identity | String: Unique identifier for the user. | input.anonymousId |
Expression - timestamp Required | String: The time at which the event occurred. | input.timestamp |
Expression - event Required | String: The name of the event, products_searched. | input.event |
Expression - properties Required | Object: Details about the search performed, including the query string. | input.properties |
Required Identifiers
These identifiers must be mapped to Heap in order for successful user matching to occur. Without these IDs, any events sent to Heap may not be accurately reflected in reporting. For your convenience, required and recommended IDs are mapped as Global parameters to ensure they are added to every event.
Attribute | Example | Sync Injector Required? |
---|---|---|
identity (anonymous ID) | 130161d0-8fee-4167-aa4d-d151eed27c6b | No |
user agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.110 Safari/537.36 | No |
Additional Identifiers
These identifiers should be mapped to Heap whenever possible to ensure the highest user match rates possible. If using these identifiers, they must be added as Global or Event Specific mappings.
Attribute | Description | Example |
---|---|---|
session id | An identifier corresponding to a user's session | f47ac10b-58cc-4372-a567-0e02b2c3d479 |
Additional Heap Documentation
Updated 3 months ago