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)
- Snowflake: 30-day free trial with $400 credit
- Fivetran: 14-day free trial
- Stripe: Test mode account (free forever)
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
- Go to signup.snowflake.com
- Fill in details:
- Cloud Provider: AWS (default)
- Region: US East (N. Virginia) or nearest to you
- Edition: Enterprise (trial includes all features)
- Verify email and set password
- 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
- Go to fivetran.com/signup
- Sign up with email (or Google/Microsoft SSO)
- Choose "Start Free Trial" (14 days, no credit card required)
- Complete onboarding questionnaire
Step 2: Add Snowflake as Destination
- In Fivetran dashboard, click Destinations → + Add destination
- Select Snowflake
- Fill in connection details:
- Click Save & Test
- 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
- In Fivetran dashboard, click Connectors → + Add connector
- Search for "Stripe" and select it
- Click + Set up connector
Configure Stripe Connection:
- Connector Name:
stripe_test(or your choice) - Destination: Select the Snowflake destination you just created
- Click Authorize to connect to Stripe
- Log in to your Stripe account
- Stripe will ask for permissions → Click Allow access
Configure Sync Settings:
- 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
- Click Start Initial Sync
Step 5: Generate Test Data in Stripe (Optional)
If your Stripe account has no data:
- Go to Stripe Dashboard
- Toggle to Test Mode (switch in sidebar)
- 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
- Go to Connectors →
stripe_test - Watch the sync progress in real-time
- 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
- In Fivetran dashboard, go to Settings → Notifications
- Add email notification:
- Event: Sync failures
- Email: [your email]
- Save
Step 2: Check Source Freshness
Step 3: Schedule Regular Syncs
In Fivetran:
- Go to connector → Setup tab
- Set Sync Frequency: Every 6 hours (or based on your needs)
- 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
- Add more transformations: Build additional metrics (MRR, churn, cohorts)
- Connect a BI tool: Tableau, Looker, or Mode to visualize data
- Add tests: More dbt tests for data quality
- Automate dbt: Run dbt after each Fivetran sync
Level Up
- Try Tutorial 2: Multi-Source Sales Analytics
- Add more connectors: Connect additional data sources
- Optimize costs: Review MAR usage and exclude unnecessary data
- 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.