⚙️ Configure User Feedback for Salesforce Experience Cloud
The GermainUX User Feedback Popup allows authenticated and guest users to provide feedback directly from a Salesforce Experience Cloud site.
Each response can be correlated with the user’s current experience, including:
|
Item |
|---|
|
Site and environment |
|
Page and URL |
|
Authenticated or guest session |
|
Recent navigation and clicks |
|
Errors and validation messages |
|
Performance and network activity |
|
Business-process or journey step |
|
Session Replay, when enabled |
This helps teams understand both what the user reported and what occurred before the feedback was submitted.
Component: GermainUX RUM JS
Feature availability: GermainUX 2017.2 or later
📋 Prerequisites
Before enabling feedback:
|
Requirement |
Details |
|---|---|
|
Deploy RUM JS |
Deploy RUM JS on the Experience Cloud site. |
|
Verify sessions |
Verify that user sessions reach GermainUX. |
|
Configure UX Monitoring Profile |
Configure the Experience Cloud UX Monitoring Profile. |
|
Identity handling |
Configure authenticated and guest identity handling. |
|
Session Replay |
Enable Session Replay when required and permitted. |
|
Privacy controls |
Apply privacy, masking, and retention controls. |
|
Ownership |
Define who owns and responds to feedback. |
|
Pilot population |
Select a controlled pilot population. |
|
CSP |
Confirm that the site’s CSP allows the GermainUX integration. |
See Deploy Monitoring for Salesforce Experience Cloud.
🎯 Define the feedback objective
Use feedback to answer a specific question.
|
Objective |
Example prompt |
|---|---|
|
General experience |
How was your experience on this site? |
|
Self-service success |
Did you find what you needed? |
|
Workflow efficiency |
Was this process easy to complete? |
|
Problem reporting |
Did you encounter a problem? |
|
Content quality |
Was this information helpful? |
|
Case submission |
Was it easy to submit your request? |
|
Adoption |
What prevented you from using this feature? |
|
NPS |
How likely are you to recommend this product or service? |
Keep questions short, neutral, and actionable.
📥 Available feedback formats
Depending on the configured feedback mechanism, GermainUX can capture:
|
Format |
|---|
|
Thumbs up or thumbs down |
|
Positive or negative feedback |
|
Written comments |
|
Ratings and scores |
|
Survey responses |
|
NPS responses |
|
Site, page, user, and session context |
A thumbs-up or thumbs-down response is not an NPS score.
Standard NPS requires the likelihood-to-recommend question and a 0–10 scale:
|
Score |
Category |
|---|---|
|
|
Detractor |
|
|
Passive |
|
|
Promoter |
NPS = Percentage of Promoters - Percentage of Detractors
🚀 Enable the Feedback Popup
The popup is disabled by default and must be enabled for the applicable Experience Cloud UX Monitoring Profile.
Go to:
Workspace > Analytics > UX Monitoring Profiles
Depending on the GermainUX version:
Workspace > Settings > Analytics > UX Monitoring Profiles
Select the profile for the Experience Cloud site and open its initialization script.
Enable the popup:
const settings = germainApm.getDefaultSettings(loaderArgs, agentConfig);
settings.plugins.feedback.enabled = true;
germainApm.start(settings);
Add the feedback setting to the existing initialization script. Do not create a second germainApm.start() call.
Save and publish the profile, then open a new Experience Cloud browser session.
⛔ Disable the popup
The default value is false. To disable it explicitly:
const settings = germainApm.getDefaultSettings(loaderArgs, agentConfig);
settings.plugins.feedback.enabled = false;
germainApm.start(settings);
Disabling the Feedback Popup does not disable Real User Monitoring or Session Replay.
🔧 Customize the popup
The buttons, labels, colors, comment form, and position can be customized.
const settings = germainApm.getDefaultSettings(loaderArgs, agentConfig);
settings.plugins.feedback = {
enabled: true,
positive: {
icon: 'data:image/jpeg;base64,...',
label: 'This page was helpful',
backgroundColor: 'green'
},
negative: {
icon: 'data:image/jpeg;base64,...',
label: 'I encountered a problem',
backgroundColor: 'red'
},
position: 'bottom-right',
comment: {
position: 'right',
commentHint: 'Tell us more',
emailHint: 'Email address (optional)',
sendHint: 'Send feedback'
}
};
germainApm.start(settings);
Retain the default GermainUX icons or replace the sample data with approved image data.
📖 Configuration reference
type FeedbackSettings = {
enabled?: boolean;
positive?: FeedbackButton;
negative?: FeedbackButton;
position?:
'top-left'
'top-right'
'bottom-left'
'bottom-right';
comment?: {
position?: 'left' | 'right';
commentHint?: string;
emailHint?: string;
sendHint?: string;
styles?: Record<
'container' | 'email' | 'comment' | 'send' | 'close',
Record<string, string>
>;
};
};
type FeedbackButton = {
icon?: string;
label?: string;
backgroundColor?: string;
parentSelector?: string;
styles?: Record<string, string>;
};
🧭 Choose the position
Available positions are:
|
Position |
Code |
|---|---|
|
Top left |
|
|
Top right |
|
|
Bottom left |
|
|
Bottom right |
|
Select a position that does not cover:
|
Avoid covering |
|---|
|
Experience Cloud navigation |
|
Chat or support controls |
|
Form buttons |
|
Cookie or consent banners |
|
Salesforce notifications |
|
Mobile navigation |
|
Accessibility controls |
Test the popup across desktop, tablet, and mobile layouts.
Use parentSelector when the controls must be attached to a specific stable site element rather than document.body.
🏷️ Use clear labels
Recommended labels include:
|
Control |
Example |
|---|---|
|
Positive |
|
|
Negative |
|
|
Comment |
|
|
|
|
|
Submit |
|
Avoid using “This page contains an error” as the only negative option. Users may be dissatisfied because of content, workflow, usability, performance, or support—not necessarily a technical failure.
👥 Target guest and authenticated users
Define which Experience Cloud audiences should receive feedback controls.
Possible scopes include:
|
Scope |
|---|
|
Guest users |
|
Authenticated customers |
|
Partners |
|
Employees |
|
Specific user groups |
|
Selected site pages |
|
Specific workflows |
|
Pilot users |
|
Specific environments |
Targeting can be controlled through the UX Monitoring Profile, URL scope, user attributes, or supported initialization logic.
Test each user type separately because page structure, permissions, and identity context can differ.
⏱️ Control feedback frequency
Avoid survey fatigue.
For automatically triggered questions:
|
Guideline |
|---|
|
Do not prompt on every page |
|
Avoid interrupting a transaction |
|
Prompt after meaningful outcome |
|
Do not immediately repeat |
|
Limit repeated requests |
|
Suppress synthetic users |
|
Avoid overlapping surveys |
Persistent positive and negative controls can remain available without automatically opening a survey.
🔗 Correlate feedback with session context
Confirm that feedback retains available context such as:
|
Context |
|---|
|
Experience Cloud site |
|
Environment |
|
Page |
|
URL |
|
Authenticated or guest status |
|
Approved user identifier |
|
Session ID |
|
Submission time |
|
Feedback type |
|
Comment |
|
Related error |
|
Related business process |
|
Related performance activity |
This reduces the need for users to describe technical details manually.
🎞️ Connect feedback with Session Replay
When replay is enabled, authorized analysts can review the activity leading to a feedback submission.
Replay can reveal:
|
What replay can reveal |
|---|
|
What the user was trying to accomplish |
|
Which pages were visited |
|
Whether the user repeated actions |
|
Whether a control did not respond |
|
Whether an error appeared |
|
Whether the workflow was confusing |
|
Whether performance contributed |
|
What happened immediately before submission |
Protect sensitive information before connecting feedback with replay.
🔒 Privacy and consent
Feedback comments can contain personal, customer, health, financial, or confidential information.
Before production rollout:
|
Action |
Details |
|---|---|
|
Tell users |
Tell users not to enter passwords or confidential information. |
|
Contact details optional |
Make contact details optional unless necessary. |
|
Mask sensitive values |
Mask or exclude sensitive values. |
|
Restrict access |
Restrict access to comments and replay. |
|
Define retention |
Define a retention period. |
|
Review consent |
Review consent and privacy-notice requirements. |
|
Protect reports |
Protect exported reports. |
|
Follow-up process |
Define an approved follow-up process. |
|
Guest comment policy |
Determine whether guest comments may contain identifying information. |
A suitable placeholder is:
Tell us what happened. Do not include passwords or confidential information.
✅ Validate the configuration
Test with both guest and authenticated sessions when both populations are monitored.
Validation steps:
-
Open the Experience Cloud site.
-
Confirm that the feedback controls appear.
-
Verify that they do not obstruct the page.
-
Submit positive feedback.
-
Submit negative feedback with a comment.
-
Confirm that both events reach GermainUX.
-
Verify site, page, user, and session context.
-
Confirm that Session Replay is linked when enabled.
-
Verify privacy masking.
-
Confirm that only authorized users can access the response.
Also test:
|
Area |
Details |
|---|---|
|
Layouts |
Desktop and mobile layouts |
|
Browsers |
Supported browsers |
|
Components |
Custom Lightning Web Components |
|
Transitions |
Login and logout transitions |
|
Guest-auth transitions |
Guest-to-authenticated transitions |
|
Accessibility |
Accessible labels and keyboard navigation |
📊 KPIs
See KPIs of Real User Feedback Popup.
Useful measures include:
|
KPI |
Details |
|---|---|
|
Feedback count |
Feedback count |
|
Positive count |
Positive count |
|
Negative count |
Negative count |
|
Positive-response percentage |
Positive-response percentage |
|
Negative-response percentage |
Negative-response percentage |
|
Comment count |
Comment count |
|
Unique users |
Unique users |
|
Unique sessions |
Unique sessions |
|
NPS |
NPS, when properly configured |
|
Feedback with errors |
Feedback associated with errors |
|
Feedback with drop-offs |
Feedback associated with process drop-offs |
🔍 Analyze feedback
Segment responses by:
|
Segment |
|---|
|
Site |
|
Page |
|
User type |
|
Guest versus authenticated |
|
Customer or partner group |
|
Region |
|
Browser or device |
|
Feedback type |
|
Error category |
|
Business process |
|
Journey step |
|
Application version |
|
Time period |
Use the new Analysis Dashboard for quick segmentation:
Compare feedback with:
|
Compare with |
|---|
|
Page and click performance |
|
User-facing application errors |
|
User validations |
|
Journey abandonment |
|
Business-process overrun |
|
Repeated activity |
|
Recent releases |
|
Session Replay |
Use aggregate trends to identify broad patterns and individual comments to understand specific experiences.
🖥️ Dashboards
Go to:
Workspace > Dashboards > All
Search for:
|
Search |
|---|
|
Salesforce Experience Cloud dashboards |
|
Portlets containing Feedback |
|
User Experience dashboards |
|
Marketing or journey dashboards |
The exact dashboards available depend on the installed GermainUX version and configuration.
🔔 Configure alerts and ownership
Create alerts for feedback requiring timely action, such as:
|
Example |
|---|
|
Strongly negative feedback |
|
A severe problem reported in a comment |
|
Feedback correlated with a critical error |
|
Repeated negative feedback for one page or workflow |
|
A sudden decline in positive responses |
|
Feedback from a high-impact process |
Route feedback according to its likely owner:
|
Feedback type |
Possible owner |
|---|---|
|
Technical failure |
Application support or engineering |
|
Slow performance |
Performance or platform team |
|
Workflow difficulty |
Product or process owner |
|
Confusing validation |
UX, content, or training team |
|
Data problem |
Salesforce data owner |
|
General suggestion |
Product management |
|
Support request |
Customer-support team |
Do not generate a separate critical incident for every negative response. Consider severity, comment content, technical evidence, affected-user volume, and business impact.
🚑 Troubleshooting
🔎 The popup does not appear
Verify that:
|
Check |
Details |
|---|---|
|
RUM JS loaded |
RUM JS is loaded. |
|
Correct profile |
The correct UX Monitoring Profile matches the site URL. |
|
Setting enabled |
|
|
Setting timing |
The setting is applied before |
|
Profile published |
The profile is saved and published. |
|
New session |
The user opened a new session. |
|
CSP |
CSP does not block the required resources. |
|
Parent selector |
|
|
Site styles |
Site styles do not hide the popup. |
📤 Feedback submits but does not appear
Check:
|
Check area |
Details |
|---|---|
|
Network requests |
Browser network requests |
|
CSP and proxies |
CSP, proxy, and firewall rules |
|
Assignment |
Application and environment assignment |
|
KPI config |
Feedback KPI configuration |
|
Dashboard filters |
Dashboard time range and filters |
|
Bot exclusions |
Bot and synthetic-user exclusions |
|
Processing errors |
GermainUX processing errors |
❓ Feedback has no user or session context
Verify that:
|
Check |
Details |
|---|---|
|
RUM active |
Real User Monitoring is active. |
|
User identification |
User and session identification succeeded. |
|
Same RUM instance |
The feedback control uses the same RUM instance. |
|
Not initialized twice |
RUM JS is not initialized twice. |
|
Transition handling |
Guest-to-authenticated transitions are handled correctly. |
|
Submission timing |
The response is submitted before session termination. |
🔗 Related documentation
|
Document |
Link / Note |
|---|---|
|
Deploy the User Feedback Popup |
Deploy the User Feedback Popup |
|
User Feedback |
|
|
KPIs |
|
|
User Monitoring for Salesforce Experience Cloud |
User Monitoring for Salesforce Experience Cloud |
|
Configure Monitoring for Salesforce Experience Cloud |
ℹ️ Get More Information
GermainUX can help determine which monitoring, analytics and automation capabilities are appropriate for your Salesforce Experience Cloud environment.
Component: Engine, Mobile App, RUM JS
Feature Availability: 2018.1 or later