---
title: "Tracking integrity"
description: "IndexPlane checks that GTM and GA4 are present on every template, loaded once, in the right consent order, and that booking links keep UTM and _gl."
url: "https://tryindexplane.com/features/tracking-integrity/"
markdown: "https://tryindexplane.com/features/tracking-integrity.md"
---

# Tracking integrity

Tracking integrity

IndexPlane checks that GTM and GA4 are present on every template, loaded once, in the right consent order, and that booking links keep UTM and _gl.

- [Download free](https://wordpress.org/plugins/indexplane/)
- [Check GTM and GA4 on every template](https://tryindexplane.com/docs/tracking/)

Plan: Rules free; container and runtime checks in Pro.

## Attribution breaks silently, one template at a time.

> “The new landing-page template shipped without the GTM container.”

> “GA4 counted every pageview twice for a month.”

> “The booking engine link dropped _gl, so every conversion looked direct.”

## Tracking integrity

### GTM and GA4 on every template

One check per template cohort, so a missing container on a single layout shows up as one clear finding.

[Read how it works](https://tryindexplane.com/docs/tracking.md)

### Duplicate tags and container changes

Finds GTM plus hard-coded gtag, duplicate containers and unexpected container ID changes.

[Read how it works](https://tryindexplane.com/docs/tracking.md)

### Consent default order

Checks that the Consent Mode default is set before GTM loads.

[Read how it works](https://tryindexplane.com/docs/tracking.md)

### Booking links that keep UTM and _gl

Cross-domain links and redirects are checked for dropped tracking parameters.

[Read how it works](https://tryindexplane.com/docs/tracking.md)

## What you can check for yourself.

- Rule-based checks run on your served HTML, with no external fetch.
- Container and runtime checks are opt-in.
- This website passes these same checks.
