ETL and Connectors
Pipe data in.
ETL and Connectors is a free Digital Marketing Academy lesson on CoddyKit — lesson 2 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Digital Marketing Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
ETL vs ELT
Classic ETL extracts data, transforms it on an external server, then loads the clean result. Modern warehouses flip the last two steps: ELT extracts and loads raw data first, then transforms inside the warehouse using SQL.
ELT wins because warehouse compute is cheap and elastic. You keep raw data forever, can re-transform when business logic changes, and never lose detail to a premature cleanup step.
ETL (old) Extract -> Transform -> Load
ELT (new) Extract -> Load -> Transform
ELT benefits:
- raw data preserved (re-model anytime)
- transform in SQL, in the warehouse
- scales with warehouse computeWhat a Connector Does
A connector is the EL engine: it authenticates to a source's API, pulls records on a schedule, and writes them into warehouse tables matching the source schema. It handles pagination, rate limits, retries, and schema changes so you don't write fragile scripts.
Managed connectors turn a week of API plumbing into a few clicks of OAuth and a sync frequency setting.
Managed Connector Tools
Several platforms specialize in pre-built marketing connectors. Fivetran and Airbyte are general EL tools with hundreds of sources. Funnel, Supermetrics, and Adverity focus specifically on marketing and ad data.
The tradeoff: managed tools cost money (often per row or per active source) but save engineering time and self-heal when APIs change. For volatile ad APIs, that reliability is worth a lot.
Popular EL / connector tools
General: Fivetran, Airbyte, Stitch
Marketing: Funnel, Supermetrics, Adverity
Native free: GA4 -> BigQuery export
Open source: Airbyte (self-host) , Singer tapsAuthentication and OAuth
Most marketing sources authenticate with OAuth 2.0: you grant the connector scoped, revocable access without sharing a password. The connector stores a refresh token and silently renews access.
Watch token expiry and permission scopes. A common failure is a marketer who set up the connection leaving the company, revoking the OAuth grant and silently breaking every sync downstream.
Auth patterns by source
Google Ads / GA4 -> OAuth 2.0 + developer token
Meta Ads -> OAuth + long-lived token
Stripe / Shopify -> API key (secret)
HubSpot -> Private app token / OAuth
Tip: connect via a service account, not a personIncremental vs Full Loads
A full load re-pulls every record each sync, simple but expensive and slow at scale. An incremental load fetches only records changed since the last sync, using a cursor like an updated_at timestamp.
Most production pipelines use incremental syncs for volume and periodic full refreshes to catch deletes and corrections. Choosing the cursor correctly is the difference between fresh data and silent gaps.
Incremental sync logic
last_synced = 2026-06-13 02:00
SELECT * FROM source
WHERE updated_at > last_synced;
-- store new cursor = MAX(updated_at)
-- full refresh weekly to catch deletesSchema Drift
Source APIs change without warning: a platform renames a field, adds a column, or alters a data type. This is schema drift, and it silently breaks downstream models and dashboards.
Good connectors auto-detect new columns and add them, log type changes, and alert on breaking changes. Still, your transformation layer should be tested so drift surfaces as a failed test, not a wrong number on the CEO's dashboard.
Sync Frequency and Freshness
How fresh does marketing data need to be? Daily is fine for spend reporting; intraday matters for pacing live campaigns. More frequent syncs mean higher connector and warehouse cost.
Match cadence to the decision. A budget-pacing dashboard may sync hourly, while an LTV cohort model that updates monthly needs only a nightly load. Don't pay for freshness no one acts on.
Match cadence to use case
Live budget pacing -> hourly
Daily spend report -> nightly
Monthly LTV cohorts -> nightly is plenty
Finance close -> daily + monthly full refreshThe Raw Landing Zone
Connectors should write to a dedicated raw schema, untouched and append-only. Never let analysts or BI tools query raw tables directly, and never transform in place.
The raw zone is your insurance: if a transform has a bug or business logic changes, you replay from raw without re-pulling from APIs. Treat it as the immutable system of record.
Layered destination
raw.google_ads__campaign_stats <- connector writes here
raw.meta_ads__insights
raw.ga4_events
| dbt transforms
v
staging.* -> marts.* <- everyone else reads hereReverse ETL
The pipeline can run backward too. Reverse ETL syncs modeled data from the warehouse back into operational tools: pushing a computed LTV segment into Meta for a lookalike audience, or a churn score into Salesforce.
This closes the loop. The warehouse stops being a reporting dead-end and becomes the brain that feeds smarter targeting and personalization back to the channels.
Reverse ETL flow
[ WAREHOUSE model: high_ltv_users ]
| Census / Hightouch
v
[ Meta Custom Audience ] [ Salesforce field ]
Use: lookalikes, suppression lists, lead scoringBuild vs Buy
You can write your own Python extractors against each API, full control, no per-row fees. But you then own auth refresh, rate limits, pagination, schema drift, and on-call when an API changes at 2 a.m.
Most teams buy managed connectors for standard sources and build custom only for niche or proprietary systems. Engineering time is usually scarcer than connector subscription budget.
Build vs buy checklist
Buy when: source is common, you value reliability
Build when: source is niche / has no connector,
volume makes per-row pricing painful,
you have engineers to maintain itMonitoring Pipelines
A silent pipeline failure is worse than a loud one, because people keep trusting stale dashboards. Production EL needs monitoring: sync success alerts, freshness checks, and row-count anomaly detection.
Set freshness SLAs (for example, ad spend must be no older than 24 hours) and alert when breached. Trust in data is built on knowing the moment it goes stale, not discovering it in a meeting.
Freshness check (dbt-style)
sources:
- name: google_ads
freshness:
warn_after: {count: 12, period: hour}
error_after: {count: 24, period: hour}
loaded_at_field: _synced_atQuick Check
Your warehouse compute is cheap and elastic, and you want to preserve full source detail so you can re-model when business logic changes. Which loading pattern fits, and where should transforms happen?
Recap
Connectors are the EL engine that authenticates to sources, handles incremental syncs and schema drift, and lands raw data in an immutable zone. Managed tools like Fivetran, Airbyte, and Supermetrics trade subscription cost for reliability.
Modern stacks favor ELT, transforming inside the warehouse, add reverse ETL to push insights back to channels, and treat pipeline monitoring and freshness SLAs as essential, not optional.
Frequently asked questions
Is the “ETL and Connectors” lesson free?
Yes — the full text of “ETL and Connectors” is free to read here on the web, and the Digital Marketing Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Digital Marketing Academy course, upgrade to CoddyKit PRO.
What will I learn in “ETL and Connectors”?
Pipe data in. You practise Digital Marketing Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Digital Marketing Academy?
No prior experience is required. Digital Marketing Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 2 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “ETL and Connectors” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Digital Marketing Academy lesson?
Yes. Every Digital Marketing Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Why a Warehouse
- ETL and Connectors
- Modeling Marketing Data
- Dashboards That Drive Action