⚙️ Configure Monitoring for Third-Party Shopify Checkouts
Configure GermainUX RUM JS on supported third-party checkout platforms to extend monitoring beyond the Shopify storefront.
This enables GermainUX to capture supported checkout activity, errors, performance, and Session Replay after a shopper leaves the Shopify-hosted storefront.
📦 Supported checkout platforms
This guide provides configuration instructions for:
|
Platform |
|
|---|---|
|
1 |
Checkify |
|
2 |
Funnelish |
|
3 |
Recharge Custom Checkout |
Contact GermainUX Support if you use another checkout provider.
Third-party platforms can change or restrict their custom-script capabilities. Confirm that your provider still permits JavaScript in the required checkout pages before beginning the configuration.
📋 Prerequisites
Before configuring a third-party checkout, verify that:
|
Requirement |
|---|
|
GermainUX monitoring is already deployed on the Shopify storefront. |
|
You have administrative access to the checkout platform. |
|
The checkout platform permits custom JavaScript. |
|
You know your GermainUX hostname. |
|
You know the application name used for the Shopify store. |
|
The third-party checkout domain is included in the monitoring profile. |
|
Privacy, consent, masking, and retention requirements have been approved. |
|
You can safely complete a test checkout. |
✨ GermainUX monitoring script
Use the following script unless GermainUX generated a store-specific version for your environment:
<!-- GermainUX monitoring -->
<script
type="text/javascript"
async
crossorigin="anonymous"
src="https://GERMAIN_UX_HOSTNAME/config/download/file/agents%2Fwebux%2Fgermainapm.js?appName=SHOPIFY_APPLICATION_NAME&defaultProfileName=Shopify">
</script>
<!-- End GermainUX monitoring -->
Replace:
|
Placeholder |
Value |
|---|---|
|
|
Hostname of your GermainUX Cloud or on-premise environment |
|
|
Application name used to identify the Shopify store in GermainUX |
For example:
<script
type="text/javascript"
async
crossorigin="anonymous"
src="https://mycompany.germainux.com/config/download/file/agents%2Fwebux%2Fgermainapm.js?appName=My%20Shopify%20Store&defaultProfileName=Shopify">
</script>
URL-encode spaces and reserved characters in the application name.
Use the same application name across the Shopify storefront and third-party checkout when both parts should appear under the same application in GermainUX.
🔧 Configure Checkify monitoring
☁️ Add the script
-
Sign in to the Checkify administration interface.
-
Go to Advanced Settings > Scripts.
-
Create a new script.
-
Select the header placement.
-
Select Both to apply the script to the checkout and Thank You pages.
-
Enter
GermainUXas the script name. -
Add the GermainUX monitoring script.
-
Replace the hostname and application-name placeholders.
-
Save the changes.
✅ Validate Checkify
-
Start a new Shopify storefront session.
-
Add a product to the cart.
-
Continue to the Checkify checkout.
-
Complete a test order.
-
Open GermainUX and locate the session.
-
Verify that the Checkify checkout and Thank You pages appear in the journey.
-
Confirm that checkout errors, requests, and replay data are captured as expected.
If the storefront and checkout appear as separate sessions, review the cross-domain and session-correlation configuration.
🧭 Configure Funnelish monitoring
Funnelish custom code must be configured separately for each funnel that you want to monitor.
📃 Add the script
-
Sign in to Funnelish.
-
Open All Funnels.
-
Select the funnel to monitor.
-
Open Custom Codes.
-
Create a new custom code.
-
Select Page Head as the placement.
-
Enter
GermainUXas the code name. -
Add the GermainUX monitoring script.
-
Replace the hostname and application-name placeholders.
-
Apply the code to every required funnel page.
-
Save the configuration.
🔍 Validate Funnelish
-
Open the monitored funnel in a new browser session.
-
Navigate through every funnel step.
-
Submit only safe test information.
-
Complete the funnel when permitted.
-
Confirm in GermainUX that all expected pages and actions were collected.
-
Verify that the funnel uses the intended Shopify application and environment.
-
Confirm that excluded payment and personal information is not captured.
Repeat this validation for every configured funnel.
🔁 Configure Recharge Custom Checkout monitoring
The configuration described below adds GermainUX to the Recharge Thank You page. It does not provide visibility into the entire Recharge checkout unless Recharge also allows the script to run on the preceding checkout pages.
Add the script
-
Sign in to the Recharge administration interface.
-
Go to Storefront > Checkout.
-
Open the custom-code configuration.
-
Add the GermainUX monitoring script to the Thank You Page field.
-
Replace the hostname and application-name placeholders.
-
Save the configuration.
📋 Validate Recharge
-
Begin a test subscription or purchase from the Shopify storefront.
-
Continue through Recharge checkout.
-
Complete the test order.
-
Confirm that the Recharge Thank You page appears in GermainUX.
-
Verify that the purchase or completion event correlates with the intended Shopify journey.
Because this configuration monitors only the Thank You page, do not interpret missing intermediate Recharge activity as customer abandonment. Those checkout steps may simply be outside the monitoring scope.
📁 Configure the GermainUX monitoring profile
Go to:
Germain Workspace > Analytics > UX Monitoring Profiles
Select the Shopify profile and review the following settings.
🔗 Allowed domains and URL matching
Add the relevant third-party checkout domains and configure URL rules for:
|
Page Type |
|---|
|
Checkout |
|
Customer information |
|
Shipping |
|
Payment |
|
Order review |
|
Thank You or confirmation pages |
|
Error and failure pages |
Use logical page names instead of storing full dynamic URLs containing cart, checkout, customer, or order identifiers.
🔁 Session correlation
Configure the storefront and checkout to use:
|
Setting |
|---|
|
The same application name |
|
Compatible session settings |
|
Appropriate cross-domain correlation |
|
Consistent environment values |
|
The same business-process definition |
Depending on browser privacy controls and the checkout provider’s security model, complete session continuity may not always be possible. Validate the behavior in every supported browser.
📈 Business-process monitoring
Define the checkout as part of a complete Shopify conversion process.
Example steps:
|
Step |
Order |
|---|---|
|
Product Viewed |
1 |
|
Add to Cart |
2 |
|
Cart Viewed |
3 |
|
Checkout Started |
4 |
|
Customer Information Submitted |
5 |
|
Shipping Submitted |
6 |
|
Payment Submitted |
7 |
|
Purchase Completed |
8 |
Configure separate outcomes for:
|
Outcome |
|---|
|
Successful completion |
|
Customer abandonment |
|
Application failure |
|
Payment decline |
|
User validation |
|
Loss of monitoring coverage |
A missing event should not automatically be classified as abandonment unless monitoring is known to cover the relevant step.
🔒 Privacy and security
Third-party checkout pages can contain highly sensitive information. Apply strict capture controls before enabling monitoring in production.
Never collect:
-
Payment-card numbers
-
Card security codes
-
Passwords
-
Authentication tokens
-
Session tokens
-
Banking information
-
Unmasked billing or shipping information when prohibited
-
Sensitive request or response bodies
Configure:
|
Control |
|---|
|
Input masking |
|
Text masking |
|
Element exclusion |
|
Page exclusion |
|
Network-body exclusion |
|
URL and query-parameter sanitization |
|
Session Replay restrictions |
|
Consent integration |
|
Role-based access |
|
Data retention |
Where possible, exclude payment fields and embedded payment iframes entirely rather than relying only on masking.
⛔ Embedded checkout content
Content rendered inside a cross-origin iframe cannot normally be inspected by RUM JS running in the parent page. This commonly applies to payment fields and hosted payment widgets.
GermainUX can monitor the surrounding checkout page, but not necessarily the internal content or interactions of a protected third-party iframe.
🧪 Validate the complete journey
Test the integration before production rollout.
✅ Successful-checkout test
Verify that:
|
Check |
|---|
|
The storefront session is collected. |
|
The customer transition to checkout is visible. |
|
Each monitored checkout page has a logical name. |
|
Checkout requests and duration are captured. |
|
The completion or Thank You page is recorded. |
|
The transaction appears as a completed business process. |
|
No sensitive information is visible. |
💔 Failure tests
Where safe, validate:
-
Missing required information
-
Invalid discount code
-
Unavailable shipping method
-
Declined test payment
-
Checkout application error
-
Third-party request failure
-
Abandoned checkout
Keep the following classifications separate:
|
Classification |
Meaning |
|---|---|
|
User-facing application error |
The checkout software fails, and the failure is visible to the shopper |
|
Silent application error |
The checkout software fails without notifying the shopper |
|
User validation |
Expected feedback prevents invalid information from being submitted |
|
Payment decline |
Payment was rejected; classify separately from a software failure unless the checkout itself malfunctioned |
|
Abandonment |
The shopper leaves a monitored journey before completing it |
|
Monitoring gap |
GermainUX cannot observe one or more checkout steps |
🔧 Troubleshooting
❌ No checkout data appears
Confirm that:
|
Check |
|---|
|
The script was saved and published. |
|
It is placed in the page head or other supported location. |
|
The GermainUX hostname is correct. |
|
The application name is URL-encoded. |
|
The |
|
The checkout domain matches the profile. |
|
Consent permits monitoring. |
|
Content Security Policy allows the GermainUX script. |
|
Browser or network security tools are not blocking the request. |
Use the browser developer tools to confirm that germainapm.js loads successfully.
↔️ Storefront and checkout are separate sessions
Review:
|
Area |
|---|
|
Application-name consistency |
|
Cross-domain correlation |
|
Cookie restrictions |
|
Consent status |
|
Browser tracking protections |
|
Checkout redirects |
|
Session timeout |
|
Provider sandbox restrictions |
If correlation cannot be maintained directly, use a permitted non-sensitive journey identifier or event-based correlation. Never place customer, payment, or authentication information in URLs for this purpose.
🎞️ Session Replay is incomplete
Check whether:
-
Only the Thank You page contains the script.
-
Earlier checkout pages prohibit custom JavaScript.
-
Checkout content is rendered inside cross-origin iframes.
-
Elements or pages are excluded by privacy rules.
-
Consent is granted only after part of the journey.
-
The shopper moves between multiple checkout domains.
-
The provider dynamically removes or replaces custom scripts.
🔁 Data is duplicated
Confirm that GermainUX is not loaded more than once through:
-
The checkout provider’s global script configuration
-
Funnel-specific custom code
-
A Shopify web pixel
-
The storefront theme
-
A tag manager
-
Another analytics integration
Retain only the intended deployment on each page unless GermainUX has explicitly configured deduplication.
📖 Related documentation
|
Document |
Link |
|---|---|
|
Deploy Monitoring for Shopify |
https://docs.germainux.com/main/deploy-monitoring-for-shopify?utm_source=chatgpt.com |
|
Configure Monitoring for Shopify |
https://docs.germainux.com/main/configure-monitoring-for-shopify?utm_source=chatgpt.com |
|
Configure Shopify Events |
|
|
Configure Error Monitoring for Shopify |
https://docs.germainux.com/main/error-monitoring-for-shopify-configure?utm_source=chatgpt.com |
|
Configure User Feedback for Shopify |
https://docs.germainux.com/main/user-feedback-for-shopify-configure?utm_source=chatgpt.com |
ℹ️ 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: 2024.2 or later