# Overview

The exponential growth in the number of tag-based marketing solutions has created the need to centralize the data they collect and ensure it is properly governed. Additionally, consumer privacy laws like the General Data Protection Regulation (GDPR) have provided the added push marketers needed to put consumers first from a personal data standpoint.

Business-friendly enterprise tag management solutions like TagCommander let marketers deploy new technologies faster and take action against the data they’re collecting, while respecting users’ privacy requests. Additionally, built-in safeguards like audit trails, tag rollback, customizable user permissions, and black- / white-listing functionality help reduce the likelihood of costly mistakes.

This documentation will provide you with an overview of the components of TagCommander, its installation process per platform and provides a knowledge base for its features.

{% hint style="info" %}
Depending on the technical capabilities of a platform TagCommander can be installed in two versions—Client-Side TagCommander and Server-Side TagCommander.
{% endhint %}

## Client-Side TagCommander

Client-Side TagCommander is used for environments that support JavaScript. It works by dynamically installing JavaScript Tags on a site. It is for example used to implement TagCommander on static websites or React apps.

Client-Side TagCommander consists of following components:

| Part           | Description                                                                                                                         |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| **Tags**       | JavaScript snippets that are used to implement services on a website or webapp. e.g. the JavaScript snippet of an analytics service |
| **Rules**      | Conditions under which a Tag is executed. e.g. "If on Homepage", "If on Chinese Country Site"                                       |
| **Trigger**    | Events on a website or webapp that execute a Tag. e.g. "Site loaded", "Button Clicked"                                              |
| **Container**  | Version-controlled JavaScript files that include Tags, Triggers and Rules.                                                          |
| **Data Layer** | Metadata of each page of a website or webapp that can be accessed by Tags.                                                          |

## Server-Side TagCommander

Server-Side TagCommander is used for environments that have no support for JavaScript. It therefore offers an API that allows to dynamically dispatch onsite data to multiple vendor servers. It is for example used to implement TagCommander on TV, native Android or iOS Apps.

Server-Side TagCommander consists of following components:

| Part           | Description                                                                                   |
| -------------- | --------------------------------------------------------------------------------------------- |
| **Tags**       | API Endpoints of vendors TagCommander should dispatch data to.                                |
| **Rules**      | Conditions under which a Tag is executed. e.g. "If on Homepage", "If on Chinese Country Site" |
| **Container**  | API Endpoint where you can send data that should be dispatched to Tags.                       |
| **Data Layer** | Data that is sent to the Container to be dispatched to vendor Tags.                           |

## Extensions

It is possible to extend TagCommander with additional modules:

| Module             | Description                                                        | Type        |
| ------------------ | ------------------------------------------------------------------ | ----------- |
| **TagPerformance** | A tool to measure onsite performance of Tags.                      | Client-Side |
| **Deduplication**  | A tool to selectively attribute conversions to marketing channels. | Client-Side |
| **TagFirewall**    | A tool to black- or whitelist Tags.                                | Client-Side |

{% hint style="info" %}
These modules are set up and configured by a Commanders Act consultant.
{% endhint %}

## Setup

Please refer to the Setup Guides section for detailed installation instructions of TagCommander per platform. In case your platform is not listed you can reach out to a Commanders Act consultant for a custom implementation.

{% content-ref url="/pages/-Lixb0fyft59y3\_B6gLd" %}
[Setup Guides](/tagcommander/getting-started/setup-guides.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://community.commandersact.com/tagcommander/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
