From e7385e8898b590305d2f5099db8daf002bf3bed0 Mon Sep 17 00:00:00 2001 From: Yuriy Panov Date: Wed, 9 Sep 2026 00:24:33 +0600 Subject: [PATCH] analytics: add the Yandex.Metrika counter to all four landings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Counter 112352796 goes into the of every landing's index.html, ahead of the Vite entry, so the hit fires before React mounts. The pages are plain SPAs served off disk by nginx (Express only answers /api/*), so the static head is the only place it needs to be. One counter serves all four domains, which means reports mix them and every domain has to be listed in the counter's own settings or its hits get filtered — noted in deploy/README.md along with the conversion tracking that is still missing: src/lib/lead.ts pushes a plain custom dataLayer event, which Metrika's ecommerce: 'dataLayer' does not read. Co-Authored-By: Claude Opus 5 --- deploy/README.md | 11 ++++++++--- fitnes/index.html | 37 +++++++++++++++++++++++++++++++++++++ hotel/index.html | 37 +++++++++++++++++++++++++++++++++++++ medcenterphysio/index.html | 37 +++++++++++++++++++++++++++++++++++++ medcenterstart/index.html | 37 +++++++++++++++++++++++++++++++++++++ 5 files changed, 156 insertions(+), 3 deletions(-) diff --git a/deploy/README.md b/deploy/README.md index f3c1b89..0c08bc7 100644 --- a/deploy/README.md +++ b/deploy/README.md @@ -240,6 +240,11 @@ Also enable reg.ru VPS snapshots — a full-image restore beats rebuilding under Not a concern at landing-page traffic; nginx `limit_req` is the second layer. - **No CI.** Deployment is a manual `exo-deploy`. A GitHub Actions job that SSHes and runs it is a natural follow-up once the flow is proven. -- **Still open before launch** (not deployment blockers): no analytics snippet is - installed although `src/lib/lead.ts` pushes `dataLayer` events; and the forms show - implicit 152-ФЗ consent text with no link to a published privacy policy. +- **One Metrika counter for four domains.** All four landings carry the same + Yandex.Metrika counter (`112352796`) in `index.html`, so reports mix the domains and + every domain has to be listed in the counter's settings, or its hits get filtered. +- **Still open before launch** (not deployment blockers): conversions are not wired to + Metrika goals — `src/lib/lead.ts` pushes a plain custom `dataLayer` event, which + Metrika's `ecommerce: 'dataLayer'` does not read, so a JS goal or an explicit + `ym(..., 'reachGoal', ...)` call is still needed; and the forms show implicit 152-ФЗ + consent text with no link to a published privacy policy. diff --git a/fitnes/index.html b/fitnes/index.html index 1815920..5df088e 100644 --- a/fitnes/index.html +++ b/fitnes/index.html @@ -36,6 +36,43 @@ "url": "%VITE_SITE_URL%" } + + + + +
diff --git a/hotel/index.html b/hotel/index.html index c00b1c6..b95881f 100644 --- a/hotel/index.html +++ b/hotel/index.html @@ -40,6 +40,43 @@ "url": "%VITE_SITE_URL%" } + + + + +
diff --git a/medcenterphysio/index.html b/medcenterphysio/index.html index 35e03c8..18bf47c 100644 --- a/medcenterphysio/index.html +++ b/medcenterphysio/index.html @@ -39,6 +39,43 @@ "url": "%VITE_SITE_URL%" } + + + + +
diff --git a/medcenterstart/index.html b/medcenterstart/index.html index 04a7eef..28f688b 100644 --- a/medcenterstart/index.html +++ b/medcenterstart/index.html @@ -39,6 +39,43 @@ "url": "%VITE_SITE_URL%" } + + + + +