Reverse ETL reverses the data flow — analytical data from the warehouse is sent back to CRM, marketing, and other tools.
What is Reverse ETL¶
It takes analysis results and syncs them into systems where the business uses them.
Use Cases¶
- Lead scoring → Salesforce
- Segmentation → Google Ads
- Personalization → Braze
- Alerting → Slack
def sync_to_hubspot(warehouse, api_key):
segments = warehouse.execute("""
SELECT email, segment, ltv_czk
FROM gold.customer_segments
WHERE updated_at > :last_sync
""")
for batch in chunk(segments, 100):
requests.post(
"https://api.hubapi.com/contacts/v1/kontakt/batch/",
headers={"Authorization": f"Bearer {api_key}"},
json=[{"email": r["email"],
"properties": [{"property": "segment", "value": r["segment"]}]
} for r in batch]
)
Tools¶
- Census — 150+ connectors
- Hightouch — dbt integration
- Custom — Airflow + API
Summary¶
Reverse ETL closes the data cycle — analytical data directly drives business processes.
reverse etldata activationsyncwarehouse