feat(mera): подключить счётчик Яндекс.Метрики 112563104 к публичному контуру
All checks were successful
CI Trade-In / changes (pull_request) Successful in 10s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 13s
CI / frontend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Successful in 1m55s
CI / openapi-codegen-check (pull_request) Successful in 2m35s
CI / backend-tests (pull_request) Successful in 6m48s
All checks were successful
CI Trade-In / changes (pull_request) Successful in 10s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / browser-tests (pull_request) Has been skipped
CI / changes (pull_request) Successful in 13s
CI / frontend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Successful in 1m55s
CI / openapi-codegen-check (pull_request) Successful in 2m35s
CI / backend-tests (pull_request) Successful in 6m48s
Обвязка аналитики стояла на сайте с #3436, но собирала ноль: все четыре переменные NEXT_PUBLIC_YM_ID/GA_ID/YANDEX_VERIFICATION/GOOGLE_VERIFICATION уходили в сборку пустыми, а пустая строка по контракту фронта убирает тег целиком. Владелец завёл счётчик 112563104 — вписан литералом в ОБА блока build-args деплоя (основной и retry без кеша): пропустить второй значит получить сборку без счётчика ровно в тот прогон, когда битый buildcache уронит первый. Номер счётчика не secret: он и так уходит в разметку каждой страницы, а литерал в диффе можно проверить глазами. Добавлен ssr:true в init. Страницы публичного контура рендерятся на сервере, и без флага Метрика считает первый хит по состоянию DOM на момент гидратации, а не по отданной сервером разметке. Флаг выставлен и в самом счётчике на стороне Метрики. ВЕБВИЗОР ОСТАЁТСЯ ВЫКЛЮЧЕН, хотя в счётчике владелец его включил. Он пишет ввод в поля формы, а на /estimate человек вводит адрес своей квартиры; раздел 9 политики конфиденциальности запись действий не объявляет. Включать следует одним заходом с двумя правками: фраза про запись действий в п. 9.1 privacy/page.tsx и маскировка полей адреса и телефона через ym-hide-content / data-ym-disable-keys. GA4 и коды верификации поисковых консолей остаются пустыми — не заведены. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VQ8jqr4SFirX5tFLwdSrXh
This commit is contained in:
parent
dbf46228fb
commit
5be5fc005f
2 changed files with 18 additions and 10 deletions
|
|
@ -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=
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue