Two powerful tools, together

Integrate Heap and Branch to turn your data into actionable insights.

Heap builds analytics infrastructure for online businesses.

Stitch offers detailed documentation on how to sync your Heap data.

Stitch Heap Documentation

Branch is a deep linking and business analytics platform offering developer tools for large and independent mobile application companies.

Stitch offers detailed documentation on how to sync your Branch data.

Stitch Branch Documentation

Jumpstart your Heap analytics with reusable blocks

dbt packages can speed up your work

Once you replicate your Heap data with Stitch, you can use it in many ways. For example, you can use the data modeling and transformation tool dbt to prepare data for reporting, analytics, or machine learning applications.

Dbt has prebuilt packages for many Stitch data sources, including Heap. Here’s a look at code for modeling Heap data. This particular block of code sessionizes your Heap data.

View the source on GitHub →
                        
                          {% macro heap_sessions() %}
    {{ adapter_macro('heap.heap_sessions') }}
{% endmacro %}
{% macro default__heap_sessions() %}
{% set window_clause =
    "over
        (partition by session_id
        order by session_start_time
        rows between unbounded preceding and unbounded following
    )"
%}
{% set last_value_columns = [
    'user_id',
    'session_start_time',
    'library',
    'platform',
    'device',
    'device_type',
    'carrier',
    'app_name',
    'app_version',
    'country',
    'region',
    'city',
    'ip',
    'referrer',
    'landing_page',
    'browser',
    'search_keyword',
    'utm_source',
    'utm_campaign',
    'utm_medium',
    'utm_term',
    'utm_content'
]%}
with base as (
    select * from {{var('sessions_table')}}
),
cleaned as (
    select
        user_id,
        session_id,
        {{heap.time_field('session_start_time')}},
        library,
        platform,
        device,
        device_type,
        carrier,
        app_name,
        app_version,
        country,
        region,
        city,
        ip,
        referrer,
        rtrim(landing_page, '/') as landing_page,
        browser,
        search_keyword,
        nullif(utm_source, '') as utm_source,
        nullif(utm_campaign, '') as utm_campaign,
        nullif(utm_medium, '') as utm_medium,
        nullif(utm_term, '') as utm_term,
        nullif(utm_content, '') as utm_content
    from base
),
deduped as (
    --this sucks to have to do but heap frequently sends duplicate session data
    --and it forces us to have to deduplicate based on session_id in modeling
    select distinct
        session_id,
        {% for column in last_value_columns %}
            last_value({{ column }}) {{window_clause}}
                as {{ column }}
            {% if not loop.last%} , {% endif %}
        {% endfor %}
    from cleaned
)
select * from deduped
{% endmacro %}
                        
                      

Heap and Branch to your data warehouse in minutes

Stitch delivers all your data to the leading data lakes, warehouses, and storage platforms.

All your data, where you need it

Give your analysts, data scientists, and other team members the freedom to use the analytics tools of their choice.

See all analysis tools

Asset analysis tools
The best part? Zero engineering or ongoing maintenance. It's a no-brainer for Stitch to handle our data pipelines while our teams stay focused on our core business and growth.

Dave Riggs

Director of Acquisition Marketing, Laurel & Worf

Why our customers choose Stitch

Stitch is a simple, powerful ETL service built for developers. Stitch connects to your first-party data sources – from databases like MongoDB and MySQL, to SaaS tools like Salesforce and Zendesk – and replicates that data to your warehouse. With Stitch, developers can provision data for their internal users in minutes, not weeks.

Explore all of Stitch's features
Simple setup
Start replicating data in minutes, and never worry about ETL maintenance.
Own your own data infrastructure
Stitch replicates to your warehouse, meaning you’re always in control.
Mature replication engine
Accurate data from any structure, all the time.
Explore all of Stitch's features

Connect to your ecosystem of data sources

Stitch integrates with leading databases and SaaS products. No API maintenance, ever, while you maintain full control over replication behavior.