Skip to content

Commit 7dcc0b9

Browse files
mikemuzzaclaude
andauthored
Add Sprig survey tracking for feature flags page (#2198)
* Add Sprig survey tracking for feature flags page Added tracking event `viewed_featureflags_docs` that fires when users visit the `/docs/featureflags` page. This follows the same pattern as the existing experiments page tracking (`viewed_experimentation_docs`). - Uses shared debouncing logic to prevent duplicate events - Tracks both initial page loads and route changes - Includes proper error handling and null checks 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * Merge duplicate useEffect hooks for page tracking Consolidated the experimentation and feature flags tracking into a single useEffect hook to eliminate code duplication. Both tracking events now share the same debouncing logic and route change handler. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: Claude <[email protected]>
1 parent 9bbe9c4 commit 7dcc0b9

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

hooks/useSprig.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,11 @@ export const useSprig = () => {
5858
}
5959
}, [sprigEnvironmentId]);
6060

61-
// Track experimentation page visits
61+
// Track page visits for specific documentation pages
6262
useEffect(() => {
6363
if (!sprigEnvironmentId || typeof window === 'undefined') return;
6464

65-
const trackExperimentView = () => {
65+
const trackPageView = (eventName: string) => {
6666
const now = Date.now();
6767

6868
// Prevent duplicate events within debounce period
@@ -76,21 +76,25 @@ export const useSprig = () => {
7676

7777
try {
7878
lastEventTime = now;
79-
window.Sprig('track', 'viewed_experimentation_docs');
79+
window.Sprig('track', eventName);
8080
} catch (error) {
8181
console.error('Sprig track failed:', error);
8282
}
8383
};
8484

8585
const handleRouteChange = (url: string) => {
8686
if (url.includes('/docs/experiments')) {
87-
trackExperimentView();
87+
trackPageView('viewed_experimentation_docs');
88+
} else if (url.includes('/docs/featureflags')) {
89+
trackPageView('viewed_featureflags_docs');
8890
}
8991
};
9092

91-
// Track if already on experimentation page
93+
// Track if already on a tracked page
9294
if (router.asPath.includes('/docs/experiments')) {
93-
trackExperimentView();
95+
trackPageView('viewed_experimentation_docs');
96+
} else if (router.asPath.includes('/docs/featureflags')) {
97+
trackPageView('viewed_featureflags_docs');
9498
}
9599

96100
router.events.on('routeChangeComplete', handleRouteChange);

0 commit comments

Comments
 (0)