Join your Heap and Harvest Forecast data
Stitch can replicate data from all your sources (including Heap and Harvest Forecast) to a central warehouse. From there, it's easy to perform the in-depth analysis you need.
Stitch can replicate data from all your sources (including Heap and Harvest Forecast) to a central warehouse. From there, it's easy to perform the in-depth analysis you need.
Integrate Heap and Harvest Forecast 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.
Harvest Forecast helps you schedule your team across upcoming projects
Stitch offers detailed documentation on how to sync your Harvest Forecast data.
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 %}
Stitch delivers all your data to the leading data lakes, warehouses, and storage platforms.
Give your analysts, data scientists, and other team members the freedom to use the analytics tools of their choice.
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.
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 featuresSelect your integrations, choose your warehouse, and enjoy Stitch free for 14 days.
Set up in minutesUnlimited data volume during trial
Stitch integrates with leading databases and SaaS products. No API maintenance, ever, while you maintain full control over replication behavior.
ActiveCampaign
AdRoll
Aftership
Amazon Aurora MySQL
Amazon Aurora PostgreSQL
Amazon RDS for MariaDB
Amazon RDS for MySQL
Amazon RDS for Oracle Database
Amazon RDS for PostgreSQL
Amazon RDS for SQL Server
Amazon S3 CSV
Amplitude
AppsFlyer
Asana
Autopilot
Autopilot Activities
BigCommerce
Braintree
Branch
Campaign Manager
Campaign Monitor
Chargebee
Circle CI
Close
Club Speed
Codat
Contentful
Customer.io
Delighted
Deputy
Desk.com
Dixa
Drip
DynamoDB
Eloqua
Facebook Ads
FormKeep
Freshdesk
Front
FullStory
GitHub
GitLab
Google Ads
Google Analytics
Google Analytics 360
Google Analytics 4
Google Cloud SQL MySQL
Google Cloud SQL PostgreSQL
Google Ecommerce
Google Search Console
Google Sheets
Harvest
Harvest Forecast
Heap
Help Scout
Heroku
HubSpot
IBM Db2
Impact
Import API
Intacct
Intercom
Invoiced
Iterable
Jira
Klaviyo
Lever
LinkedIn Ads
Listrak
LivePerson
LookML
Magento
Mailchimp
Mailjet
Mailshake
Mambu
MariaDB
Marketo
Microsoft Advertising (Bing Ads)
Microsoft Azure SQL Server Database
Microsoft SQL Server
Microsoft Teams
Mixpanel
MongoDB
MySQL
Netsuite
Netsuite Suite Analytics
Onfleet
Oracle
Oracle Netsuite Bronto Marketing Platform
Outbrain
Outreach
Pardot
Particle
Pendo
Pepperjam
Pinterest Ads
Pipedrive
Platform Purple
PostgreSQL
Quick Base
QuickBooks
Recharge
Recurly
Referral SaaSquatch
Responsys
Revinate
RingCentral
SFTP
Sailthru
Salesforce
Salesforce Marketing Cloud
Segment
Selligent
SendGrid
SendGrid Core
Sendwithus
ShipHero
Shippo
Shopify
Snapchat Ads
SparkPost
Square
Stripe
SurveyMonkey
Taboola
TikTok Ads
Toggl
Twilio
Typeform
Urban Airship
UserVoice
Vero
Webhooks
Workday RaaS
Xero
Yotpo
Zapier
Zendesk Chat
Zendesk Support
Zoom
Zoom (OAuth Review)
Zuora