Open Tracked/Glossary/What are clients requests transformations tags triggers variables server GTM

What are clients requests transformations tags triggers variables server GTM

A server container has six moving parts. Once you know the order they run in, debugging stops feeling like guessing.

7 min read · Updated October 26, 2026

In this guide
In plain English
  • A server container does one job in a fixed order: a client claims the incoming request, turns it into event data, then triggers decide which tags fire.
  • Transformations sit between the client and the tags. They can allow, exclude or add parameters before any tag sees the event.
  • Variables are how tags read the event. Most broken server containers are a variable pointing at a field that is not in the event.
CClientEEvent data, triggersTTags

A web Google Tag Manager container runs inside the visitor's browser. A server container runs on a server you control and receives HTTP requests. The words are mostly the same (tags, triggers, variables) but there is a new layer in front of them, and that layer is where most people get lost. This page explains every part in the order a request meets it. If you are new to the whole idea, read what server-side tracking is first, then come back.

The path of one request

A visitor opens your site. The page sends a request to your tagging address, for example track.yourstore.com/g/collect. From that moment, the server container does the following, always in this order:

1

A client claims the request

Each client looks at the incoming request and decides whether it recognises the format. The first one that does "claims" it. No other client sees it.

2

The client builds event data

The client reads the request and produces a clean event: a name such as purchase and a set of parameters such as value, currency and client_id.

3

Transformations run

If you set up transformations, they now change the event data: they remove fields, allow only some fields, or add new ones.

4

Triggers are checked

Each trigger looks at the event data. If its conditions match, every tag attached to it is queued.

5

Tags run

Each tag reads the event with variables and sends its own request to a vendor, for example the Meta Conversions API or Google Ads.

6

The client answers the browser

When the tags are done, the client sends the HTTP response, which may also set cookies.

Check your setup

Check your tracking in one pass

This is an example. Run the check on your own site to see where yours stands.

Clients

A client is a translator. The browser speaks one of several formats, and the client is the part that understands that format. The ones you meet most:

  • The GA4 client understands requests from the Google tag and GA4. It also serves the Google tag script itself from your domain and sets the first-party ID cookie.
  • The Measurement Protocol client understands server-to-server calls, for example from your shop backend.
  • A custom client understands anything else, for example a webhook from a payment provider. Custom clients are small JavaScript templates.

If no client claims a request, the server answers with an error and nothing else happens. This is why a wrong path or a missing client shows up as "request received, nothing fired". Compare it with a server container that is not receiving requests.

Event data

Event data is the name for the cleaned-up event that sits in the middle of the container. Tags and triggers never read the raw HTTP request. They read event data. A GA4 purchase has fields such as transaction_id, value, currency and items. Fields you set in the browser tag arrive here as long as the client keeps them.

Data in, clean out

Raw events in. Clean events out.

Open Tracked collects each event on your own domain, removes the noise and sends what is left to Meta, Google Ads, TikTok.

Transformations

Transformations were added to server containers later than the rest, and many guides skip them. They change event data before triggers and tags see it. There are three kinds:

01

Allow parameters

Keep only the fields you list. Everything else is dropped. Useful when a tag should never see, say, an e-mail address.

02

Exclude parameters

Remove the fields you list and keep the rest. Useful for one sensitive field.

03

Augment event

Add or change a field, for example add a hashed value, set the country or fix a currency code. See transformations in server GTM.

Each transformation has a match condition (which events it applies to) and a scope (which clients or tags it applies to). A transformation scoped to the Meta tag changes what Meta receives and leaves the GA4 tag alone.

Triggers

A trigger is a rule: "when the event name equals purchase", or "when the event name equals page_view and the hostname contains shop.". A trigger does nothing alone. It only matters because tags are attached to it. One trigger can fire many tags, and one tag can have several triggers.

Tags

A tag is the part that sends data out. Tags in a server container call another company's server instead of loading a script. Typical tags: GA4, the Meta Conversions API, the Google Ads conversion tag, TikTok Events API, a Pinterest or Snapchat tag, a webhook to your CRM. Most tags come from the Tag Manager template gallery, so you fill in fields rather than write code.

Variables

A variable is a named value a tag or trigger can read. The server container offers built-in ones such as event name and client ID, and you can add your own:

  • Event data variables read a field from the event, for example value.
  • Request header and cookie value variables read the raw request, for example the user agent or the _fbp cookie.
  • Constant and lookup table variables hold fixed values and mappings, for example your pixel ID.
  • Custom variable templates do small jobs such as hashing an e-mail address, formatting a phone number or reading from a database.

Where Open Tracked fits

Open Tracked hosts the container, so the tagging server, the domain and the Google Cloud side are looked after for you. The Setup Wizard downloads ready container files, with the clients, tags, triggers and variables already in place, and the Enrich step adds the variables that read Visitor Location, Device Info, User ID and the Data Store. You import them into your server container instead of building each part by hand. See the power-ups guide for what each of them adds.

A debugging order that works

  1. Open Preview in the server container and send one event from your site.
  2. Was a request listed at all? If not, the problem is the domain, the path or the web container tag, not the server container.
  3. Was the request claimed by the client you expected? If not, check client priority and the path.
  4. Open the event data. Is the field you need there? If not, fix the web tag or a transformation that removed it.
  5. Did the trigger match? Look at the trigger tab for the event.
  6. Did the tag fire, and what did it send? Open the tag, then the outgoing request, and read the response from the vendor.
Rule of thumb: when a tag sends the wrong value, the cause is almost always one step earlier than the tag. Look at the event data first.
Try it

Works with your stack

Grab a logo and throw it. These are the tools Open Tracked already talks to.

Grab one. Throw it.

Frequently asked questions

What is the difference between a client and a tag?

A client receives requests from your site and builds event data. A tag sends event data out to another company. Clients are the way in, tags are the way out.

Do I need transformations?

No. Many containers work without them. They are useful when you want to keep a field away from one vendor or add a field to every event without editing each tag.

Can two clients claim the same request?

No. The first client, by priority, that recognises the request claims it and the others never see it. Give custom clients a higher priority than the default ones if they overlap.

Why do I see a request in Preview but no tag fires?

The client claimed it and built event data, but no trigger matched. Check the event name and the trigger conditions.

Are variables the same as in a web container?

The idea is the same, but the types are different. Server variables read the event, the request and the response instead of the page.

Do I need spreadsheets to read my results?

No. Once tracking is live, the Open Tracked analytics shows spend, revenue, ROAS and profit, and you can ask Ari, the built-in AI assistant, questions about your own numbers in plain words. Ari's allowance depends on your analytics plan.

Is Open Tracked different from Open Track or Open Space Track?

No. Open Tracked is the official name of our server-side tracking platform, and the website is opentracked.io. Many people search for it as Open Track, OpenTrack or Open Space Track. All of them lead to the same product: server-side Google Tag Manager hosting, first-party analytics and a CRM pipeline.

Fix your tracking at the source

Open Tracked hosts your server-side Tag Manager, keeps first-party cookies alive and shows what each ad is really worth.

Open Tracked
Written by

The Open Tracked team

We build Open Tracked: server-side tracking hosting, analytics and the tools around them, for stores that spend on ads. Questions about this guide, or an idea for the next one?

Write to us Read the docs

Was this article helpful?

Comments

Loading comments...

Turn better tracking into better marketing performance

Start free