# GTM Helper Layer

These processing operations are in addition to those described in the "Hosting Only" section, including cases where hosting is managed by a third party.

For the purposes of the service, the client instructs Sirdata to modify the headers of incoming HTTP requests to add additional parameters, specifically :

<table><thead><tr><th width="174">Header</th><th width="244">Definition</th><th width="136">Possible Values</th><th width="124">Example</th><th>Default Activation</th></tr></thead><tbody><tr><td>Gtm_config_id</td><td>sGTM Configuration ID at Sirdata</td><td>string</td><td>2hDUjf</td><td>Yes</td></tr><tr><td>Gtm-Helper-Consent</td><td>Generic Consent Signal. Sirdata attempts to infer choice signals from the various available information (Google Consent Mode signals, TCF TC String, etc.).</td><td>true/false/undefined</td><td>false</td><td>Yes</td></tr><tr><td>Gtm-Helper-Consent-Analytics</td><td>Consent Signal for Audience Measurement. Sirdata attempts to infer choice signals from the various available information (Google Consent Mode signals, TCF TC String, etc.).</td><td>true/false/undefined</td><td>false</td><td>Yes</td></tr><tr><td>Gtm-Helper-Consent-Basic-Ads</td><td>Consent Signal for Standard Advertising.<br>Sirdata attempts to infer choice signals from the various available information (Google Consent Mode signals, TCF TC String, etc.).</td><td>true/false/undefined</td><td>false</td><td>Yes</td></tr><tr><td>Gtm-Helper-Consent-Basic-Content</td><td>Consent Signal for Standard Content.<br>Sirdata attempts to infer choice signals from the various available information (Google Consent Mode signals, TCF TC String, etc.).</td><td>true/false/undefined</td><td>undefined</td><td>Yes</td></tr><tr><td>Gtm-Helper-Consent-Personalized-Ads</td><td>Consent Signal for Personalized Advertising. Sirdata attempts to infer choice signals from the various available information (Google Consent Mode signals, TCF TC String, etc.).</td><td>true/false/undefined</td><td>false</td><td>Yes</td></tr><tr><td>Gtm-Helper-Consent-Personalized-Content</td><td>Consent Signal for Personalized Content. Sirdata attempts to infer choice signals from the various available information (Google Consent Mode signals, TCF TC String, etc.).</td><td>true/false/undefined</td><td>undefined</td><td>Yes</td></tr><tr><td>Gtm-Helper-Gdpr-Applies</td><td>Indicates whether GDPR (or similar regulation requiring consent) applies to the user. Example: <code>true</code> for a user in France, <code>false</code> for Morocco. If <code>false</code>, consent headers are automatically set to <code>true</code>.</td><td>true/false/undefined</td><td>true</td><td>Yes</td></tr><tr><td>Gtm-Helper-Cookieless-Id-Cross-Domain</td><td>Universal Cookieless Identifier (enables cross-site tracking). If the option is not enabled, or no consent is detected, the value will be "undefined". If the user has not provided consent, the value will be "no-consent." Otherwise, the value will be a user identifier in UUID V4 format.</td><td>undefined/UUID V4</td><td>no-consent</td><td>No</td></tr><tr><td>Gtm-Helper-Cookieless-Id-Domain-Specific</td><td>Domain-Specific Cookieless Identifier (does not enable cross-site tracking).If the option is not enabled, or the user has objected, the value will be "undefined." Otherwise, the value will be a user identifier in UUID V4 format.</td><td>undefined/UUID V4</td><td>f577fc8e-065a-5e5f-6008-eacbc29c17de</td><td>No</td></tr><tr><td>Gtm-Helper-Device-Is-Mobile</td><td>Mobile Device Type (true/false)</td><td>true/false/undefined</td><td>false</td><td>Yes</td></tr><tr><td>Gtm-Helper-Device-User-Agent</td><td>Device User-Agent (Not pseudonymized if proxyfication is enabled; the User-Agent sent to GA4 is pseudonymized).</td><td>string</td><td>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36</td><td>Yes</td></tr><tr><td>Gtm-Helper-Optout</td><td>Opt-Out Signal for Processing. Sirdata infers the opt-out signal from the "gtm-helper-optout" cookie with a non-null value (e.g., "true", "1"). This cookie must be set on the host used for sGTM (e.g., "tag.example.com") or the domain preceded by a dot (e.g., ".example.com").</td><td>true/false/undefined</td><td>undefined</td><td>Yes</td></tr><tr><td>Gtm-Helper-Site-Domain</td><td>The Domain Originating the Request</td><td>string</td><td>example.com</td><td>Yes</td></tr><tr><td>Gtm-Helper-Site-Host</td><td>The Host Originating the Request</td><td>string</td><td>www.example.com</td><td>Yes</td></tr><tr><td>Gtm-Helper-Site-Origin</td><td>The Origin of the Request</td><td>string</td><td><a href="https://www.example.com">https://www.example.com</a></td><td>Yes</td></tr><tr><td>Gtm-Helper-User-City</td><td>User's Connection City</td><td>string</td><td>Paris</td><td>Yes</td></tr><tr><td>Gtm-Helper-User-Country</td><td>User's Connection Country</td><td>ISO 3166-1 alpha-2 country code</td><td>FR</td><td>Yes</td></tr><tr><td>Gtm-Helper-User-First-Id</td><td>Identifier assigned to the user by First-ID. It is only available if the appropriate option is enabled in your account and consent for First-ID is detected. If the option is not enabled, or no consent is detected or no information is available, the value will be "undefined". If consent is detected and information exists, the value will be displayed as a string.</td><td>undefined/string</td><td>9440839b080a4aea8077d0d1e867fe14</td><td>No</td></tr><tr><td>Gtm-Helper-User-Hashed-Email</td><td>User's email address, hashed in SHA-256. It is only available if the appropriate enrichment option is enabled in your account and consent is detected. If the option is not enabled, or no consent is detected or no information is available, the value will be "undefined". If consent is detected and information exists, the value will be displayed as a string.</td><td>undefined/string (sha-256 hashed)</td><td>f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a</td><td>No</td></tr><tr><td>Gtm-Helper-User-Ip</td><td>User's Connection IP Address (Not truncated if proxyfication is enabled; the IP address sent to GA4 is truncated).</td><td>Adresse IP</td><td>1.1.1.1</td><td>Yes</td></tr><tr><td>Gtm-Helper-User-Isp</td><td>Internet Service Provider or VPN (Example: Apple's "Privacy Relay").</td><td>string</td><td>Free Pro SAS</td><td>Yes</td></tr><tr><td>Gtm-Helper-User-Region</td><td>User's Connection Region</td><td>ISO 3166-2 region code</td><td>IDF</td><td>Yes</td></tr><tr><td>Gtm-Helper-Cluster</td><td>sGTM cluster name (e.g., <code>prod-eu</code>, <code>prod-us</code>)</td><td>string</td><td>prod-eu</td><td>Yes</td></tr><tr><td>Gtm-Helper-Config-Id</td><td>GTM Server-side configuration ID</td><td>string</td><td>2hDUjf</td><td>Yes</td></tr><tr><td>Gtm-Helper-User-Has-Adblocker</td><td><code>true</code> if an ad blocker is detected</td><td>true/false/undefined</td><td>false</td><td>Yes</td></tr><tr><td>Gtm-Helper-User-Connection</td><td>Connection type (<code>cellular</code>, <code>wifi</code>, <code>ethernet</code>)</td><td>string</td><td>wifi</td><td>Yes</td></tr><tr><td>Gtm-Helper-User-Type</td><td>Traffic category (<code>human</code>, <code>bot</code>, <code>anonymized</code>)</td><td>string</td><td>human</td><td>Yes</td></tr><tr><td>Gtm-Helper-User-Is-Bot</td><td><code>true</code> if traffic is identified as bot</td><td>true/false/undefined</td><td>false</td><td>Yes</td></tr><tr><td>Gtm-Helper-Request-Has-User-Data</td><td><code>true</code> if user data has been processed</td><td>true/false/undefined</td><td>true</td><td>Yes</td></tr><tr><td>Gtm-Helper-Server-Host</td><td>CDN server host</td><td>string</td><td>tag.example.com</td><td>Yes</td></tr><tr><td>Gtm-Helper-Server-Domain</td><td>CDN server domain</td><td>string</td><td>example.com</td><td>Yes</td></tr><tr><td>Gtm-Helper-Version</td><td>GTM Helper version</td><td>string</td><td>2.4.1</td><td>Yes</td></tr></tbody></table>

