Счётчик Яндекс.Метрики 112563104 доведён до сборки публичного контура #3529

Merged
lekss361 merged 1 commit from feat/metrika-counter-112563104 into main 2026-09-15 16:29:33 +00:00
2 changed files with 18 additions and 10 deletions

View file

@ -511,21 +511,24 @@ jobs:
# NEXT_PUBLIC_APP_VERSION/BUILD_SHA/BUILD_DATE — build-time (Next.js
# инлайнит NEXT_PUBLIC_* в статику, runtime env их не подхватит,
# см. frontend/Dockerfile комментарий у соответствующих ARG).
# NEXT_PUBLIC_YM_ID/GA_ID/YANDEX_VERIFICATION/GOOGLE_VERIFICATION —
# ПОКА ПУСТЫЕ: владелец ещё не завёл счётчики Метрики/GA4 и
# мета-теги верификации поисковых консолей. Пустая строка = скрипт
# счётчика НЕ рендерится вообще (контракт фронта, см. тот же
# Dockerfile-комментарий). Когда номера появятся — вписать
# литералом сюда И в retry-блок ниже (оба обязательны, иначе
# ретрай без кеша уедет без счётчика), и это ТРЕБУЕТ пересборки
# образа (build-time bake, не runtime-правка на проде).
# NEXT_PUBLIC_YM_ID — счётчик Яндекс.Метрики публичного контура,
# заведён владельцем 15.09.2026. Литерал, а не secret: номер
# счётчика и так уходит в разметку каждой страницы, прятать нечего,
# а secret'ом его нельзя проверить глазами в диффе.
# NEXT_PUBLIC_GA_ID/YANDEX_VERIFICATION/GOOGLE_VERIFICATION —
# ПОКА ПУСТЫЕ: ресурс GA4 и права в поисковых консолях ещё не
# заведены. Пустая строка = соответствующий тег НЕ рендерится
# вообще (контракт фронта, см. тот же Dockerfile-комментарий).
# ЛЮБОЕ из этих значений вписывать литералом СЮДА И в retry-блок
# ниже — оба обязательны, иначе ретрай без кеша уедет без счётчика.
# Требует пересборки образа: build-time bake, не runtime-правка.
build-args: |
NEXT_PUBLIC_BASE_PATH=/trade-in
NEXT_PUBLIC_API_BASE_URL=/trade-in
NEXT_PUBLIC_APP_VERSION=${{ needs.changes.outputs.app_version }}
NEXT_PUBLIC_BUILD_SHA=${{ needs.changes.outputs.build_sha }}
NEXT_PUBLIC_BUILD_DATE=${{ needs.changes.outputs.build_date }}
NEXT_PUBLIC_YM_ID=
NEXT_PUBLIC_YM_ID=112563104
NEXT_PUBLIC_GA_ID=
NEXT_PUBLIC_YANDEX_VERIFICATION=
NEXT_PUBLIC_GOOGLE_VERIFICATION=
@ -552,7 +555,7 @@ jobs:
NEXT_PUBLIC_APP_VERSION=${{ needs.changes.outputs.app_version }}
NEXT_PUBLIC_BUILD_SHA=${{ needs.changes.outputs.build_sha }}
NEXT_PUBLIC_BUILD_DATE=${{ needs.changes.outputs.build_date }}
NEXT_PUBLIC_YM_ID=
NEXT_PUBLIC_YM_ID=112563104
NEXT_PUBLIC_GA_ID=
NEXT_PUBLIC_YANDEX_VERIFICATION=
NEXT_PUBLIC_GOOGLE_VERIFICATION=

View file

@ -86,6 +86,10 @@ export function AnalyticsScripts() {
(1) отдельная фраза про запись действий в п. 9.1
`privacy/page.tsx`, (2) маскировка полей ввода адреса и
телефона через `ym-hide-content` / `data-ym-disable-keys`. */}
{/* `ssr:true` страницы публичного контура рендерятся на сервере,
и без этого флага Метрика считает первый хит по состоянию DOM на
момент гидратации, а не по отданной сервером разметке. Флаг
выставлен и в самом счётчике на стороне Метрики. */}
<Script id="ym-init" strategy="afterInteractive">
{`
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
@ -95,6 +99,7 @@ export function AnalyticsScripts() {
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(${Number(YM_ID)}, "init", {
ssr:true,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,