Choose the deployment scope
Choose an installation method
Validate the production deployment
Troubleshooting
Deploy RUM JS for SAP
Deploy GermainUX RUM JS to monitor the availability, performance, user experience, and business processes of browser-based SAP applications. RUM JS supports real-user monitoring and Session Replay for compatible SAP web interfaces, including SAP Fiori and SAPUI5 applications, when the script can execute in the required browser context.What RUM JS monitors
RUM JS can capture:- User sessions
- Session Replay
- Fiori and SAPUI5 navigation
- Pages and logical application views
- User clicks and interactions
- Customer-perceived response time
Show all 15
Show all 15
- Network and resource requests
- Browser and JavaScript errors
- Unhandled promise rejections
- Browser freezes
- Rage clicks and dead clicks
- Business-process steps
- User feedback
- Heatmaps
- Browser, device, and network context
Supported SAP interfaces
RUM JS can monitor compatible browser-based interfaces such as:- SAP Fiori launchpad
- SAP Fiori applications
- SAPUI5 applications
- SAP Web GUI
- Custom SAP web applications
- Browser-based SAP portals
- SAP applications embedded in another monitored portal
- Where RUM JS is loaded
- Same-origin and cross-origin boundaries
- Frames and embedded applications
- SAP security policies
- Content Security Policy
- Browser security
- User consent
- The ability to execute code in the application’s root context
Choose the deployment scope
Before installing RUM JS, determine whether you need to monitor:- One SAP application
- Multiple Fiori applications
- The entire Fiori launchpad
- An SAP application embedded in a corporate portal
- Production and non-production systems
- Multiple SAP hostnames or regions
Root-context deployment
To monitor the complete Fiori launchpad and activity across its applications, RUM JS should execute in the highest accessible application context. If the script is deployed only inside one isolated component, it may capture only that component rather than the entire user experience.Prerequisites
Before deployment, confirm:- GermainUX Cloud or on-premise is available.
- The SAP application URLs are known.
- You have access to Germain Workspace.
- The required SAP or web-server changes are approved.
- The browser can reach the GermainUX environment.
- Content Security Policy can be updated when required.
Show all 9
Show all 9
- Privacy, consent, masking, and retention requirements are defined.
- Production and non-production environments can be distinguished.
- A test account and representative workflow are available.
Create the SAP monitoring profile
Go to: Germain Workspace > Settings > Wizards Steps to create the profile:Select SAP
Enter the application name
Enter the SAP application URL
Enter or select the environment
Configure the available privacy and monitoring options
Review the wizard summary
Follow the generated installation instructions
Reopen the installation instructions
You can return to the generated deployment instructions at any time:Go to Germain Workspace > Analytics > UX Monitoring Profiles
Select the SAP monitoring profile
Open Installation in the configuration editor
Choose an installation method
Direct application deployment
Use direct deployment when you control the SAP web application or shell. Potential locations include:- Fiori launchpad customization
- Approved SAP shell extension
- Custom SAPUI5 bootstrap or application shell
- Web-server template
- Parent portal
- Reverse-proxy response injection
SAP Fiori launchpad deployment
For broad Fiori coverage, deploy RUM JS through an approved mechanism that loads it in the launchpad shell. Validate that:- The loader executes once.
- It executes early enough to observe navigation.
- It remains available across client-side route changes.
- It can access the required same-origin application content.
- It does not interfere with SAPUI5 initialization.
- It remains installed after an SAP upgrade.
Individual SAPUI5 application
Use application-level deployment when:- Only one application is in scope.
- The launchpad shell cannot be modified.
- The application runs independently.
- Component-level coverage is sufficient.
Tag manager or reverse proxy
An approved tag manager or reverse proxy can be used when it reliably injects RUM JS into the required document. Validate:- Injection occurs on every intended page.
- Content Security Policy permits the script.
- The script loads only once.
- Authentication redirects are handled correctly.
- Error and fallback pages are covered when required.
- Caching does not serve an incorrect GermainUX configuration.
GermainUX browser extension
Use a managed GermainUX RUM browser extension when the SAP root page cannot be modified and organizational browser policies permit extension deployment. This can be appropriate for:- Vendor-managed SAP pages
- Root documents outside your control
- Controlled employee browsers
- Diagnostic or phased deployments
Configure Content Security Policy
The SAP application must permit the browser to load RUM JS and send monitoring data to GermainUX. Review directives such as:script-srcconnect-srcimg-srcstyle-srcfont-srcworker-srcframe-src
Configure application and URL matching
In the SAP UX monitoring profile, configure:- Primary hostname
- Alternate hostnames
- Launchpad path
- SAP application paths
- Load-balanced URLs
- Authentication redirects
Show all 9
Show all 9
- Locale-specific routes
- Embedded applications
- Production and non-production exclusions
Normalize dynamic URLs
Remove or normalize values that would fragment the same logical page:- Session identifiers
- User identifiers
- Business-document identifiers
- Transaction tokens
- Locale prefixes
- Cache-busting parameters
- Dynamic object identifiers
- Tracking parameters
Configure SAP single-page navigation
Fiori and SAPUI5 applications frequently change views without performing a full browser page load. Configure logical navigation so GermainUX recognizes:- Fiori application launch
- Tile selection
- Hash-route changes
- View transitions
- Tab changes
- Object-page navigation
Show all 9
Show all 9
- Dialog-based workflows
- Navigation between embedded applications
- Return to the launchpad
Configure user identification
Where permitted, associate the SAP session with approved user context. Potential attributes include:- SAP username
- User role
- Department
- Business unit
- Location
- Application role
- Organization
- Language
- Passwords
- Authentication tokens
- Session cookies
- Security answers
- Unnecessary personal information
Authentication transitions
Confirm that RUM JS:- Starts after authentication when appropriate
- Maintains the intended session across redirects
- Handles single sign-on correctly
- Ends or updates the session at logout
- Does not capture authentication credentials
- Does not create duplicate sessions during silent token renewal
Configure Session Replay
Enable Session Replay in the SAP UX monitoring profile when detailed reconstruction is required. Configure:- Replay enablement
- Sampling
- Maximum duration
- Text masking
- Input masking
- Element exclusion
Show all 11
Show all 11
- Page exclusion
- Resource capture
- Network capture
- Consent
- Retention
Recommended exclusions
Review and protect SAP pages containing:- Employee information
- Customer information
- Financial information
- Health information
- Procurement details
- Payroll information
Show all 10
Show all 10
- Authentication data
- Confidential business documents
- Free-text notes
- Attachments
Configure error monitoring
Enable relevant browser error sources:- JavaScript exceptions
- Unhandled promise rejections
- Resource errors
- Failed HTTP or fetch requests
- Timeouts
- Application messages
- Browser console events
- Custom SAP application events
Configure network monitoring
Capture browser requests associated with:- OData
- REST
- SOAP
- SAPUI5 resources
- Application services
- Authentication
- Integrations
- Third-party services
- URL normalization
- Request naming
- Success criteria
- Timeouts
- Error categorization
- Header exclusion
- Request- and response-body exclusion
- Correlation attributes
Configure business-process monitoring
Define critical SAP workflows, such as:- Purchase requisition creation
- Purchase-order approval
- Sales-order lookup or creation
- Invoice approval
- Expense submission
- Employee self-service
Show all 10
Show all 10
- Material lookup
- Inventory transfer
- Vendor onboarding
- Customer maintenance
- Start condition
- Completion condition
- Required and optional steps
- Failure conditions
- Abandonment timeout
- Expected duration
- Relevant user and business dimensions
- Application and environment
Configure user feedback
Where appropriate, enable the GermainUX feedback popup to collect contextual feedback from SAP users. Feedback can be correlated with:- User session
- Current SAP application
- Business-process step
- Error
- Performance
- Browser and device
- Session Replay
Deploy to non-production first
Before production deployment:Create a non-production SAP profile
Install RUM JS in the test environment
Validate login and navigation
Test representative Fiori applications
Verify pages, clicks, and requests
Trigger safe validation and error scenarios
Review Session Replay
Validate privacy masking
Measure browser overhead
Confirm that the installation survives application navigation and reload
Validate the production deployment
Loader validation
Using browser developer tools, confirm that:- The GermainUX loader is requested.
- It returns successfully.
- No Content Security Policy error blocks it.
- It loads only once.
- The browser sends monitoring data to the intended GermainUX environment.
- Authentication and proxy infrastructure do not block it.
Session validation
Perform a representative SAP journey:Sign in
Open the Fiori launchpad
Launch an application
Navigate between views
Perform several user actions
Generate an approved validation message
Complete or abandon a test process
Sign out
- One correctly identified session
- Logical application and page names
- User clicks
- Network requests
- Expected validation
- Any intentional test error
- Business-process steps
- Session Replay, when enabled
Privacy validation
Review the captured data directly and confirm that:- Password fields are absent.
- Authentication values are absent.
- Sensitive text is masked.
- Sensitive inputs are masked.
- URLs do not contain protected identifiers.
- Request and response bodies follow the configured policy.
- Excluded pages and elements are not captured.
- Access permissions are correct.
Monitor browser overhead
After rollout, monitor:- Script load time
- Browser CPU
- Browser memory
- Network volume
- Event volume
- Session Replay volume
- Page and interaction responsiveness
- Session sampling
- Replay sampling
- Event collection
- Mouse and input capture
- Network-body capture
- Resource collection
- Maximum session duration
- User or application scope
Rollout strategy
Use a phased deployment:SAP development or QA
Internal support and QA users
Limited production group
One business unit or region
Broader production rollout
- Technical stability
- Privacy
- Data quality
- User identification
- Storage volume
- Browser overhead
- Dashboard usefulness
Troubleshooting
No SAP sessions appear
Confirm that:- The generated RUM script is installed.
- The SAP URL matches the profile.
- The application name and environment are correct.
- The browser can reach GermainUX.
- Content Security Policy permits the loader and ingestion endpoints.
- Consent allows collection.
- The script executes in the intended document.
- Ad blockers or enterprise security tools do not block it.
1 Only one Fiori application is monitored
RUM JS may be installed only inside that application. Deploy it in the launchpad shell or another approved root context when broader coverage is required. Applications in inaccessible cross-origin frames require separate deployment.Navigation appears as one long page
Configure SAP single-page navigation and hash-route detection. A full browser page load is not required when the user changes Fiori applications or views.Sessions are duplicated
Check whether RUM JS is loaded through multiple mechanisms:- Fiori shell
- Individual SAPUI5 application
- Tag manager
- Reverse proxy
- Browser extension
- Parent portal
Session Replay is incomplete
Review:- Replay sampling
- Consent
- Page exclusions
- Element exclusions
- Cross-origin frames
- Shadow DOM or dynamically rendered controls
Show all 9
Show all 9
- Resource access
- Maximum session duration
- Navigation between independent SAP origins
SAP controls are unnamed
Configure application-specific extraction rules using stable SAPUI5 attributes, accessibility labels, control metadata, or business labels. Avoid depending only on generated DOM identifiers.Network requests are fragmented
Normalize dynamic paths, session identifiers, document identifiers, and query parameters. Assign business-oriented request names.Authentication data appears in URLs
Configure immediate URL sanitization and stop production collection until the protected values are removed from stored telemetry.Uninstall or disable RUM JS
To stop collection:Disable the SAP UX monitoring profile or its RUM collection
Remove the loader from the SAP shell, application, proxy, tag manager, or extension policy
Clear relevant caches
Open a new browser session
Confirm that the RUM loader no longer loads
Confirm that new SAP sessions are no longer created
Related documentation
Get More Information
GermainUX can help determine which monitoring, analytics and automation capabilities are appropriate for your Salesforce Experience Cloud environment. Contact GermainUX Support.Get Help
Contact GermainUX Support
Can't find what you need?
The content of this document is proprietary to GERMAIN SOFTWARE LLC.

