Snowplow Setup Guide
Follow our setup guide to connect Snowplow to Fivetran.
Prerequisites
To connect Snowplow to Fivetran, you need a website or an app with a Snowplow tracker.
IMPORTANT: Only use an HTTPS URL with TLS version 1.2 or above.
Invoking the Snowplow emitter
Invoke the Snowplow emitter according to the language you have used in your project. We officially support the JavaScript tracker, but we try our best to integrate with trackers in other languages. You can find the tracking code from Snowplow's documentation.
You have to copy the tracking code from Snowplow's documentation and replace the emitter with the endpoint beginning with webhooks.fivetran.com/snowplow/
, which you can find in the Fivetran setup form.
We support Snowplow JavaScript Tracker version 2.15.0.
NOTE: Contact our support team for more information on integrating your tracker with other languages.
Setup instructions
Find collector endpoint
In the connector setup form, enter the Destination schema name of your choice.
Find the connection-specific collector endpoint and make a note of it. The collector endpoint will have the
webhooks.fivetran.com/snowplow/<endpoint_ID>
format. You will need it to configure Snowplow to connect with Fivetran.
Initialize a tracker in Snowplow
JavaScript tracker
Initialize a tracker using the collector endpoint you found in Step 1. Use the following format to initialize the tracker:
snowplow_name_here("newTracker", "sp", "<<collector_url_here>>", {
appId: "cfe23a",
platform: "web",
contexts: {
webPage: true,
performanceTiming: true
}
});
The "newTracker" string indicates tracker initialization and has three arguments:
Argument | Description |
---|---|
sp | The tracker namespace |
collector_url_here | The collector endpoint. Events are sent to the collector URL you specify, which replaces <<collector_url_here>> |
argmap | An optional argmap containing other settings. It is used to set the app ID and platform for the tracker and a couple of common contexts for each event. Each event the tracker sends will have an app ID field set to 'cfe23a' and a platform field set to 'web' |
NOTE: See Snowplow's wiki for more information.
Ruby tracker
Initialize a tracker using the collector endpoint you found in Step 1. Use the following format to initialize the tracker:
emitter = SnowplowTracker::Emitter.new("d3rkrsqld9gmqf.cloudfront.net")
tracker = SnowplowTracker::Tracker.new(emitter)
NOTE: See Snowplow's Ruby tracker wiki for more information.
Configure the tracker
Copy the following snippet into the <head>
section of your web page:
<!-- Snowplow starts plowing -->
<script type='text/javascript'>
;(function(p,l,o,w,i,n,g){if(!p[i]){p.GlobalSnowplowNamespace=p.GlobalSnowplowNamespace||[];
p.GlobalSnowplowNamespace.push(i);p[i]=function(){(p[i].q=p[i].q||[]).push(arguments)
};p[i].q=p[i].q||[];n=l.createElement(o);g=l.getElementsByTagName(o)[0];n.async=1;
n.src=w;g.parentNode.insertBefore(n,g)}}(window,document,'script','//cdn.jsdelivr.net/gh/snowplow/sp-js-assets@2.15.0/sp.js','snowplow'));
// Initialize a tracker
window.snowplow('newTracker', 'cf', 'webhooks.fivetran.com/snowplow/{
appId: {app-id}' ,
cookieDomain: {cookie-domain},
post: true
});
window.snowplow('trackPageView');
</script>
<!-- Snowplow stops plowing -->
Argument | Description |
---|---|
<endpoint_ID> | Your Fivetran emitter endpoint |
app-id | An arbitrary string representing your app, such as 'cfe23a' |
cookieDomain | A string that specifies where Snowplow should store its data, or null |
(Optional) Enable enrichments
- Set the Enable Enrichments toggle to On.
- Enter your Configuration Repository URL. For example, enter "https://my_repository.com/config/snowplow/" if you can access the JSON configuration file using "https://my_repository.com/config/snowplow/campaign_attribution.json".
IMPORTANT: We will sync the events without enrichment if there are no configuration files in your repository.
Finish Fivetran configuration
Click Save & Test. Fivetran will load events into your destination.
IMPORTANT: It takes us around 10 to 15 minutes to load the first event into your destination.
Related articles
description Connector Overview
account_tree Schema Information
settings API Connector Configuration