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.
Product Type: Analytics
Integration Type: Starter Kit
Event Source Type: Web
Event Scope: Full-Funnel Events
- Sends server-side event data to Heap, eliminating the need for a Heap tag on the site.
- Captures a wide range of user interactions (page views, product views, cart additions, and more) through the track endpoint.
- Supports conversion events such as cart views, checkout starts, and order completions for funnel analysis.
- Tracks interactions with products and promotions to understand user preferences and campaign effectiveness.
- Supports defining and tracking custom events specific to your business needs.
- By default, events are sent to Heap's US endpoint. If your Heap account is provisioned in the EU, update the
DATACENTER_ENDPOINT parameter to point to Heap's EU endpoint instead.
- MetaRouter sends the
anonymousId as the identity parameter on each event so Heap can track user attributes and build user profiles.
- A session ID can be added as a Global or Event Specific mapping to improve user match rates when available.
- Heap's session replay feature, which visually reconstructs user interactions on the site, relies on client-side data and is not available with server-side tracking.
- App ID: Follow Heap's documentation to find your Heap App ID.
- User ID: Comes from the Heap SDK. Contact your Heap support team to obtain this value.
- From the integration library, add a Heap integration. Then, fill out the Connection Parameters:
| Connection Parameter | Description |
|---|
APP_ID | Heap app ID. |
DATACENTER_ENDPOINT | Base URL for Heap's API. Defaults to the US endpoint; set to Heap's EU endpoint if your account is provisioned in the EU. |
- 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.
- In the Pipelines tab, add your Heap 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 |
|---|
app_id Required | String: The environment ID corresponding to one of your environments. | $$APP_ID$$ |
| Output Key | Description | Expected Input |
|---|
events Required | Array of Objects: Builds a Pageview event with identity, timestamp, and page properties (path, referrer, search, title, url). | Expression – builds the Heap event array from input |
| Output Key | Description | Expected Input |
|---|
events Required | Array of Objects: Builds a products_searched event with identity, timestamp, and the search query. | Expression – builds the Heap event array from input |
| Output Key | Description | Expected Input |
|---|
events Required | Array of Objects: Builds a product_list_viewed event per product with identity, timestamp, list ID, and product details (category, name, product_id, sku, url, price, revenue). | Expression – builds the Heap event array from input.properties.products |
| Output Key | Description | Expected Input |
|---|
events Required | Array of Objects: Builds a product_viewed event with identity, timestamp, and product details (brand, cart_id, category, coupon, name, position, price, product_id, quantity, sku, url, variant). | Expression – builds the Heap event array from input.properties |
| Output Key | Description | Expected Input |
|---|
events Required | Array of Objects: Builds a product_clicked event with identity, timestamp, and product details (brand, cart_id, category, coupon, name, position, price, product_id, quantity, sku, url, variant). | Expression – builds the Heap event array from input.properties |
| Output Key | Description | Expected Input |
|---|
events Required | Array of Objects: Builds a product_added event with identity, timestamp, and product details (brand, cart_id, category, coupon, name, position, price, product_id, quantity, sku, url, variant). | Expression – builds the Heap event array from input.properties |
| Output Key | Description | Expected Input |
|---|
events Required | Array of Objects: Builds a cart_viewed event per product with identity, timestamp, cart ID, and product details (category, name, product_id, sku, url, price, revenue); falls back to a single event with just the cart ID when no products are present. | Expression – builds the Heap event array from input.properties.products |
| Output Key | Description | Expected Input |
|---|
events Required | Array of Objects: Builds a checkout_started event per product with identity, timestamp, and product details (category, name, product_id, sku, url, price, revenue). | Expression – builds the Heap event array from input.properties.products |
| Output Key | Description | Expected Input |
|---|
events Required | Array of Objects: Builds a payment_info_entered event with identity and the checkout and order IDs. | Expression – builds the Heap event array from input.properties |
| Output Key | Description | Expected Input |
|---|
events Required | Array of Objects: Builds an order_completed event per product with identity, timestamp, order ID, and product details (category, name, product_id, sku, url, price, revenue); falls back to a single event with just the order ID when no products are present. | Expression – builds the Heap event array from input.properties.products |
| Output Key | Description | Expected Input |
|---|
events Required | Array of Objects: Builds a promotion_clicked event with identity, timestamp, and promotion details (creative, name, position, promotion_id). | Expression – builds the Heap event array from input.properties |
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 | 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 |
Coordinate with your Heap representative, or use the Heap dashboard, to confirm that events are being received and processed correctly on their backend.