Data Layer Integration
Data Layer
Configure site-level data-layer ingestion, consent integration, buffering, and event diagnostics.
Audience: Frontend integration teams and analytics engineers managing data-layer event pipelines.
Critical: Data-layer config endpoints are under /api/v1/sites/:siteId/integrations/data-layer and feed public tracking config responses.
Who This Page Is For
Use this page when you need to configure data-layer behavior, module tracking toggles, consent gating, and buffer controls for runtime ingestion.
Quick Start (2-5 Minutes)
Read current config
Inspect current data-layer settings for site.
GET /api/v1/sites/:siteId/integrations/data-layerUpdate core settings
Set variableName, page detection, tracking modules, and buffer controls.
PUT /api/v1/sites/:siteId/integrations/data-layerConfigure consent options
Enable consent wait, categories, timeout, and callback options.
{ "cookieConsent": { "enabled": true, "waitForConsent": true, "granularEnabled": true, "requiredCategories": ["analytics"] } }Send test event
Validate pipeline behavior with controlled payload.
POST /api/v1/sites/:siteId/integrations/data-layer/testInspect events and stats
Review ingested events and summary counters.
GET /api/v1/sites/:siteId/integrations/data-layer/events
GET /api/v1/sites/:siteId/integrations/data-layer/statsData-layer endpoints
GET /api/v1/sites/:siteId/integrations/data-layer
PUT /api/v1/sites/:siteId/integrations/data-layer
POST /api/v1/sites/:siteId/integrations/data-layer/test
GET /api/v1/sites/:siteId/integrations/data-layer/events
GET /api/v1/sites/:siteId/integrations/data-layer/stats
DELETE /api/v1/sites/:siteId/integrations/data-layerRequired Fields / Minimum Payload
| Field | Required | Type | Used by events | Description |
|---|---|---|---|---|
enabled | Optional | boolean | Update data-layer config | Master toggle for data-layer pipeline. |
variableName | Optional | string | Update data-layer config | Global data-layer variable name (for example dataLayer or selwiseLayer). |
cookieConsent | Optional | object | Update data-layer config | Consent gate behavior including categories and timeout. |
trackingModules | Optional | object | Update data-layer config | Enable/disable page/product/basket/checkout/user/search module tracking. |
bufferSize and flushInterval | Optional | number | Update data-layer config | Client-side buffering and flush cadence controls. |
eventName | Required | string | Test data-layer event | Name for test event payload. |
Event or Endpoint Decision Matrix
| Scenario | Use This | Why |
|---|---|---|
| Need current site data-layer state | GET /integrations/data-layer | Baseline before changes. |
| Need to change tracking behavior | PUT /integrations/data-layer | Primary write path for config updates. |
| Need controlled validation event | POST /integrations/data-layer/test | Safe pipeline check. |
| Need runtime ingestion evidence | GET /integrations/data-layer/events | Inspect captured events for debugging. |
| Need summary-level health view | GET /integrations/data-layer/stats | Quick status monitoring. |
Common Errors and Fixes
No data-layer events captured
Cause: Data-layer disabled or incorrect variableName.
Fix: Enable integration and align variableName with storefront implementation.
Events delayed significantly
Cause: Buffer/flush values too conservative.
Fix: Reduce bufferSize and flushInterval for more real-time delivery.
Events blocked under consent policy
Cause: cookieConsent required categories not granted.
Fix: Adjust consent policy or category requirements intentionally.
Test event succeeds but production events missing
Cause: Tracking modules disabled for relevant event domain.
Fix: Enable module toggles for needed event families.
Production Checklist
- variableName is consistent across client config and integration settings.Required
- Consent policy configuration is validated against legal requirements.Required
- Buffer and flush settings are tuned for traffic profile.Required
- Data-layer stats/events are monitored after each config change.Required
- Reset endpoint usage is controlled and audited.Required