Saas category Free integration Certified by Stitch

Learn more about syncing Heap data

Documentation

Detailed documentation on how to start syncing Heap data.

Heap 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 %}
                          
                        

Simplify your Microsoft Azure Synapse Analytics migration

When it comes to replicating your data to Microsoft Azure Synapse Analytics, conventional ETL is no longer the only game in town.

Writing ETL code requires big investments of time, money, and expertise that might otherwise be used for innovation. Most importantly, newer approaches to data ingestion deliver faster implementation than traditional ETL, so you can produce data analytics and business intelligence more quickly.

This is where Stitch can help.

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
Stitch allowed us to set up a data pipeline within a day. It helped us avoid the hassle of building a data infrastructure team. The quick turnaround time allowed us to gather insights almost near real time.

Ashok Varma

Founder and CEO, ReportGarden

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.