Warning: Using the built-in trackPageViews option is not recommended for Next.js applications. Instead, implement manual page view tracking as shown below:
Create a PageViewTracker.tsx component:
"use client";import { useEffect } from "react";import { usePathname } from "next/navigation";import { useAlytica } from "alytica-js/react";export function PageViewTracker() { const pathname = usePathname(); const alytica = useAlytica(); useEffect(() => { // Track page view manually using the track method alytica.track("$pageview"); }, [pathname, alytica]); return null;}
Then add it to your root layout:
import { AlyticaWrapper } from '../components/AlyticaWrapper';import { PageViewTracker } from '../components/PageViewTracker';export default function RootLayout({ children }) { return ( <html> <body> <AlyticaWrapper> <PageViewTracker /> {children} </AlyticaWrapper> </body> </html> );}
This approach is necessary because Next.js uses client-side routing and the App Router, which don't trigger traditional page loads that the built-in tracking would detect. Manual tracking ensures accurate analytics as users navigate through your application.