⚙️ 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 |
Deploy RUM JS for Shopify. |
|
2 |
Confirm that Shopify sessions appear in GermainUX. |
|
3 |
Identify the conditions for which Feedback Popup should be available. |
|
4 |
Define privacy, consent, access, and retention requirements. |
|
5 |
Prepare the Feedback Popup (customer-facing) styling. |
|
6 |
Determine which teams will review and respond to feedback. |
|
7 |
List the semi-automated and fully automated actions that should occur once a customer provides feedback (e.g., email confirmation, suggested solution, etc.). |
✨ Feedback capabilities
GermainUX can collect:
-
Positive or negative feedback
-
Customer comments
-
Real-time alert — Notifies your team as soon as feedback is submitted, giving you an opportunity to respond while you still have the customer’s attention.
-
AI analysis of the feedback — Analyzes the customer’s comment to help your team understand, categorize, and prioritize the feedback.
Then, GermainUX provides the full context behind the customer feedback, including Session Replay, so you can see exactly what the customer was doing and experiencing and understand what led to their positive or negative feedback.
🚀 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:
-
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:
-
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.
Recommended placeholder:
Please tell us what you need.
Requiring a comment can reduce response volume. Make it optional unless a specific use case requires an explanation.
🗺️ Popup position
Supported positions can include:
-
Top left
-
Top right
-
Bottom left
-
Bottom right
Choose a position that does not obstruct:
-
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:
-
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.
⚙️ Configure display rules
Use display rules to prevent excessive or irrelevant prompts.
Consider:
-
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.
🔒 Privacy and security
Free-text feedback can contain personal, confidential, or payment-related information even when customers are asked not to provide it.
Configure:
-
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:
-
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:
-
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
-
Response Count
-
Unique Respondents
-
Positive Count
-
Negative Count
-
Positive Rate
-
Negative Rate
-
Comments
-
Affected Sessions
-
Conversion Rate
-
Abandonment Rate
🔀 Recommended pivots
-
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:
-
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
|
Deploy Monitoring for Shopify |
|
Configure Shopify Events |
|
Configure Error Monitoring for Shopify |
|
Configure User Feedback for Shopify |
|
Check AI Insights and Automated Recommendations you can enable |
ℹ️ Get Help
The Germain Team can help you set this up. Contact GermainUX Support.
Component: Engine, JS Profiler, Mobile App, RPA Bot Recorder, RUM JS
Feature Availability: 2023.3 or later