If you need to collect feedback from two separate groups—such as your internal team and external stakeholders—this guide explains how to use a single script to automatically route their reports to two different Marker.io projects.
Why Use Separate Projects?
Stay Organized: Keep feedback from your internal team and external stakeholders completely separate.
Route Automatically: Ensure bug reports and suggestions are sent to the correct project without any manual work.
Avoid Confusion: Provide a clear and simple feedback process for everyone involved.
Setup Instructions
1. Add the Script to Your Website
Copy the script below and paste it into the <head>
section of your website's HTML.
2. Update Your Project IDs
In the script, replace the placeholder IDs (YOUR_PROJECT_ID_FOR_EXTERNAL
and YOUR_PROJECT_ID_FOR_INTERNAL
) with the actual project IDs from your Marker.io accounts.
<script>
function getMarkerProjectId() {
const urlParams = new URLSearchParams(window.location.search);
let projectId = null;
// Check URL for 'external' parameter
if (urlParams.has('external')) {
// Replace with the project ID for your external stakeholders
projectId = 'YOUR_PROJECT_ID_FOR_EXTERNAL';
}
// Check URL for 'internal' parameter
else if (urlParams.has('internal')) {
// Replace with the project ID for your internal team
projectId = 'YOUR_PROJECT_ID_FOR_INTERNAL';
}
// If a parameter was found, save the ID for the session
if (projectId) {
localStorage.setItem('markerProjectId', projectId);
} else {
// If no parameter is in the URL, use the ID we saved earlier
projectId = localStorage.getItem('markerProjectId');
}
return projectId;
}
// Get the correct project ID
const projectId = getMarkerProjectId();
// Only load Marker.io if a project ID has been set
if (projectId) {
window.markerConfig = {
project: projectId,
source: 'snippet'
};
// This line loads the Marker.io widget
const script = document.createElement('script');
script.async = true;
script.src = "https://edge.marker.io/latest/shim.js";
document.head.appendChild(script);
}
</script>
How It Works
To activate the correct feedback widget, you will share slightly different URLs with each group.
The script checks the URL for a parameter (
?external
or?internal
).It loads the corresponding Marker.io project widget.
It then remembers which project to use as the user navigates across different pages of your site.
If a user visits your site without either parameter in the URL for the first time, the Marker.io widget will not load.
URL Examples:
For External Stakeholders:
https://yourwebsite.com/?external
For Your Internal Team:
https://yourwebsite.com/?internal
Customize the Widget for Clarity
To prevent confusion, you should customize the feedback widget for each project so it's obvious which one is active.
You can change the widget's appearance under Project Settings → Widget → Appearance in your Marker.io dashboard.
Here are our recommended settings:
User Group | Suggested Label | Suggested Color |
External Stakeholders | "Share Feedback" | Red |
Internal Team | "Internal Reporting" | Blue |