Saas categoryCertified by Stitch

Learn more about syncing Heap data

Documentation

Detailed documentation on how to start syncing Heap data.

Heap Documentation

Divider

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 →
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 {% 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 %}

Start replicating your Heap data

Select your integrations, choose your warehouse, and enjoy Stitch free for 14 days.

Set up in minutesUnlimited data volume during trial

Simplify your PostgreSQL migration

When it comes to replicating your data to PostgreSQL, 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.

Divider

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

Analysis Tools Asset
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

Divider

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
IconSimple setup
Start replicating data in minutes, and never worry about ETL maintenance.
IconOwn your own data infrastructure
Stitch replicates to your warehouse, meaning you’re always in control.
IconMature 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.