Add Яндекс.Метрика funnel goals: signup_free + gate_view (env-driven counter)

- window.ym reachGoal 'signup_free' on registration success
- GateViewTracker client component fires 'gate_view' on tripwire gate mount
- counter id via NEXT_PUBLIC_METRIKA_COUNTER_ID (build-time)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-23 12:13:32 +05:00
co-authored by Claude Opus 4.8
parent 7bf3935c81
commit 0e67a53122
4 changed files with 34 additions and 0 deletions
@@ -0,0 +1,20 @@
"use client";
import { useEffect } from "react";
declare global {
interface Window {
ym?: (counterId: number, action: string, goal: string) => void;
}
}
// Фиксирует показ gate-лестницы в Яндекс.Метрике (цель gate_view).
export function GateViewTracker() {
useEffect(() => {
const c = Number(process.env.NEXT_PUBLIC_METRIKA_COUNTER_ID);
if (c && typeof window !== "undefined" && typeof window.ym === "function") {
window.ym(c, "reachGoal", "gate_view");
}
}, []);
return null;
}