Skip to content

Commit

Permalink
Apply Google Analytics tracking #196 (#197)
Browse files Browse the repository at this point in the history
* Apply Google Analytics tracking #196

Resolve #196

* Apply Google Analytics tracking #196

Resolve #196
  • Loading branch information
hyukkwonepic authored Jul 4, 2024
1 parent 270b9a0 commit fa6c4e6
Show file tree
Hide file tree
Showing 3 changed files with 257 additions and 226 deletions.
48 changes: 48 additions & 0 deletions apps/website/src/app/analytics-scripts.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
"use client";

import { useSearchParams } from "next/navigation";
import Script from "next/script";
import React from "react";

type Props = {};

const AnalyticsScripts = (props: Props) => {
const searchParams = useSearchParams();

const noTrackingQuery = searchParams.get("no-tracking");
const noTracking = noTrackingQuery
? decodeURIComponent(noTrackingQuery) === "true"
: false;

return (
<>
{process.env.NODE_ENV === "production" && !noTracking && (
<>
<Script
strategy="afterInteractive"
src={`https://www.googletagmanager.com/gtag/js?id=G-ZXQWB7MHM7`}
/>
<Script id="google-analytics" strategy="afterInteractive">
{`
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-ZXQWB7MHM7');
`}
</Script>
<Script id="ms-clarity">
{`
(function(c,l,a,r,i,t,y){
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
})(window, document, "clarity", "script", "n0wi3fv67g");
`}
</Script>
</>
)}
</>
);
};

export default AnalyticsScripts;
2 changes: 2 additions & 0 deletions apps/website/src/app/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { Inter } from "next/font/google";
import "./globals.css";
import "ui/dist/style.css";
import { cn } from "ui";
import AnalyticsScripts from "./analytics-scripts";

const inter = Inter({ subsets: ["latin"] });

Expand Down Expand Up @@ -51,6 +52,7 @@ export default function RootLayout({
}>) {
return (
<html lang="en">
<AnalyticsScripts />
<body className={cn(inter.className, "antialiased")}>{children}</body>
</html>
);
Expand Down
Loading

0 comments on commit fa6c4e6

Please sign in to comment.