Tag configuration¶
Beta — Feature details
This tag configuration documentation is based on standard tag management patterns. Specific UI workflows, tag types, firing rules, and distribution mechanisms will be verified against the live Tag Manager application. If you encounter differences, please report an issue.
This guide covers how to create and configure tracking tags in the Tag Manager application at tagmanager.dxtra.ai. Tags are JavaScript snippets — analytics, advertising pixels, conversion trackers — that Tag Manager makes consent-aware, so they only fire when visitors have granted appropriate permission.
For client-side tracking code, see the JavaScript API reference. For consent enforcement concepts, see Consent enforcement.
Core concepts¶
Tag Manager organizes configuration around four elements:
Tags — The third-party scripts or services you want to load on your website (Google Analytics, Meta Pixel, HubSpot, etc.). Each tag represents a specific service connection.
Firing rules — Conditions that determine when a tag fires. Rules can be based on page views, element clicks, form submissions, consent status, or custom conditions.
Action groups — What happens when a tag fires. Actions include tracking page views, sending events, loading scripts, or firing pixels.
Distributions — Deployments of your tag configuration to a specific environment (development, staging, production). Distributions are versioned and can be rolled back.
Organizations, services, and applications¶
Tag Manager is organized in three levels:
- Organization — Maps to your Dxtra Data Controller. Each Data Controller has one organization in Tag Manager.
- Services — Each organization has two service areas:
- Tag Manager — Your tracking applications and tag configurations
- Data Manager — Endpoint management for data ingestion
- Applications — Each application represents a website or digital property. When you activate a domain in the Dxtra dashboard, an application is created automatically.
Navigate to your application from the Tag Manager homepage: Organizations → [your org] → Services → Tag Manager → [your application].
Creating tags¶
In the Tag Manager UI¶
- Navigate to your application in the Tag Manager at
tagmanager.dxtra.ai - Go to the tag management section
- Click Create Tag
- Configure the tag:
| Field | Description |
|---|---|
| Name | A descriptive name (e.g. "Google Analytics 4", "Meta Pixel") |
| Tag type | The category: Analytics, Marketing, Performance, Personalization, or Custom |
| Service | The third-party service (select from available services or configure custom) |
| Configuration | Service-specific settings (e.g. measurement ID for GA4, pixel ID for Meta) |
| Description | Optional notes explaining the tag's purpose |
| Enabled | Whether the tag is active |
Tag types¶
| Type | Examples | Default consent required |
|---|---|---|
| Analytics | Google Analytics, Mixpanel, Amplitude | Performance / Analytics |
| Marketing | Meta Pixel, LinkedIn Insight Tag, Google Ads | Targeting / Marketing |
| Performance | CDN tracking, error monitoring | Performance / Analytics |
| Personalization | Recommendation engines, A/B testing | Functional |
| Essential | Security monitoring, session management | Strictly Necessary (no consent) |
Firing rules¶
Firing rules control when tags execute. Each tag can have multiple firing rules.
Rule types¶
Consent-based rules — The tag fires only when the visitor has granted consent for specified categories. This is the primary rule type for privacy compliance.
Page view rules — The tag fires on page load. Can be filtered by URL pattern, page type, or other page-level conditions.
Element interaction rules — The tag fires when a visitor interacts with a specific element (click, form submission, scroll).
Custom rules — The tag fires based on custom conditions you define (data layer values, query parameters, browser properties).
Trigger types¶
Each firing rule has a trigger type that determines the event that activates it:
| Trigger type | Fires when |
|---|---|
| Page Ready | The DOM is fully loaded |
| Page Loaded | All page resources (images, scripts) have loaded |
| Page In Focus | The browser tab becomes active |
| Click Element | A visitor clicks a specific element |
| Form Submit | A form is submitted |
| Element In View | An element scrolls into the viewport |
| History Change | The URL changes (SPA navigation) |
| Timer | A specified time interval elapses |
| JS Error | A JavaScript error occurs on the page |
| Custom | A custom event is pushed to the data layer |
Conditions¶
Firing rules can include conditions that must be true for the tag to fire:
| Operator | Description | Example |
|---|---|---|
| Equal | Exact match | page_type equals product |
| Not Equal | Does not match | page_type not equal admin |
| Contains | Substring match | URL contains /checkout |
| Begins With | Prefix match | URL begins with /shop |
| Ends With | Suffix match | URL ends with .html |
| Regular Expression | Regex match | URL matches /products/\d+ |
| Greater Than | Numeric comparison | cart_total greater than 50 |
| Less Than | Numeric comparison | cart_total less than 1000 |
| Is Defined | Value exists | user_id is defined |
| Is Not Defined | Value does not exist | user_id is not defined |
Consent requirements¶
Every firing rule that is not Essential requires at least one consent category. Map rules to the appropriate categories:
Rule: "GA4 — Require analytics consent"
Type: consent_based
Required consents: [analytics, performance]
Trigger: page_view
When a visitor has not consented to the required categories, the tag does not fire and the blocked event is logged in the Processing Activity Log.
Action groups¶
Action groups define what a tag does when it fires. Each tag can have multiple action groups.
Action types¶
| Action type | Description |
|---|---|
| Track Event | Sends an event to the configured service |
| Page View | Sends a page view event with URL, title, and referrer |
| Fire Pixel | Loads a tracking pixel (1x1 image) |
| Load Script | Injects a JavaScript file into the page |
| Load HTML | Injects an HTML snippet into the page |
| Set Variable | Sets a value in the data layer or application state |
| Increment Variable | Increments a numeric variable |
| Action Log | Logs the action for debugging and audit purposes |
| Data Manager | Sends data to a Data Manager endpoint |
Template variables¶
Action parameters support template variables that are replaced at runtime:
| Variable | Resolves to |
|---|---|
{{ page.title }} | The current page title |
{{ page.path }} | The current URL path |
{{ page.url }} | The full page URL |
{{ page.referrer }} | The referring page URL |
{{ browser.language }} | The browser's language setting |
{{ browser.userAgent }} | The browser's user agent string |
{{ element.id }} | The clicked element's ID (click triggers) |
{{ element.text }} | The clicked element's text content |
Variable sources¶
Conditions and action parameters can reference data from multiple sources:
| Source | Description |
|---|---|
| Environment | Server-provided values (timestamp, request ID) |
| App State | Values set by your application via the data layer |
| Custom | Static values you define in the configuration |
| Query String | URL query parameters |
| Browser | Browser properties (language, viewport, user agent) |
| Element Click | Properties of the clicked DOM element |
| Browser Error | JavaScript error details (error triggers only) |
Distributions¶
Distributions deploy your tag configuration to visitors. They provide versioning, scheduling, and rollback capabilities.
Environments¶
Tag Manager supports multiple environments:
| Environment | Purpose |
|---|---|
| Development | Testing with internal team only |
| Staging | Pre-production verification |
| Production | Live traffic |
Deployment workflow¶
The recommended workflow for deploying tag changes:
- Draft — Make changes to your tag configuration. Changes are saved as a draft and do not affect live traffic.
- Finalize — Lock the configuration as an immutable revision. Once finalized, it cannot be edited (create a new revision instead).
- Deploy to staging — Create a distribution targeting the staging environment. Test with internal traffic.
- Deploy to production — Create a production distribution. Optionally schedule the deployment for a specific time.
Traffic control¶
Distributions support percentage-based traffic control for gradual rollouts:
- Deploy to 10% of traffic first, monitor for errors
- Increase to 50% after verification
- Roll out to 100% when confident
Rollback¶
If a deployment causes issues, roll back to the previous distribution. Rollback is immediate and reverts all visitors to the prior tag configuration.
Analytics and monitoring¶
Tag analytics¶
Tag Manager provides analytics for each tag:
| Metric | Description |
|---|---|
| Total fires | How many times the tag fired in the period |
| Blocked by consent | How many times the tag was blocked due to missing consent |
| Fire rate | Percentage of page views where the tag fired |
| Avg response time | Average time for the tag to execute |
| Errors | Number of tag execution errors |
Application analytics¶
Application-level analytics show overall tracking performance:
| Metric | Description |
|---|---|
| Hit count | Total events received |
| Unique events | Distinct event types tracked |
| Page views | Total page view events |
| Visitors | Estimated unique visitors (privacy-preserving) |
| Visit duration | Average session length |
| Bounce rate | Percentage of single-page visits |
| Consent submissions | Consent form interaction count |
Consent analytics¶
Track consent acceptance rates across categories:
- Acceptance rate per consent category
- Consent changes over time
- GPC signal detection rate
Best practices¶
Start with consent rules. Configure consent requirements for every tag before deploying. A tag without consent rules fires for all visitors, which may violate GDPR.
Use descriptive names. Name tags, rules, and action groups clearly. "GA4 — Product page analytics" is better than "Tag 1".
Test in staging first. Always deploy to a staging environment before production. Use the debug mode to verify tag firing behavior.
Monitor blocked rates. A high blocked-by-consent rate is expected and healthy — it means consent enforcement is working. A 0% blocked rate on marketing tags may indicate misconfiguration.
Version your deployments. Use meaningful distribution names ("v2.1 — Added Meta Pixel consent rules") so you can identify what changed if you need to rollback.
Review regularly. Audit your tag configuration quarterly. Remove tags for services you no longer use. Verify consent mappings are still accurate.
Related¶
- Tag Manager overview — Architecture and how Tag Manager works
- JavaScript API reference — Client-side tracking API
- Install Tag Manager — Add the tracking script to your site
- Consent enforcement — Server-side consent enforcement
- Event tracking — Custom event tracking
Not legal advice
This documentation provides guidance on configuring tags in Dxtra Tag Manager. AI-generated content does not constitute legal advice. Consult a qualified legal professional for advice specific to your jurisdiction and business context.