Добавляем Google Analytics в Next.js приложение

Инструкция по добавлению Google Analytics в Next.js приложение.

Добавляем Google Analytics в Next.js приложение
Дата публикации
24.05.24
Дата обновления
16.05.26
Время чтения
2 мин.

Решили добавить Google Analytics на страницы блога для базового отслеживания переходов по страницам.

Если коротко, то есть очень много способов сделать это, в этой статье мы остановимся на двух из них:

Старый способ

Ранее мы добавляли аналитику от гугла следующим образом:

import Script from "next/script";
import React from "react";

const GA_MEASUREMENT_ID = "G-1234567890"; //Не настоящий

type Props = {
  enabled: boolean;
};

const GtagContainer: React.FC<Props> = ({ enabled }) => {
  if (!enabled) return null;

  return (
    <>
      <Script
        src={`https://www.googletagmanager.com/gtag/js?id=${GA_MEASUREMENT_ID}`}
      />
      <Script id="google-analytics">
        {`
          window.dataLayer = window.dataLayer || [];
          function gtag(){dataLayer.push(arguments);}
          gtag('js', new Date());

          gtag('config', '${GA_MEASUREMENT_ID}');
        `}
      </Script>
    </>
  );
};

export default GtagContainer;

Новый способ

Теперь же Vercel выпустили пока ещё экспериментальный пакет @next/third-parties, с которым добавить аналитику становится чуть удобнее.

Установим его.

npm i @next/third-parties@latest

Далее добавим компонент GoogleAnalytics в RootLayout

import { GoogleAnalytics } from '@next/third-parties/google'

const GA_MEASUREMENT_ID = "G-1234567890"; //Не настоящий

export default function RootLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (
    <html lang="en">
      <body>{children}</body>
      <GoogleAnalytics gaId={GA_MEASUREMENT_ID} />
    </html>
  )
}

Теперь всё должно работать.

На этом всё! 🎉

Расскажите о вашем проекте

Связаться иначе

Часто задаваемые вопросы

Чтобы видеть просмотры страниц, источники трафика и базовую статистику в кабинете Google Analytics. Для аудитории вне РФ и сравнения с другими каналами это удобное дополнение к Яндекс Метрике.

В интерфейсе Google Analytics 4 при создании потока данных для сайта — строка вида G-1234567890. Подставьте её в gtag('config', …) или в проп gaId компонента GoogleAnalytics.

«Старый» способ из статьи: два Script — загрузка gtag/js и инициализация dataLayer + gtag('config'). Компонент можно включать флагом enabled, чтобы на localhost счётчик не грузился. Раздел старый способ.

Официальный обёрточный компонент GoogleAnalytics от Vercel: меньше своего кода, подключение одной строкой в RootLayout. Установка и пример — в разделе новый способ.

В Root Layout — рядом с body или в конце html, как в примере с GoogleAnalytics. Старый вариант — отдельный компонент, который рендерится из layout с тем же GA_MEASUREMENT_ID.

Google Analytics использует cookies и может попадать под требования к персональным данным (в т.ч. для посетителей из РФ). Обычно нужны политика и баннер — см. изменения в законе о ПДн.

Для рунета часто ставят и GA, и Метрику: разная аудитория и отчёты. Для UTM-меток в ссылках — генератор; настройка под проект — веб-аналитика.

Вам может быть интересно

Подключение счётчика Яндекс Метрики к Next.js приложению
Подключение счётчика Яндекс Метрики к Next.js приложению

Подключение счётчика Яндекс Метрики к Next.js приложению

13 мин.

Инструкция по добавлению счётчика Яндекс Метрики к Next.js блогу...

Пост#nextjs#yandex
Новые требования по работе с персональными данными
Новые требования по работе с персональными данными

Новые требования по работе с персональными данными

9 мин.

Обзор новых требований к обработке персональных данных для владельцев сайтов и чат-ботов и чек-лист для самопроверки...

Пост#законы
Добавляем sitemap.xml в Next.js приложение
Добавляем sitemap.xml в Next.js приложение

Добавляем sitemap.xml в Next.js приложение

9 мин.

Инструкция по добавлению sitemap.xml в Next.js приложение...

Пост#nextjs#seo
Добавляем robots.txt в Next.js приложение
Добавляем robots.txt в Next.js приложение

Добавляем robots.txt в Next.js приложение

5 мин.

Инструкция по добавлению robots.txt в Next.js приложение...

Пост#nextjs#seo
Добавляем JSON-LD разметку к блогу на Next.js
Добавляем JSON-LD разметку к блогу на Next.js

Добавляем JSON-LD разметку к блогу на Next.js

9 мин.

Инструкция по добавлению JSON-LD разметки к блогу на Next.js...

Пост#nextjs#seo
Добавляем Not Found (404) страницу в Next.js приложение
Добавляем Not Found (404) страницу в Next.js приложение

Добавляем Not Found (404) страницу в Next.js приложение

3 мин.

Инструкция по добавлению Not Found (404) страницы в Next.js приложение...

Пост#nextjs#seo
Подключение веб-аналитики (Яндекс Метрика / GA4)
Подключение веб-аналитики (Яндекс Метрика / GA4)

Подключение веб-аналитики (Яндекс Метрика / GA4)

Настроим аналитику, которая показывает реальные данные: события, цели, воронки и источники трафика.

Услуга#веб-аналитика#ga4
Frontend разработка
Frontend разработка

Frontend разработка

Разрабатываем интерфейсы, которые быстро работают, удобно используются и масштабируются вместе с продуктом.

Услуга#frontend#веб-разработка
UTM-генератор
UTM-генератор

UTM-генератор

Соберите UTM-метки для ссылки за минуту: пресеты, сохранение существующих параметров и кнопка копирования.

Инструмент#seo#utm