Siloed or Warehoused? Auditing a Data Source Inventory
Objective: Given a synthetic inventory of 7 data sources in use at a mid-size financial services company, determine which feed a shared warehouse and which remain siloed, and flag where the same customer-qualification concept is defined twice.
You're the marketing operations lead at Utkarsh Small Finance Bank, which now runs digital lending, WhatsApp banking, branch CRM, and paid acquisition side-by-side. You've been handed a spreadsheet inventory of every data source someone logs into to check a number.
Find every source that still requires a manual login-and-export, and find the one definition that's silently drifted between two tools.
Before you start
What you'll need
Free path (everything below is enough to finish)
Free, a 7-row inventory needs nothing more
Paid upgrades (optional, faster/deeper)
The audit itself is free; fixing the two manually-exported sources is what actually needs a paid connector or engineering time.
Purpose-built to collect scattered sources into one stream, per the lesson's Layer 1
The process
1 step
Step 01 of 01
The lesson's 'Why This Beats Point Solutions' section warns that when 'qualified lead' is defined separately in two tools, the definitions drift apart silently and the two systems start disagreeing about the same customer.
HubSpot CRM defines a qualified lead as '2+ engagement touches AND loan amount inquiry >= Rs 50,000.' The paid-ads platform's custom-audience rule syncs anyone who 'clicked the loan calculator.' Are these the same population?
Procedure
- List all 7 sources: GA4, HubSpot CRM, WhatsApp banking logs, branch CRM export, Meta Ads, digital lending app, Segment
- Mark each Y/N for 'flows into a shared warehouse automatically'
- For HubSpot CRM and Meta Ads specifically, write out their own stated qualified-lead rule verbatim
- Compare the two rules side by side, note where they diverge
- Flag every N-marked source as a manual-export risk
Source inventory, Utkarsh SFB SOURCE WAREHOUSE-CONNECTED OWN LEAD RULE GA4 Y n/a (raw events) HubSpot CRM Y 2+ touches AND inquiry >= Rs50k WhatsApp banking logs N n/a Branch CRM export N n/a Meta Ads Y clicked loan calculator Digital lending app Y n/a Segment Y n/a DRIFT: HubSpot's rule requires a Rs50k+ inquiry; Meta Ads' rule only requires a calculator click. Meta's synced audience is broader than HubSpot's actual qualified list.
Healthy
The team documents the drift and routes both definitions through one dbt model so both tools sync from the same rule.
Unhealthy
The team assumes both platforms are counting the same people because both use the word 'qualified.'
What this means
Two tools can each be internally consistent and still disagree with each other; the drift is invisible until someone lines the rules up side by side.
So what do I do about it?
| Symptom | Action | Effort |
|---|---|---|
| Meta Ads lookalike audience underperforms against HubSpot's actual close rate | Rebuild the Meta sync from the HubSpot-defined rule, not the calculator-click proxy | half day |
| 2 of 7 sources still require manual export | Prioritize WhatsApp banking logs and branch CRM for the next connector build | dev ticket |
Final deliverable
A source inventory marking warehouse-connected vs. manual-export sources, plus the specific rule-drift finding between two tools' lead definitions.
See a reference example
Source audit, Five-Star Business Finance digital acquisition stack WAREHOUSE-CONNECTED: 5 of 8 sources MANUAL-EXPORT RISK: branch loan-officer spreadsheets, IVR call logs DRIFT FOUND: Google Ads 'qualified' audience syncs on 'loan application started'; internal CRM 'qualified' requires 'credit check passed.' Application-started is a much wider net than credit-check-passed.
Success criteria
You're done when you can:
- Correctly marks all 7 sources warehouse-connected or not
- Correctly identifies the specific rule mismatch between HubSpot CRM and Meta Ads