Lapisan data adalah objek terstruktur yang dikelola oleh situs web atau aplikasi yang menyimpan informasi tentang halaman saat ini, pengguna, dan peristiwa yang terjadi, dalam format terdokumentasi yang dapat dibaca oleh alat pengukuran. Alih-alih setiap tag analitik atau iklan mengekstrak nilai dari markup halaman, semua konsumen membaca dari satu sumber tunggal yang sengaja diisi.
Nilainya terletak pada daya tahannya. Konfigurasi pelacakan yang mengambil nilai dari pemilih CSS, nama kelas, atau teks yang terlihat terhubung dengan detail presentasi yang berubah setiap kali situs didesain ulang, ditata ulang, atau direfaktor, dan ketika terjadi kerusakan, biasanya akan gagal tanpa pemberitahuan. Lapisan data memisahkan pengukuran dari presentasi: bagian depan dapat berubah sepenuhnya, dan selama kontrak lapisan data dipatuhi, pelacakan terus berfungsi. Ini mengubah pelacakan dari lapisan yang rapuh menjadi antarmuka yang terpelihara.
Sifat kontraktualnya adalah bagian yang penting. Spesifikasi lapisan data mendefinisikan variabel mana yang ada, apa isinya, tipe data apa yang dipegangnya, kapan diisi, dan peristiwa mana yang didorong dengan parameter apa. Jika diperlakukan sebagai antarmuka antara aplikasi dan tumpukan pengukuran, ini menjadi tanggung jawab bersama: pengembang mengimplementasikannya sebagai bagian dari pembuatan fitur, dan analitik menggunakannya tanpa perlu memahami antarmuka pengguna. Jika diperlakukan sebagai hal yang dipikirkan kemudian, hal ini menjadi tidak konsisten, dengan konsep yang sama dinamai dengan tiga cara berbeda di berbagai templat dan diisi pada titik yang berbeda dalam siklus hidup halaman.
Kesalahan waktu adalah kegagalan teknis yang paling umum. Nilai yang dikirim setelah tag sudah dijalankan akan menghasilkan data kosong atau data default, itulah sebabnya lapisan data harus diinisialisasi dalam dokumen sebelum cuplikan pengelola tag, dengan kejadian selanjutnya dikirim saat terjadi. Aplikasi satu halaman memerlukan perhatian khusus, karena perubahan halaman virtual tidak memicu kejadian pemuatan halaman normal, dan navigasi berbasis riwayat harus secara eksplisit mengirimkan kejadian yang setara dengan konteks yang benar.
Desain skema menentukan seberapa bermanfaat data yang dihasilkan. Lapisan data yang dirancang dengan baik menangkap entitas yang sebenarnya menjadi pertimbangan bisnis, termasuk pengidentifikasi produk, kategori, harga, mata uang, jenis pengguna, status akun, dan pengidentifikasi yang menghubungkan sesi ke catatan pelanggan yang lebih luas. Lapisan data yang dirancang buruk hanya menangkap apa pun yang nyaman pada saat itu, yang menghasilkan analitik yang tidak dapat menjawab pertanyaan yang diajukan bisnis tanpa pekerjaan rekayasa lebih lanjut setiap saat.
Dokumentasi adalah hal yang membuat lapisan data tetap bertahan meskipun terjadi pergantian staf, dan ini adalah elemen yang paling sering hilang. Spesifikasi yang mencantumkan setiap variabel dan kejadian, dengan tipenya, kondisi pemicunya, contoh nilai, dan orang atau tim yang bertanggung jawab, adalah artefak kecil dengan nilai yang tidak proporsional: hal ini memungkinkan pengembang baru untuk mengimplementasikan pelacakan dengan benar tanpa melakukan rekayasa balik pada halaman yang sudah ada, memberikan referensi kepada analis saat menafsirkan data, dan menyediakan dasar untuk validasi otomatis. Pengujian bahwa implementasi sesuai dengan spesifikasi, idealnya sebagai bagian dari alur kerja penerapan, adalah hal yang mencegah pergeseran bertahap di mana dokumentasi menggambarkan antarmuka yang tidak lagi dihormati oleh situs tersebut.
Pertimbangan privasi berlaku secara langsung, karena lapisan data seringkali merupakan tempat data pribadi pertama kali tersedia untuk tag pihak ketiga. Pengidentifikasi pribadi tidak boleh ditempatkan di dalamnya tanpa dasar hukum yang jelas dan mekanisme yang menghormati status persetujuan, dan pengidentifikasi yang di-hash atau pseudonim harus digunakan jika diperlukan penggabungan. Dalam praktiknya, skema didefinisikan oleh analisis data bekerja sama dengan tim yang akan mengimplementasikannya, dan menjadikannya bagian dari definisi "selesai" dalam pengembangan produk Inilah yang mencegah pengukuran mengalami penurunan kualitas secara diam-diam setiap kali ada rilis baru.