FivetranTutorial

Tutorial 1: Your First Fivetran Pipeline

Build your first end-to-end ELT pipeline using Fivetran, connecting Stripe to Snowflake and transforming the data with dbt.

12 min read

Tutorial 1: Your First Fivetran Pipeline

Build your first end-to-end ELT pipeline using Fivetran, connecting Stripe to Snowflake and transforming the data with dbt.

Level: Beginner Time: 60-90 minutes Cost: Free (using trial accounts)


What You'll Build

By the end of this tutorial, you'll have:

  • A Fivetran connector syncing Stripe data to Snowflake
  • Raw payment and subscription data in your warehouse
  • dbt transformations creating analytics-ready tables
  • A basic understanding of ELT pipeline architecture

Learning Objectives

  • Set up a Fivetran account and configure a destination
  • Create and configure a SaaS connector (Stripe)
  • Understand sync modes and scheduling
  • Query raw Fivetran data in your warehouse
  • Build basic dbt transformations on Fivetran data
  • Monitor pipeline health

Prerequisites

Required Accounts (All Free Trials)

Required Skills

  • Basic SQL knowledge
  • Familiarity with command line
  • Basic understanding of data warehouses

Required Software


Architecture Overview


Part 1: Set Up Snowflake (15 minutes)

Step 1: Create Snowflake Account

  1. Go to signup.snowflake.com
  2. Fill in details:
    • Cloud Provider: AWS (default)
    • Region: US East (N. Virginia) or nearest to you
    • Edition: Enterprise (trial includes all features)
  3. Verify email and set password
  4. Log in to Snowflake web interface

Step 2: Set Up Snowflake for Fivetran

Run these commands in a Snowflake worksheet:

Step 3: Get Snowflake Connection Details

You'll need these for Fivetran:


Part 2: Set Up Fivetran (20 minutes)

Step 1: Create Fivetran Account

  1. Go to fivetran.com/signup
  2. Sign up with email (or Google/Microsoft SSO)
  3. Choose "Start Free Trial" (14 days, no credit card required)
  4. Complete onboarding questionnaire

Step 2: Add Snowflake as Destination

  1. In Fivetran dashboard, click Destinations+ Add destination
  2. Select Snowflake
  3. Fill in connection details:
  4. Click Save & Test
  5. Verify "Connection test successful" ✅

Troubleshooting:

  • ❌ "Network unreachable": Check host format (include region)
  • ❌ "Authentication failed": Verify password and user exist
  • ❌ "Insufficient privileges": Re-run Snowflake setup SQL

Step 3: Create Stripe Connector

  1. In Fivetran dashboard, click Connectors+ Add connector
  2. Search for "Stripe" and select it
  3. Click + Set up connector

Configure Stripe Connection:

  1. Connector Name: stripe_test (or your choice)
  2. Destination: Select the Snowflake destination you just created
  3. Click Authorize to connect to Stripe
  4. Log in to your Stripe account
  5. Stripe will ask for permissions → Click Allow access

Configure Sync Settings:

  1. Click Save & Test

Step 4: Configure Objects to Sync

Fivetran auto-selects common Stripe objects. For this tutorial, ensure these are selected:

  • charge - Payment transactions
  • customer - Customer records
  • subscription - Subscription records
  • invoice - Invoice records
  • plan - Subscription plans
  • payment_intent - Modern payment records
  1. Click Start Initial Sync

Step 5: Generate Test Data in Stripe (Optional)

If your Stripe account has no data:

  1. Go to Stripe Dashboard
  2. Toggle to Test Mode (switch in sidebar)
  3. Create test customers and charges:

Or use the dashboard:

  • Navigate to Customers+ New
  • Add a few test customers
  • Create test charges/invoices

Step 6: Monitor Initial Sync

  1. Go to Connectorsstripe_test
  2. Watch the sync progress in real-time
  3. Initial sync may take 5-15 minutes depending on data volume

Sync Status:

  • 🟡 Syncing - In progress
  • 🟢 Succeeded - Completed successfully
  • 🔴 Failed - Check error logs

Part 3: Verify Data in Snowflake (10 minutes)

Step 1: Check Schemas Created by Fivetran

Step 2: Explore Raw Stripe Data

Step 3: Understand Fivetran Schema Mapping

Fivetran transforms Stripe's nested JSON into flat relational tables:


Part 4: Build dbt Transformations (30 minutes)

Step 1: Initialize dbt Project

Step 2: Configure dbt Profile

Edit ~/.dbt/profiles.yml:

Step 3: Create Analytics Database in Snowflake

Step 4: Test dbt Connection

Step 5: Configure Sources

Create models/sources.yml:

Step 6: Create Staging Models

Create models/staging/stripe/stg_stripe__customers.sql:

Create models/staging/stripe/stg_stripe__charges.sql:

Step 7: Create Business Logic Models

Create models/marts/customers.sql:

Create models/marts/revenue_by_day.sql:

Step 8: Run dbt

Step 9: Query Transformed Data


Part 5: Monitor & Maintain (10 minutes)

Step 1: Set Up Fivetran Alerts

  1. In Fivetran dashboard, go to SettingsNotifications
  2. Add email notification:
    • Event: Sync failures
    • Email: [your email]
  3. Save

Step 2: Check Source Freshness

Step 3: Schedule Regular Syncs

In Fivetran:

  1. Go to connector → Setup tab
  2. Set Sync Frequency: Every 6 hours (or based on your needs)
  3. Save

Step 4: Monitor Pipeline Health

Create a simple monitoring query:


Congratulations! 🎉

You've built your first complete ELT pipeline!

What You Accomplished

✅ Connected Stripe to Snowflake via Fivetran ✅ Synced payment and customer data automatically ✅ Built staging models to clean raw data ✅ Created business logic models for analytics ✅ Set up monitoring and alerts ✅ Generated documentation

Your ELT Pipeline


Next Steps

Immediate Actions

  1. Add more transformations: Build additional metrics (MRR, churn, cohorts)
  2. Connect a BI tool: Tableau, Looker, or Mode to visualize data
  3. Add tests: More dbt tests for data quality
  4. Automate dbt: Run dbt after each Fivetran sync

Level Up

  1. Try Tutorial 2: Multi-Source Sales Analytics
  2. Add more connectors: Connect additional data sources
  3. Optimize costs: Review MAR usage and exclude unnecessary data
  4. Implement CI/CD: Automate dbt runs with GitHub Actions

Learn More


Troubleshooting

Fivetran Issues

Sync Failed

No Data Syncing

dbt Issues

Connection Failed

Model Failed


Summary

Time Invested: ~90 minutes Value Created: Automated, tested, documented data pipeline Skills Gained: Fivetran setup, dbt modeling, ELT architecture

Cost Breakdown:

  • Snowflake: $0 (trial credits)
  • Fivetran: $0 (free tier < 500k MAR)
  • Stripe: $0 (test mode)
  • Total: $0

You now have hands-on experience with modern ELT!

Questions or need help? Contact me for consulting, training, or custom implementation support.

Stay in the loop

Get weekly insights on data engineering, analytics, and AI—delivered straight to your inbox.

No spam. Unsubscribe anytime.