feat(analytics): complete Rybbit tracking integration
Some checks failed
Build and Deploy / build (push) Has been cancelled
Some checks failed
Build and Deploy / build (push) Has been cancelled
- Add Rybbit server-side tracking to analytics-server.ts for order completion and revenue - Add trackNewsletterSignup to analytics.ts and wire up NewsletterSection - Add cart tracking to CartDrawer (cart view, remove from cart) - All ecommerce events now track to both OpenPanel and Rybbit
This commit is contained in:
@@ -15,6 +15,7 @@ import {
|
||||
trackRybbitWishlistAdd,
|
||||
trackRybbitUserLogin,
|
||||
trackRybbitUserRegister,
|
||||
trackRybbitNewsletterSignup,
|
||||
} from "@/lib/services/RybbitService";
|
||||
|
||||
export function useAnalytics() {
|
||||
@@ -109,6 +110,9 @@ export function useAnalytics() {
|
||||
case "user_register":
|
||||
trackRybbitUserRegister(openPanelData.method);
|
||||
break;
|
||||
case "newsletter_signup":
|
||||
trackRybbitNewsletterSignup(openPanelData.email, openPanelData.source);
|
||||
break;
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn("[Rybbit] Tracking error:", e);
|
||||
@@ -307,6 +311,13 @@ export function useAnalytics() {
|
||||
});
|
||||
}, [trackDual]);
|
||||
|
||||
const trackNewsletterSignup = useCallback((email: string, source: string) => {
|
||||
trackDual("newsletter_signup", {
|
||||
email,
|
||||
source,
|
||||
});
|
||||
}, [trackDual]);
|
||||
|
||||
const identifyUser = useCallback((user: {
|
||||
profileId: string;
|
||||
email?: string;
|
||||
@@ -338,6 +349,7 @@ export function useAnalytics() {
|
||||
trackWishlistAdd,
|
||||
trackUserLogin,
|
||||
trackUserRegister,
|
||||
trackNewsletterSignup,
|
||||
identifyUser,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user