feat(analytics): Add Firebase Analytics integration with page tracking

- Initialize Firebase Analytics with configuration and client-side setup
- Create GoogleAnalytics component to track page views on route changes
- Add analytics utility functions for tracking custom events (button clicks, form submissions, link clicks, searches)
- Integrate GoogleAnalytics component into home, not-found, and marketing layouts with Suspense boundary
- Add firebase dependency to package.json
- Enable automatic page view tracking with pathname and search parameters
This commit is contained in:
AmirReza Jamali
2025-11-22 10:56:40 +03:30
parent 9f16f89338
commit 807a77992e
8 changed files with 1135 additions and 2 deletions
@@ -5,6 +5,8 @@ import Link from "next/link";
import { ToastContainer, Zoom } from "react-toastify";
import "../../globals.css";
import { Suspense } from "react";
import GoogleAnalytics from "@/app/_components/GoogleAnalytics";
const geistSans = Geist({
variable: "--font-geist-sans",
subsets: ["latin"],
@@ -126,6 +128,10 @@ export default async function RootLayout({
pauseOnHover
/>
<Suspense>
<GoogleAnalytics />
</Suspense>
<main className="container px-4 py-4 m-auto flex-grow">{children}</main>
<footer className="relative h-full bg-[url('/footer-bg.svg')] bg-cover bg-no-repeat mt-20">
<div className="relative z-10 container px-4 py-4 m-auto flex flex-col justify-center items-center">