Duplicate Data Layer Variable Paths
This container has multiple GTM Data Layer Variables bound to the same dataLayer path. For example, both `DLV - value` and `DLV - purchase revenue` reading `ecommerce.value`. This is a maintenance hazard: when someone updates one variable's version or default value, the other copy continues to feed downstream tags, producing inconsistent behaviour across tags that should be reading the same business value.
Why It Matters
GTM lets you create as many Data Layer Variables as you want, and nothing prevents two of them from pointing at the same dataLayer key. In practice this is how containers accrete legacy: one variable created during a 2021 GA4 migration, another created in 2023 when a new dev was unsure whether the first existed, a third created for a new pixel that "needed its own copy." Each variable can have its own Data Layer Version setting, default value, format value, and conversion settings. When they drift. And they always drift. Two conversion tags that nominally read the same revenue value resolve it differently. One reports $129.99, another reports the default $0, and the audit becomes a forensic exercise. The check is informational about size but operationally important: every duplicate is a place future engineers will introduce inconsistency.
How To Fix It
- In GTM, open Workspace → Variables → User-Defined Variables and sort by Data Layer Variable Name.
- For each duplicated path, pick the variable with the cleanest name and the correct Version setting as canonical (prefer naming like `DLV - ecommerce.value`).
- Update every tag and trigger that references a duplicate to point at the canonical variable instead. GTM's "Find references" link on each variable shows where it is used.
- In Preview mode on a real conversion event, confirm the canonical variable resolves to the expected value.
- Archive (do not delete) the duplicates. Archiving preserves audit history if something needs to be rolled back.
- Publish and re-run AdLint.
Example
Problem:
DLV - value -> ecommerce.value
DLV - purchase revenue -> ecommerce.value
Better:
DLV - ecommerce.value -> ecommerce.valueMultiple GTM Data Layer Variables bound to the same dataLayer path within this container. Google's Data Layer Variable documentation, each dataLayer path should be exposed through a single canonical variable to ensure consistent resolution across tags. Duplicated paths create silent drift when Version, default value, or format settings diverge between copies. Producing tags that report different values for the same underlying business event. Fix: consolidate duplicated paths to a single canonical Data Layer Variable, update tag references, and archive the duplicates. Source: support.google.com/tagmanager/answer/6164391.
Drop this paragraph into your client deliverable. Sources back to the canonical platform documentation linked below.
References
Audit your own files for this check
AdLint runs this check (and 177 others) against your GTM, Google Ads, Meta, TikTok, LinkedIn, Pinterest, Twitter/X, and Snapchat exports. Everything stays in your browser. No uploads, no accounts.
Run a free audit