Цель на авторизацию или регистрацию через телеграм?

Ссылка скопирована
1 ответ

Всем добрый день!
Есть сайт на WordPress.
На сайте стоит плагин, который делает авторизацию/регистрацию через телеграм. Нужно поставить цель Яндекс Метрики на нажатие кнопки войти через телеграм.
Сама кнопка грузится в iframe со стороны телеграма. Событие повесить на нее не получается.
Как быть в такой ситуации?

Дополнительно:

После успешной авторизации/регистрации, что то меняется в этом iframe?

  • Михаил Р., происходит редирект на страницу "мой аккаунт"
  • Ответы:

    Делайте редирект на страницу, и там трекайте событие

    Цель на авторизацию или регистрацию через телеграм?

    Включите автоцели
    Обычно яндекс сам ставит цели на всякие нажатия кнопок отправку форм,

    А вообще вы можете отслеживать изменение SRC y iframe, при нажатии кнопки происходит смена урл, верно?

    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Мария Код Ответ

    Если кнопка авторизации через Telegram находится внутри iframe Telegram, Вы не сможете нормально повесить обработчик клика на саму кнопку: браузер не даёт странице читать DOM чужого iframe из-за политики безопасности. Поэтому цель на “клик по кнопке внутри iframe” технически ненадёжна.

    Рабочий способ — отслеживать не клик, а результат авторизации. Вы пишете, что после успешного входа происходит редирект на страницу “Мой аккаунт”. Значит цель Метрики нужно отправлять на этой странице, но только когда пользователь пришёл после Telegram-логина.

    Варианты:

    • сделать отдельную страницу успешного входа, например /login-success/, и отправлять цель там;
    • после авторизации добавлять GET-параметр ?telegram_login=1;
    • на странице “Мой аккаунт” проверять факт авторизации и referer/параметр;
    • если плагин даёт hook после Telegram login — отправлять редирект на нужный URL.

    Пример цели на странице результата:

    <script>
    document.addEventListener('DOMContentLoaded', function () {
      const params = new URLSearchParams(window.location.search);
      if (params.get('telegram_login') === '1' && typeof ym === 'function') {
        ym(83328046, 'reachGoal', 'telegram_login_success');
      }
    });
    </script>

    <script> document.addEventListener('DOMContentLoaded', function () { const params = new URLSearchParams(window.location.search); if (params.get('telegram_login') === '1' && typeof ym === 'function') { ym(83328046, 'reachGoal', 'telegram_login_success'); } }); </script>

    Если хотите отдельно считать попытку клика, можно поставить цель на клик по контейнеру iframe, но это будет именно “клик в области Telegram-виджета”, а не подтверждённая регистрация. Такая цель менее точная:

    document.querySelector('.telegram-login-wrap')?.addEventListener('click', function () {
      if (typeof ym === 'function') {
        ym(83328046, 'reachGoal', 'telegram_login_click');
      }
    });

    document.querySelector('.telegram-login-wrap')?.addEventListener('click', function () { if (typeof ym === 'function') { ym(83328046, 'reachGoal', 'telegram_login_click'); } });

    Для аналитики лучше иметь две цели: попытка входа и успешная авторизация. Основной KPI — успешная авторизация после редиректа, потому что она не зависит от ограничений iframe и показывает реальное завершение действия.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

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