⚙️ Configure User Feedback for Shopify
Enable the GermainUX feedback popup to collect feedback from real Shopify customers while they browse, search, add products to their cart, or complete other monitored journeys.
Feedback is correlated with the customer’s session, page, actions, errors, performance, and Session Replay, helping teams understand both what the customer reported and what happened before the feedback was submitted.
📋 Prerequisites
Before enabling feedback:
|
Task |
|
|---|---|
|
1 |
|
|
2 |
Confirm that Shopify sessions appear in GermainUX. |
|
3 |
Identify the pages on which feedback should be available. |
|
4 |
Define privacy, consent, access, and retention requirements. |
|
5 |
Prepare the customer-facing labels and styling. |
|
6 |
Determine which teams will review and respond to feedback. |
✨ Feedback capabilities
GermainUX can collect:
|
Capability |
|---|
|
Positive or negative feedback |
|
Optional customer comments |
|
Page and application context |
|
Session and user context |
|
Browser and device information |
|
Related errors and network activity |
|
Related Shopify events |
|
Business-process and conversion stage |
|
Session Replay, when enabled and permitted |
|
Custom metadata approved by your organization |
Use the popup as an in-context feedback mechanism. It is not a replacement for customer support when the customer expects a direct response.
🚀 Enable the feedback popup
Go to:
Germain Workspace > Analytics > UX Monitoring Profiles
Select the profile used by the Shopify store, then enable the feedback feature.
💻 Initialization script
Where an initialization script is required, use:
const settings = germainApm.getDefaultSettings(loaderArgs, agentConfig);
settings.plugins.feedback.enabled = true;
germainApm.start(settings);
Add the setting before germainApm.start(settings).
Do not call germainApm.start() more than once. If the Shopify profile already contains an initialization script, add the feedback setting to that existing script.
🎨 Configure the feedback experience
Configure the popup to match the store’s branding and the purpose of the feedback request.
✅ Feedback choices
Configure the positive and negative choices.
Available properties can include:
|
Property |
|---|
|
Icon |
|
Label |
|
Background color |
|
Text color |
|
Hover style |
|
Selected style |
Example labels:
|
Positive |
Negative |
|---|---|
|
Good experience |
Poor experience |
|
Yes |
No |
|
Helpful |
Not helpful |
|
Easy |
Difficult |
|
Found it |
Could not find it |
Use labels that match the question being asked. A generic thumbs-up or thumbs-down prompt may not provide enough context for analysis.
❓ Prompt
Use one short, specific question.
Examples:
|
Example Prompt |
|---|
|
Did you find what you were looking for? |
|
Was this product information helpful? |
|
How easy was it to complete this step? |
|
Did checkout work as expected? |
|
Are you satisfied with your shopping experience? |
|
Was this support article helpful? |
Avoid asking multiple questions in one prompt.
💬 Customer comment
The optional comment field can help explain the selected rating.
Configure:
|
Option |
|---|
|
Comment label |
|
Placeholder or hint |
|
Field position |
|
Whether a comment is optional or required |
|
Maximum length |
|
Submit-button label |
|
Confirmation message |
|
Styles |
Recommended placeholder:
Tell us what worked or what we could improve. Do not enter payment or other sensitive information.
Requiring a comment can reduce response volume. Make it optional unless a specific use case requires an explanation.
🗺️ Popup position
Supported positions can include:
|
Position |
|---|
|
Top left |
|
Top right |
|
Bottom left |
|
Bottom right |
Choose a position that does not obstruct:
|
Element |
|---|
|
Navigation |
|
Cookie-consent controls |
|
Chat widgets |
|
Add-to-cart buttons |
|
Checkout actions |
|
Accessibility controls |
|
Mobile navigation |
|
Other fixed-position elements |
Test the placement on desktop, tablet, and mobile layouts.
⬇️ Place the popup inside a specific element
Use parentSelector when the popup must be rendered inside a particular page container rather than attached to the default page location.
The selector must:
|
Requirement |
|---|
|
Match a stable element |
|
Exist when the popup is initialized |
|
Be present on every targeted page |
|
Avoid dynamic theme-generated identifiers |
Test parentSelector after every material theme change.
🎯 Target the appropriate Shopify pages
Feedback does not need to appear on every page. Configure targeting based on the question and business objective.
💡 Recommended use cases
|
Page or journey |
Example question |
|---|---|
|
Product page |
Was this product information helpful? |
|
Search results |
Did you find what you were looking for? |
|
Collection page |
Was it easy to find the right product? |
|
Cart |
Was it easy to update your cart? |
|
Post-purchase page |
How was your checkout experience? |
|
Help article |
Was this article helpful? |
|
Customer account |
Was it easy to complete this task? |
|
Return journey |
Was the return process clear? |
⛔ Pages to treat carefully
Avoid or restrict feedback on:
|
Page type |
|---|
|
Pages containing payment information |
|
Authentication pages |
|
Pages displaying sensitive customer information |
|
Embedded third-party checkout pages |
|
High-friction steps where a popup could obstruct completion |
|
Pages on which another feedback or support widget is already displayed |
For checkout feedback, a post-purchase or Thank You page is often less disruptive than an intermediate checkout step.
⚙️ Configure display rules
Use display rules to prevent excessive or irrelevant prompts.
Consider:
|
Rule |
|---|
|
Maximum displays per session |
|
Maximum displays per customer over time |
|
Delay before display |
|
Minimum time on page |
|
Display after a specific action |
|
Display after journey completion |
|
Display after an error |
|
Display after abandonment intent |
|
Page and URL inclusion |
|
Page and URL exclusion |
|
Device type |
|
Customer segment |
|
Traffic source |
|
Consent state |
|
Sampling percentage |
Avoid showing the popup immediately on every page load. Give the customer enough time to experience the page or complete the relevant action.
⏰ Trigger contextual feedback
Feedback is most useful when requested at a meaningful point in the journey.
Examples include:
|
Trigger |
|---|
|
After viewing multiple products |
|
After a search returns no results |
|
After adding a product to the cart |
|
After removing a product from the cart |
|
After a visible application error |
|
After completing checkout |
|
After reading a help article |
|
After interacting with chat or customer support |
|
Before leaving an incomplete journey, where permitted |
Do not automatically interpret negative feedback as an application error. The customer may dislike a price, product, policy, or design even when the software operates correctly.
🔗 Correlate feedback with Shopify activity
Configure feedback so it can be analyzed with:
|
Item |
|---|
|
Customer session |
|
Session Replay |
|
Current page |
|
Product or collection |
|
Search term, when approved |
|
Cart or checkout stage |
|
Shopify event |
|
Error |
|
Network request |
|
Page and click duration |
|
Browser and device |
|
Campaign or traffic source |
|
Business process |
|
Conversion outcome |
This correlation helps distinguish, for example:
|
Scenario |
|---|
|
Negative feedback associated with slow performance |
|
Negative feedback following an application error |
|
Product dissatisfaction without a technical failure |
|
Search frustration caused by no results |
|
Checkout complaints associated with validation or payment decline |
|
Positive feedback from completed purchases |
🔒 Privacy and security
Free-text feedback can contain personal, confidential, or payment-related information even when customers are asked not to provide it.
Configure:
|
Control |
|---|
|
Comment masking or sanitization |
|
Data-retention limits |
|
Role-based access |
|
Consent requirements |
|
Geographic privacy rules |
|
Export restrictions |
|
Sensitive-data detection, where available |
|
Page exclusions |
|
Audit access |
Do not intentionally request:
|
Prohibited data |
|---|
|
Payment-card details |
|
Passwords |
|
Security codes |
|
Authentication information |
|
Government identifiers |
|
Medical information |
|
Other sensitive personal data |
If the business requires follow-up, provide a separate approved contact field or support workflow rather than instructing customers to place contact details in an unrestricted comment.
📈 Configure feedback KPIs
Use feedback KPIs to measure:
|
KPI |
|---|
|
Total responses |
|
Positive responses |
|
Negative responses |
|
Positive-response rate |
|
Negative-response rate |
|
Comment volume |
|
Unique customers providing feedback |
|
Feedback by page |
|
Feedback by product or collection |
|
Feedback by journey stage |
|
Feedback associated with errors |
|
Feedback associated with slow performance |
|
Feedback associated with conversion or abandonment |
Feedback volume and feedback score should be analyzed together. A high score based on very few responses may not represent the overall customer population.
🖥️ Configure dashboards
Go to:
Germain Workspace > Dashboards > All
Search for:
-
Shopify -
Feedback -
Insights for UX
You can also add a feedback portlet to an existing Shopify dashboard.
📑 Recommended dashboard measures
|
Measure |
|---|
|
Response Count |
|
Unique Respondents |
|
Positive Count |
|
Negative Count |
|
Positive Rate |
|
Negative Rate |
|
Comments |
|
Affected Sessions |
|
Conversion Rate |
|
Abandonment Rate |
🔀 Recommended pivots
|
Pivot |
|---|
|
Feedback Choice |
|
Page |
|
Product |
|
Collection |
|
Business-Process Step |
|
Error Category |
|
Browser |
|
Device |
|
Country |
|
Campaign |
|
Customer Segment |
|
Store |
|
Environment |
👁️ Recommended dashboard views
📊 Feedback overview
Show:
-
Total responses
-
Positive and negative rates
-
Response trend
-
Most affected pages
-
Recent comments
🔎 Negative-feedback analysis
Show:
-
Negative feedback by page
-
Related application errors
-
Related slow operations
-
Related searches
-
Conversion outcome
-
Links to affected sessions and replay
📦 Product and discovery feedback
Show:
-
Feedback by product
-
Feedback by collection
-
Search-related feedback
-
Search with no results
-
Product views and cart additions
💳 Checkout feedback
Show:
-
Feedback by checkout step
-
Checkout duration
-
Checkout alerts
-
Payment declines
-
Application failures
-
Completion and abandonment
🔔 Configure alerts and reports
Create alerts only for feedback conditions that require timely action.
Examples:
-
Sudden increase in negative feedback
-
Multiple negative responses for the same page
-
Negative feedback associated with checkout failure
-
New recurring complaint category
-
Negative feedback following a release
-
Feedback indicating a critical customer-impacting issue
Schedule reports for:
-
Weekly feedback trends
-
Most common complaint categories
-
Product and collection feedback
-
Checkout feedback
-
Feedback correlated with errors
-
Feedback correlated with conversion
-
Resolved versus recurring complaints
Avoid alerting on every individual negative response unless the store has a specific high-touch support process.
🔍 Analyze individual feedback
When reviewing an individual response:
-
Read the selected feedback and sanitized comment.
-
Identify the page, product, or journey step.
-
Review the customer’s preceding actions.
-
Check related errors and network requests.
-
Review page and interaction performance.
-
Open Session Replay when available.
-
Determine whether the issue is technical, functional, content-related, product-related, or policy-related.
-
Assess conversion and revenue impact.
-
Categorize the feedback.
-
Assign or track the appropriate action.
Use these classifications:
|
Classification |
Meaning |
|---|---|
|
User-facing application error |
Software failure visible to the customer |
|
Silent application error |
Software failure not shown to the customer |
|
User validation |
Expected feedback preventing invalid input or action |
|
UX friction |
Software works, but the interaction is unnecessarily difficult |
|
Content issue |
Information is missing, unclear, or misleading |
|
Product issue |
Feedback concerns the product, price, availability, or offering |
|
Policy issue |
Feedback concerns shipping, returns, privacy, or another policy |
|
Feature request |
Customer is requesting new functionality |
✅ Validate the configuration
Test the feedback experience before production rollout.
Verify that:
|
Check |
|---|
|
The popup appears only on intended pages. |
|
The prompt and choices are correct. |
|
Positive and negative responses submit successfully. |
|
Optional comments are captured. |
|
Confirmation behavior works. |
|
The popup does not obstruct Shopify controls. |
|
Desktop and mobile layouts work correctly. |
|
Keyboard navigation works. |
|
The popup is usable with screen readers where required. |
|
Consent choices are respected. |
|
Sensitive pages are excluded. |
|
Feedback correlates with the correct session. |
|
Feedback appears at the right point in Session Replay. |
|
Dashboard KPIs update. |
|
No duplicate feedback event is generated. |
🔧 Troubleshooting
❗ The popup does not appear
Confirm that:
-
RUM JS is loaded.
-
settings.plugins.feedback.enabledistrue. -
The initialization script reaches
germainApm.start(settings). -
The page matches the display rules.
-
Consent permits collection.
-
The customer has not reached the display-frequency limit.
-
The configured
parentSelectormatches an existing element. -
Theme styles do not hide the popup.
-
Another widget is not covering it.
📥 Feedback submits but does not appear in GermainUX
Verify:
-
The Shopify application and environment names
-
Network access to the GermainUX environment
-
Consent and privacy rules
-
Feedback KPI mapping
-
Dashboard time range and filters
-
Data-retention and access permissions
🎞️ Feedback is not linked to Session Replay
Confirm that:
-
Session Replay was enabled for the session.
-
The session was included by the replay sampling rules.
-
Consent permitted replay.
-
Feedback and RUM use the same application and session.
-
The feedback event occurred before the session ended.
💥 The popup conflicts with another widget
Change its position, display rule, or parentSelector. Test against cookie banners, chat, accessibility controls, cart drawers, and mobile navigation.
📚 Related documentation
|
Doc |
Link |
|---|---|
|
Deploy Monitoring for Shopify |
|
|
Configure Monitoring for Shopify |
|
|
Configure Shopify Events |
|
|
Configure Error Monitoring |
|
|
Configure Third-Party Checkout Monitoring |
|
|
KPIs for Shopify Monitoring |
ℹ️ Get More Information
GermainUX can help determine which monitoring, analytics and automation capabilities are appropriate for your Salesforce Experience Cloud environment.
Component: RUM JS
Feature Availability: 2017.2 or later