Quick answer
Data lineage is the documented path of data from its sources through every transformation to the reports and systems that use it, at table, column or business-metric level, used for root-cause analysis, impact analysis, audit and compliance.
What is data lineage?
Data lineage is the record of where a piece of data came from, what happened to it along the way, and where it ended up. For a number on a dashboard, lineage answers: which events or source tables feed it, which jobs transformed them, which filters and definitions were applied, and which other reports reuse it.
Lineage can be captured at different levels of detail:
- Table or dataset level: this dashboard reads table B, which is built from tables A1 and A2.
- Column or field level: the
revenuecolumn comes fromorder_totalminusrefund_amount, converted to USD. - Business level: the "Weekly active users" metric means people with at least one qualifying event in the last 7 days, owned by the product analytics team.
Why data lineage matters
| Use | Question lineage answers | Example |
|---|---|---|
| Root-cause analysis | Why did this number change? | WAU fell 18%: trace upstream to an app release that stopped sending an event on iOS |
| Impact analysis | What breaks if I change this? | Renaming the property plan affects 3 dashboards, 1 funnel and a weekly email |
| Trust and audit | Can I rely on this figure? | Finance can see that "revenue" excludes refunds and tax |
| Privacy and compliance | Where does personal data flow? | An email field reaches an export job it should not |
| Cost and cleanup | Is anyone still using this? | A table with no downstream consumers can be retired |
A worked example: tracing a metric
Lineage for "Weekly active users (web)" in a typical analytics stack (sample):
| Step | System | What happens | What can go wrong |
|---|---|---|---|
| 1 | Browser script | Sends a pageview or event when a visitor acts | Script blocked, not installed on new pages |
| 2 | Collector endpoint | Validates and accepts the hit | Domain not registered, quota reached, bot filtered |
| 3 | Event store | Writes the raw event with time, visitor id, properties | Clock skew, property dropped by a validation rule |
| 4 | Daily person table | Rolls events up to one row per person per day | Event excluded from "counts as active" |
| 5 | Metric definition | Counts distinct people active in the last 7 days | Definition changed, window or time zone changed |
| 6 | Dashboard and report | Displays the metric and compares periods | Wrong filter saved on the dashboard |
When WAU drops, walk the table from the bottom up: was the definition or filter changed? Did the daily roll-up exclude something? Did fewer raw events arrive, and if so, were they rejected at the collector or never sent? Each step either explains the drop or rules itself out.
Data lineage vs related ideas
- Data provenance is narrower: the origin and history of a specific record, often for audit or science. Lineage covers the whole flow.
- Data dictionary defines what each field means; lineage shows how fields connect.
- Data observability monitors freshness, volume and schema in production; lineage tells you where an anomaly came from and what it affects.
- Data governance sets rules and ownership; lineage is one of the tools that makes those rules checkable.
How lineage is captured
- Parsing code and queries. SQL and transformation code reveal which tables and columns feed which.
- Reading platform metadata. Warehouses, orchestration tools and BI tools log reads and writes.
- Declaring it in models. Transformation frameworks build a dependency graph from the models you write.
- Documenting it manually. For tracking, the tracking plan is the upstream end of lineage: which event comes from which screen, platform and release.
Automated lineage is accurate for code it can parse; it misses manual steps such as spreadsheets and copy-paste. Plan for both.
Common mistakes
- Treating lineage as a diagram project. A graph nobody uses during incidents goes stale in weeks. Start from the three or four metrics leadership looks at.
- Stopping at the warehouse. Many data problems start at collection: tracking code, consent, blocking. Include the tracking layer.
- No owners. Every node in the lineage needs a person or team to ask.
- Ignoring definitions. Two dashboards can share every table and still disagree because one counts sessions and the other counts people.
In TapCub
TapCub does not draw a lineage graph, but it exposes the steps where analytics data is most often lost. The tracking plan records each event's platforms, trigger, properties, owner and status from proposed to live. The data quality page shows ingestion warnings, collector rejects by reason (domain mismatch, exclusion rule, quota, rate limit, invalid payload, bots), blocked properties and events that stopped arriving. When a metric moves unexpectedly, those two pages cover the top of the lineage table above. For the rest of a pipeline, see data pipeline and data quality.
Sources
- IBM. What is data lineage?
- OpenLineage. An open standard for lineage metadata collection.
- DAMA International. DAMA-DMBOK: Data Management Body of Knowledge, 2nd ed. (metadata management chapter).
Was this explanation clear?
We use your answers to fix and expand this page.
Couldn’t send. Please try again in a minute.
Thanks for the feedback. We’ll use it to improve this page.You’ve already sent feedback on this page. Thanks.

Technical Engineer
Focuses on tracking code, SDKs, and API integrations, with practical guidance on implementation checks and troubleshooting.