Magento Monitoring
Features for Magento
Germain is capable of monitoring the uptime, performance, and user experience of Magento applications. It provides you with the necessary tools to track and analyze various aspects of your Magento storefront, allowing you to optimize its performance and enhance the user experience.
With Germain, you can customize the monitoring parameters and configurations based on your specific requirements. This flexibility ensures that the monitoring solution aligns with your unique needs and enables you to focus on the metrics and insights that matter most to your business.
Some of the features that Germain offers for Magento include:
Real User Session Recording and Replay
Record and replay user sessions on your Magento application, providing valuable insights into user behavior, navigation patterns, and any potential issues they may encounter. More details on User Session Monitoring and Replay
Workflow Monitoring
Track and analyze the performance and efficiency of your business processes within the Magento platform. This monitoring helps you gain insights into the flow of activities, identify bottlenecks, and optimize your workflows for better productivity and customer satisfaction. More details on Business Process / Workflow Mining
Monitor Order Processing
Track the order processing workflow in your Magento store. You can monitor each step of the order fulfillment process, from order placement to payment processing, inventory management, and shipment tracking. This allows you to identify any delays or issues that may occur and take appropriate actions.
Analyze Customer Journey
Monitor and analyze the customer journey within your Magento store. You can track the steps customers take, such as product browsing, adding items to the cart, checkout process, and post-purchase activities. This helps you understand customer behavior, identify conversion rate optimization opportunities, and enhance the overall user experience. More details on Customer Journey
Monitor Inventory Management
Monitor inventory management workflows in Magento. You can track stock levels, receive alerts for low inventory, monitor product restocking processes, and ensure smooth inventory operations to avoid stockouts or overstock situations.
Track Marketing Campaigns
Monitor the performance of marketing campaigns within your Magento store. You can track the effectiveness of promotional activities, monitor the impact on website traffic, conversion rates, and revenue generated. This helps you measure the success of your marketing efforts and make data-driven decisions to optimize campaign performance. More details on Marketing KPIs, Pivots & Measures
Application Uptime and Performance Monitoring
Monitor the availability and performance of your Magento storefront, ensuring that it is running smoothly and meeting your desired performance standards.
Real-time Slowness and Error Analysis
Monitor and analyze of slowness and errors within your Magento application. It helps you identify performance bottlenecks and errors, allowing you to address them promptly and ensure a seamless user experience.
Integration-to-Magento Monitoring
Monitor the integrations between your Magento application and other systems or third-party services. This ensures that all integrations are functioning correctly and provides visibility into any issues that may arise.
For more detailed information on the monitoring capabilities and customization options available for Magento applications in Germain, please reach out to the Germain support team. We will provide you with further guidance and assistance in tailoring the monitoring solution to your specific requirements.
How-to Video
Magento Monitoring Deployment Steps
Configuration
Go to Germain Workspace > Left Menu > Wizard > Magento
Magento Wizard - Germain UX
Set Application Name and URL
Magento Parameters - Germain UX
Tag Magento Errors that affect Users
Configure Germain to identify Magento Errors that affect Users, in real-time and at scale.
Example of Magento Error that affect Users:

Magento Error detected by Germain UX

Magento User Session recorded and replayed by - Germain UX
Germain Workspace > Left Menu > Analytics > UX Monitoring Profiles

Magento UX profile - Germain UX
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);
The above script will allow you to identify all User Errors at scale, so you know which errors impacts the most your user community.

Magento Errors analyzed by Germain UX
Deployment
Follow steps from the Magento wizard summary.

Magento Wizard - Germain UX
You can always come back to these deployments steps:
Go to Germain Workspace > Left Menu > Analytics > UX Monitoring Profiles
Select UX Monitoring Profile recently created
Click Installation in the Configuration Editor

Magento UX Profile - Germain UX
Component: Engine, JS Profiler, RPA Bot Recorder, RUM JS
Feature Availability: 2022.3 or later