🚀 Deploy GermainUX RUM JavaScript with Google Tag Manager
Deploy GermainUX RUM JavaScript through Google Tag Manager (GTM) to monitor the performance and experience of real users without changing the application’s source code directly.
Once deployed, GermainUX can capture performance, errors, user interactions, journeys, and session-replay data according to the selected UX monitoring profile.
✅ Before you begin
You need:
|
Requirement |
Details |
|---|---|
|
GermainUX version |
GermainUX 2022.5 or later |
|
Access |
Access to Germain Workspace |
|
Permissions |
Permission to create or update UX monitoring profiles |
|
GTM access |
Edit and publish access to the appropriate GTM container |
|
Application info |
The URL of the application to monitor |
|
Test environment |
A test or preview environment for validation |
|
Privacy |
An approved privacy and consent configuration |
Confirm that browsers can send HTTPS traffic from the monitored application to the GermainUX environment.
🗺️ Deployment overview
The deployment consists of four stages:
-
Create the application and UX monitoring profile in GermainUX.
-
Retrieve the installation script generated by GermainUX.
-
add the script to a GTM Custom HTML tag.
-
Preview, validate, and publish the GTM container.
⚙️ 1. Configure the application in GermainUX
-
Sign in to Germain Workspace.
-
Go to Wizards.
-
Open Google Tag Manager.
-
Enter the application name.
-
Enter the application URL.
-
Select or create the appropriate UX monitoring profile.
-
Configure the requested application and environment information.
-
Complete the wizard.
Use a name that identifies both the application and environment, such as:
|
Example name |
Format |
|---|---|
|
|
Application – Environment |
|
|
Application – Environment |
|
|
Application – Environment |
Use separate configurations when QA and production send telemetry to different GermainUX environments or require different privacy settings.
📁 2. Retrieve the installation script
The wizard displays the deployment instructions after creating the configuration.
You can return to these instructions at any time:
-
Go to Analytics > UX Monitoring Profiles.
-
Select the profile assigned to the monitored application.
-
Open the profile in the Configuration Editor.
-
Select Installation.
-
Locate the Google Tag Manager deployment instructions.
-
Copy the complete script generated for the application.
Use the script provided by your GermainUX environment. Do not manually reconstruct URLs, identifiers, or configuration values from another application or environment.
🏷️ 3. Create the GTM tag
In Google Tag Manager:
-
Open the container used by the monitored application.
-
Go to Tags.
-
Select New.
-
Enter a descriptive name, such as
GermainUX RUM – Production. -
Select Tag Configuration.
-
Choose Custom HTML.
-
Paste the complete GermainUX installation script into the HTML field.
-
Configure the appropriate trigger.
-
Save the tag.
🛠️ 4. Configure the trigger
For complete application monitoring, use an initialization or page-view trigger that runs on every monitored page.
Choose the trigger according to your application:
|
Application type |
Recommended approach |
|---|---|
|
Traditional multi-page website |
Load the tag on all applicable page views. |
|
Single-page application |
Load RUM JavaScript once during application initialization. |
|
Selected application area |
Restrict the trigger to the required paths or hostnames. |
|
Multiple environments in one container |
Use hostname or environment conditions to load the correct configuration. |
|
Consent-controlled website |
Load the tag only after the required consent state is available. |
Do not configure the tag to run repeatedly for every virtual route change unless the GermainUX deployment instructions explicitly require it. Initializing RUM JavaScript more than once can create duplicate sessions, events, or requests.
📝 Consent configuration
If the application uses a consent-management platform, align the GTM trigger with the organization’s approved consent policy.
Depending on your legal basis and configuration, you may need to:
|
Action |
Details |
|---|---|
|
Prevent loading |
Prevent the tag from loading before consent. |
|
GTM Consent Mode |
Use GTM Consent Mode or a consent-specific trigger. |
|
Session replay |
Disable session replay until the required consent is available. |
|
Essential monitoring |
Enable only essential monitoring before consent. |
|
Regional rules |
Apply different rules by country or region. |
|
Withdrawal |
Respect withdrawal of consent. |
Technical deployment through GTM does not replace the organization’s responsibility to provide appropriate notices and obtain consent where required.
🔒 Privacy configuration
Before publishing the tag, configure and test the UX monitoring profile to ensure that sensitive information is not captured.
Review:
|
Item |
|---|
|
Input-field masking |
|
Page and element exclusions |
|
Session-replay settings |
|
User-identifier handling |
|
URL and query-parameter capture |
|
Request and response data |
|
Custom attributes |
|
Text-content collection |
|
Data retention |
|
Sampling |
Do not collect passwords, authentication tokens, payment information, health information, or other restricted data.
Whenever possible, exclude sensitive information before it leaves the user’s browser.
🛡️ Content Security Policy
An application using Content Security Policy may block the Custom HTML tag, the GermainUX script, or its outbound connections.
Review the browser console for violations involving:
|
Directive |
|---|
|
|
|
|
|
|
|
|
|
|
Allow only the specific GermainUX origins required by your deployment. Coordinate policy changes with the application-security team and avoid broad wildcard permissions.
If your policy does not permit inline scripts, the standard GTM Custom HTML approach may require an approved nonce, hash, or alternative deployment method.
👀 Preview and test the tag
Do not publish the container immediately.
-
Select Preview in Google Tag Manager.
-
Enter the application URL.
-
Connect Tag Assistant to the application.
-
Confirm that the GermainUX tag fires on the intended pages.
-
Confirm that it does not fire on excluded pages.
-
Open the browser developer tools.
-
Check the console for JavaScript, CSP, certificate, or network errors.
-
Confirm that the GermainUX script loads successfully.
-
Perform several representative user actions.
-
Confirm that telemetry is sent to the expected GermainUX environment.
If consent is required, test both consent states:
|
State |
|---|
|
The tag does not load before the required consent. |
|
The tag loads after consent is granted. |
|
The appropriate behavior occurs after consent is withdrawn. |
☑️ Validate the data in GermainUX
After completing the browser test:
-
Open Germain Workspace.
-
Search for the monitored application.
-
Locate the test session.
-
Confirm that page views and navigation were captured.
-
Review performance measures and user interactions.
-
Confirm that JavaScript and network errors are reported.
-
Open the session replay, if enabled.
-
Verify that sensitive fields and elements are masked or excluded.
-
Confirm that the application and environment names are correct.
-
Check that only one session and one set of events were generated.
Repeat the validation using every browser and application workflow that is important to the deployment.
☁️ Publish the GTM container
After validation:
-
Return to Google Tag Manager.
-
Select Submit.
-
Enter a version name, such as
Add GermainUX RUM monitoring. -
Describe the application, environment, trigger, and UX profile included in the change.
-
Review all container changes.
-
Select Publish.
For high-traffic applications, consider limiting the initial production deployment to a small percentage of users or a controlled audience before enabling it for everyone.
✅ Verify the production deployment
After publishing:
|
Verification step |
Expectation |
|---|---|
|
Open app |
Open the production application in a new browser session. |
|
Tag firing |
Confirm that the published tag fires. |
|
Requests |
Verify that requests go to the production GermainUX environment. |
|
Sessions |
Check that production sessions appear in GermainUX. |
|
Masking |
Validate masking and exclusion rules again. |
|
Monitoring |
Monitor data volume and browser performance. |
|
Duplicates |
Confirm that sessions are not duplicated. |
|
Dashboards |
Verify that dashboards, SLAs, and alerts use the expected application data. |
🔁 Updating the deployment
When the GermainUX installation script or destination changes:
-
Retrieve the current script from the UX monitoring profile.
-
Create a new GTM container version.
-
Update the Custom HTML tag.
-
Test the change using GTM Preview.
-
Validate incoming data in GermainUX.
-
Publish the updated container.
-
Retain the previous GTM version for rollback.
Configuration changes made entirely within the centrally managed UX monitoring profile may not require a new GTM deployment.
🔧 Troubleshooting
The GermainUX tag does not fire
Check that:
|
Check |
|---|
|
The tag is included in the current container version. |
|
The trigger matches the current URL, hostname, and consent state. |
|
Trigger exceptions are not preventing execution. |
|
The correct GTM container is installed on the application. |
|
The latest container version has been published. |
|
Browser privacy tools are not blocking GTM. |
Use GTM Preview to determine why the tag did not fire.
📈 The tag fires, but no data appears
Confirm that:
|
Check |
|---|
|
The complete GermainUX script was copied. |
|
The script points to the correct GermainUX environment. |
|
The application and UX monitoring profile are enabled. |
|
Content Security Policy permits the script and outbound connections. |
|
Proxy and firewall rules allow access to GermainUX. |
|
Browser privacy tools are not blocking the request. |
|
The current URL falls within the monitored application’s scope. |
🔁 Data is duplicated
Check whether:
|
Possible cause |
|---|
|
The RUM script is also embedded directly in the application. |
|
More than one GTM container loads it. |
|
Multiple GermainUX tags use overlapping triggers. |
|
The same tag fires on initialization and every route change. |
|
The application initializes GTM more than once. |
A page should normally initialize the applicable GermainUX RUM configuration only once.
🔍 Some routes are missing
For a single-page application, confirm that the selected GermainUX integration detects client-side route changes. Also verify that GTM is not reinitializing the complete RUM script for every virtual navigation.
⛔ Session replay contains sensitive information
Disable or restrict the affected monitoring profile immediately. Correct the masking or exclusion rules, validate them in a non-production environment, and only then re-enable the affected capture.
ℹ️ Feature information
|
Property |
Value |
|---|---|
|
Component |
RUM JavaScript |
|
Deployment method |
Google Tag Manager |
|
Feature availability |
GermainUX 2022.5 or later |
|
GTM tag type |
Custom HTML |
|
Recommended rollout |
Preview, pilot, and staged production deployment |
Component: RUM JS
Feature available in Germain v2022.5 or later