🚀 Deploy Monitoring for Magento
Deploy GermainUX monitoring for Magento to capture real user experience, conversion journeys, application performance, errors, and the health of the systems supporting your Magento store.
⚙️ Monitoring Options
GermainUX can monitor Magento across multiple layers:
|
Magento Layer |
GermainUX Monitoring |
|---|---|
|
Browser / User Interface |
Real User Monitoring, Session Replay, user behavior, errors, performance, and conversion journeys via GermainUX RUM JS |
|
JavaScript |
JavaScript performance and code-level analysis via GermainUX JS Profiler |
|
Synthetic User Journeys |
Proactive testing of critical journeys such as product search, cart, and checkout via GermainUX RPA |
|
REST APIs |
Availability, performance, usage, and errors via GermainUX Engine |
|
Logs |
Errors, warnings, application activity, and other relevant events via GermainUX Engine |
|
Database |
Database availability, performance, and other relevant telemetry via GermainUX Engine |
Deploy only the monitoring capabilities required for your environment and use case.
🚀 1. Start the Magento Wizard
From Germain Workspace, navigate to:
Left Menu → Settings -> Wizards → Magento
The Magento Wizard guides you through the initial configuration of Magento monitoring.
🏷️ 2. Configure the Magento Application
Enter the:
-
Application Name
-
Magento URL
The Application Name identifies the Magento environment throughout GermainUX analytics, dashboards, reports, alerts, and Session Replay.
Use the URL of the Magento environment that you want GermainUX to monitor.
📋 3. Follow the Deployment Instructions
Once the initial configuration is complete, the Magento Wizard generates the deployment instructions for your environment.
Follow the instructions provided in the Wizard to deploy the selected GermainUX monitoring components.
For browser-based Real User Monitoring, this includes deploying GermainUX RUM JS to the Magento storefront.
Once deployed, GermainUX can begin capturing actual visitor activity, including:
-
Page navigation
-
User actions and clicks
-
Form interactions
-
Session Replay
-
Browser and JavaScript errors
-
Network requests
-
Page and transaction performance
-
Customer journeys and business activity
The monitoring scope can then be customized according to your requirements.
🎥 4. Validate Real User Monitoring & Session Replay
Open the monitored Magento store and perform a representative customer journey, for example:
Product Search → Product View → Add to Cart → Checkout
Verify in GermainUX that:
-
The user session is captured
-
Pages and user actions are visible
-
Session Replay is available
-
Browser errors are captured
-
Network requests are monitored
-
Performance telemetry is available
-
The session is associated with the correct Magento application
This confirms that browser-side Magento monitoring is operating correctly.
🚨 5. Configure Error Monitoring
GermainUX RUM JS automatically captures browser-side errors and failed network requests affecting Magento visitors.
The UX Monitoring Profile can be customized when additional error detection, classification, or exclusions are required.
Navigate to:
Germain Workspace → Left Menu → Settings → Analytics → UX Monitoring Profiles → [Magento Application]
From the monitoring profile, you can customize how events are captured and processed for your Magento environment.
For example, you can:
-
Classify specific network failures as business-relevant errors
-
Customize error names and categories
-
Exclude known or benign errors from the configuration or from the Analytics dashboard like this:
Filter in or out specific Magento errors - Germain UX -
Identify customer-impacting errors
-
Add application-specific context to monitored events
Once error monitoring is active, GermainUX Categorization, dashboards, alerts, and reports can be configured to automatically identify and prioritize new or important errors.
Sample Code:
var settings = germainApm.getDefaultSettings(loaderArgs, agentConfig);
settings.plugins.feedback.enabled = false;
//settings.constants.logLevel = 'TRACE';
settings.constants.logLevelToEmitAsFacts = 'WARN';
settings.application.metadataProviders['user.name'] = function (window) {
return new germainApm.native.Promise(function (resolve) {
germainApm.utils.waitForElements(window, '.user-info .d-flex', function (elements) {
var el = elements[0];
if (el && el.innerText) {
resolve(el.innerText.replace(/\s\s+/g, ' '));
}
else {
resolve(undefined);
}
}, undefined, 10, 1000);
});
};
settings.plugins.pageLoad.factProcessor = function (userClick, events) {
for (var i = 0; i < events.length; i++) {
if (events[i].event.type === 'document ready') {
var page = events[i].page;
if (page && page.title)
userClick.name = 'Navigation ' + page.title;
}
}
};
settings.plugins.network.eventProcessor = function (event) {
var response = event.response;
try {
if (event.status === 0 || event.status >= 400) {
if (event.url && event.url.pathname) {
var pathname_1 = event.url.pathname;
if (pathname_1 && pathname_1 !== '/v1/events' && pathname_1 !== '/server/cometd') {
if (pathname_1.match('/genesys/2/chat/GWE.*/refresh')) {
event.businessObject = 'Chat Refresh Error';
}
else if (~pathname_1.indexOf('/api/contract/getProductOffer')) {
event.businessObject = 'Product Offer Error';
}
else if (pathname_1.match('/api/contract/subscriptions/.*/verify-otp') ||
~pathname_1.indexOf('/api/contract/findSubscriptionInfobySubscriptionNumber') ||
~pathname_1.indexOf('/api/contract/findSubscriptionsInfo') ||
~pathname_1.indexOf('/api/logistical/generate_bon_transport_byClaimNumber/SV') ||
~pathname_1.indexOf('/api/logistical/generate_bon_transport/CRDN/FIND') ||
~pathname_1.indexOf('/api/logistical/generate_bon_transport/TS/FIND') ||
~pathname_1.indexOf('/api/contact/createContact') ||
~pathname_1.indexOf('/api/claims/getclaimbyNumber')) {
event.businessObject = 'Error';
if (response) {
try {
var object = JSON.parse(response);
if (object) {
if (object.type)
event.businessObject = object.type;
if (object.message)
event.businessObject = event.businessObject + ":" + object.message;
if (event.businessObject)
event.businessObject = event.businessObject.substring(0, 50).trim();
}
}
catch (e) { }
}
}
}
}
}
}
catch (e) { }
};
settings.plugins.pageLoad.factProcessor = function (userClick, events) {
for (var i = 0; i < events.length; i++) {
var event_1 = events[i].event;
if (event_1.type === 'request') {
if (event_1.success !== undefined)
userClick.success = event_1.success;
}
}
};
settings.plugins.click.factProcessor = function (fact, event, fireEvent, settings) {
try {
var target = event.target;
if (target instanceof HTMLElement) {
if (fact.displayedName === 'Résilier mon assurance' || fact.displayedName === 'Déclarer un sinistre' || fact.displayedName === 'Suivre mes sinistres') {
var container_1 = target.closest('.contract-info-row');
if (container_1) {
var adhesionContainer = container_1.querySelector('p.text-gray');
if (adhesionContainer) {
var content = adhesionContainer.innerText;
if (content && ~content.indexOf("Numéro d'adhésion")) {
// set n. adhesion
fact.businessObject = content.replace("Numéro d'adhésion :", '').trim();
}
}
}
}
// extract username
var container = document.querySelector('.user-info .d-flex');
if (container) {
var content = container.innerText;
if (content) {
content = content.replace(/\s\s+/g, ' ');
germainApm.rootWindow && germainApm.rootWindow.submitData({ time: Date.now(), type: 'assign metadata', fieldPath: 'user.name', value: content });
}
}
}
}
catch (e) { }
};
germainApm.eventGenerators.customAlert = {
emits: ['DOM popup opening', 'DOM popup closed'],
installer: function () { return function () { }; },
};
germainApm.eventGenerators.customLogout = {
emits: ['session end'],
installer: function () { return function () { }; },
};
germainApm.start(settings);
🔬 6. Enable Advanced JavaScript Analysis — Optional
For deeper troubleshooting of browser-side performance issues, deploy the GermainUX JS Profiler.
The JS Profiler provides more detailed JavaScript execution analysis and can help identify expensive JavaScript methods, execution delays, stalls, and other browser-side performance issues.
Use this capability when deeper JavaScript diagnostics are required beyond standard RUM monitoring.
🤖 7. Configure Synthetic Monitoring — Optional
GermainUX RPA can be used to proactively test critical Magento journeys without waiting for an actual visitor to encounter an issue.
For example:
Open Store → Search Product → Add to Cart → Checkout
Synthetic journeys can be scheduled to continuously validate critical functionality and detect issues such as:
-
Storefront unavailable
-
Product search failure
-
Add-to-cart failure
-
Checkout failure
-
Slow transactions
-
Integration failures
Alerts or automated actions can be triggered when a synthetic journey fails or exceeds defined thresholds.
🔗 8. Configure Backend Monitoring — Optional
Use the GermainUX Engine when additional monitoring is required beyond the browser.
Depending on your Magento architecture, GermainUX can monitor:
REST APIs
Monitor the availability, performance, usage, and errors of Magento APIs and related services.
Logs
Monitor Magento and supporting application logs to detect errors, warnings, and other events relevant to application health.
Database
Monitor the database supporting Magento to identify availability or performance conditions affecting the customer experience.
Combining browser and backend monitoring provides broader visibility across:
Visitor → Magento Storefront → API / Service → Database
🔐 9. Review Data Privacy
Before enabling production monitoring, review the data collected from your Magento environment.
GermainUX monitoring can be configured to exclude or anonymize sensitive information.
Pay particular attention to customer and payment-related information during:
-
Account creation and login
-
Customer profile management
-
Cart
-
Checkout
-
Payment
-
Order confirmation
Configure appropriate exclusions before enabling monitoring for production users.
✅ 10. Validate the Deployment
After deployment, verify that the required Magento telemetry is being received by GermainUX.
Depending on the monitoring capabilities enabled, validate:
-
Real user sessions
-
Session Replay
-
User actions and customer journeys
-
Browser and JavaScript errors
-
Network requests
-
Performance telemetry
-
Synthetic transactions
-
API monitoring
-
Log monitoring
-
Database monitoring
Also confirm that sensitive information is excluded or anonymized according to your organization's privacy and security requirements.
🔄 Return to the Deployment Instructions
You can return to the generated RUM JS deployment instructions at any time.
Navigate to:
Germain Workspace → Settings → Analytics → UX Monitoring Profiles
Select the Magento monitoring profile and open Installation in the Configuration Editor.
The installation instructions for that monitoring profile will be displayed.
📊 Next Steps
Once Magento monitoring is deployed, configure the analytics and automation appropriate for your use case.
For example:
-
Conversion and funnel dashboards
-
Cart abandonment analysis
-
Checkout monitoring
-
Customer journey analysis
-
AI-powered session insights
-
Customer feedback analysis
-
Error and performance monitoring
-
Real-time alerts
-
Automated reports
-
SLA monitoring
-
Operational automation
See Magento Operational Experience Intelligence for details about the Magento monitoring and analytics capabilities available in GermainUX.
ℹ️ Get Help
The Germain Team can help you set this up. Contact GermainUX Support.
Component: Engine, JS Profiler, Mobile, RPA Bot Recorder, RUM JS, RUM Extension
Feature Availability: 2017.1 or later