A data layer is a JavaScript object — usually window.dataLayer — that pages push events into. Tag managers (GTM, Tealium, Adobe Launch) read from it to fire analytics tags. The data layer decouples “what happened” from “who is told”. Migrations between analytics platforms are an order of magnitude easier when a data layer exists, because you swap the consumers, not the producers.
Data layer
A data layer is a JavaScript object holding structured event/property data that tag managers read.