### Conditional Headers

<table><thead><tr><th width="174">Header</th><th width="244">Definition</th><th width="136">Possible Values</th><th width="124">Example</th><th>Default Activation</th></tr></thead><tbody><tr><td>Gtm-Helper-User-Email</td><td>User email in clear text</td><td>string/undefined</td><td>user@example.com</td><td>No*</td></tr><tr><td>Gtm-Helper-User-Hashed-Email-For-Google</td><td>Google-formatted hashed email</td><td>string/undefined</td><td>f660ab912ec1...</td><td>No*</td></tr><tr><td>Gtm-Helper-User-Hashed-Phone</td><td>SHA-256 hashed phone number</td><td>string/undefined</td><td>a1b2c3d4e5f6...</td><td>No*</td></tr><tr><td>Gtm-Helper-User-First-Address</td><td>First address line</td><td>string/undefined</td><td>123 Example Street</td><td>No*</td></tr><tr><td>Gtm-Helper-User-Second-Address</td><td>Second address line</td><td>string/undefined</td><td>Apt 4B</td><td>No*</td></tr><tr><td>Gtm-Helper-Cdn-Ip</td><td>CDN IP address if different</td><td>IP Address/undefined</td><td>203.0.113.1</td><td>Yes**</td></tr><tr><td>Gtm-Helper-Dev-Info</td><td>Debug information</td><td>string/undefined</td><td>debug:v2.4.1</td><td>No***</td></tr></tbody></table>

\*Enabled when `HashedUserDataEnrich` is enabled \*\*Automatic when CDN IP ≠ user IP \*\*\*Development mode only


---

# 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://server-side.docs.sirdata.net/sirdata-server-side/english-1/installation/data-processing/gtm-helper-layer.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.
