Отслеживание ссылок в Mixpanel через Elido работает на сервере и однонаправленно: каждый раз, когда кто-то кликает по одной из ваших коротких ссылок, Elido отправляет событие link_click на endpoint отслеживания Mixpanel с вашим токеном проекта. Событие несет slug ссылки, ID ссылки, страну и устройство посетителя, целевой адрес, на который его отправили, и метку времени. В браузере посетителя ничего не выполняется, поэтому блокировщики рекламы и баннеры согласия его не затрагивают.
Загвоздка - в идентичности. Каждое событие привязано к ссылке, а не к человеку, а значит вы можете весь день считать и сегментировать клики в Mixpanel, но не можете по одному этому событию проследить за кликнувшим человеком дальше в свой продукт. Я покажу, для чего это хорошо подходит, как это настроить, как проверить в разделе Events и в каких местах я бы взяла что-то другое.
Если вы еще решаете, что размечать, прежде чем переходить к этому, опорное руководство сквозное отслеживание UTM - лучшая отправная точка. Mixpanel видит только то, что несет ссылка.
Что Elido отправляет в Mixpanel при каждом клике
Один клик - одно событие. Пересыльщик формирует пакет из одного события и отправляет его POST-запросом на /track хоста приема, соответствующего настройке Data residency интеграции (api.mixpanel.com для US, api-eu.mixpanel.com для EU, api-in.mixpanel.com для India), авторизуясь токеном внутри свойств - именно так API приема Mixpanel ожидает серверные события.
Вот полный payload, урезан только токен:
[
{
"event": "link_click",
"properties": {
"token": "<your project token>",
"distinct_id": "elido-link-4711",
"workspace_id": 12,
"link_id": 4711,
"slug": "spring-26",
"country": "DE",
"device": "mobile",
"destination": "https://shop.example/spring?utm_source=newsletter",
"time": 1790000000,
"ip": "203.0.113.24"
}
}
]
Это все. Короткий список, и это сделано намеренно.
| Свойство | Что оно хранит | Что с этим делать в Mixpanel |
|---|---|---|
slug / link_id | Какая короткая ссылка была кликнута | Измерение для разбивки в любом отчете |
destination | URL, на который отправлен этот посетитель, после правил маршрутизации | Определить, какой географический или девайс-вариант сработал |
country, device | Определены на редиректе | Сегментация без опоры на собственную догадку Mixpanel |
ip | Адрес посетителя | Mixpanel определяет город и регион, затем отбрасывает |
distinct_id | elido-link-<link_id> | Прочитайте раздел об идентичности перед использованием Uniques |
Стоит знать две детали. destination - это уже разрешенный адрес, так что если умная ссылка отправляет владельцев iPhone в App Store, а всех остальных - на ваш сайт, вы увидите оба URL. И UTM-теги путешествуют только внутри этой строки назначения; отдельных свойств utm_source или utm_campaign нет, так что если вы хотите видеть их как колонки, вам понадобится производное свойство в Mixpanel. Это единственное, что я бы настроила в первый же день.
Очевидные боты - краулеры, которые сами объявляют себя в user agent, - отфильтровываются на редиректе и никогда не доходят до Mixpanel.
Настройка интеграции с Mixpanel
Вся настройка - это два поля. Чтобы отправлять события кликов в Mixpanel, вам нужен проект Mixpanel и его токен проекта, который находится в Project Settings в Mixpanel; токен - это ключ для записи, предназначенный для встраивания, так что вставить его в стороннее приложение - это нормально. Не вставляйте API-секрет - это другая строка, и пересыльщик использует не ее.
- В вашем рабочем пространстве Elido откройте Integrations и выберите карточку Mixpanel.
- Нажмите Connect Mixpanel, вставьте токен в поле Project Token и выберите Data residency: US (по умолчанию), EU или India, в соответствии со значением Data Residency в настройках вашего проекта Mixpanel. Сохраните. Elido шифрует токен на хранении и никогда не показывает вам его полностью снова.
- Подождите несколько минут. Настройки интеграции рабочего пространства недолго кешируются на стороне пересылки, так что первые клики после сохранения могут еще не отправиться.
- Кликните по одной из ваших ссылок с телефона.
Переключателя для каждой отдельной ссылки нет. После подключения пересылается каждый клик в рабочем пространстве, что подходит команде, которая живет в Mixpanel, но не подходит рабочему пространству, которое размещает короткие ссылки для двадцати не связанных друг с другом клиентов. Если это ваш случай, сначала разделите клиентов на отдельные рабочие пространства.
Проверка раздела Events, прежде чем чему-либо доверять
То, что раньше в Mixpanel называлось Live View, теперь называется разделом Events, в левой навигации под Data, и руководство Mixpanel по отладке рекомендует именно его как первую точку проверки для такой задачи. Откройте его, отфильтруйте по link_click, затем кликните по своей короткой ссылке с телефона, который не в офисном Wi-Fi.
Вы должны увидеть событие в течение нескольких секунд. Разверните его и проверьте три вещи: slug совпадает со ссылкой, по которой вы кликнули, country соответствует тому, где действительно находится телефон, а собственные город и регион Mixpanel заполнены на основе ip. Если город показывает дата-центр, ваш тест прошел через VPN.
Кнопка Test connection в панели интеграции отправляет одно событие link_click, помеченное elido_test: true, и показывает ответ Mixpanel под кнопкой. Это полезно, но не доказательство: endpoint приема Mixpanel принимает любой токен и никогда не проверяет резидентность, так что зеленый результат при неверном токене или неверном регионе все равно означает, что в ваш проект ничего не попадает. Событие, которое вы видите пришедшим от реального клика, - единственное доказательство, которое я бы приняла.
Почему distinct_id привязан к ссылке, и что это ломает
Вот ограничение идентичности, сказанное прямо. distinct_id - это elido-link- плюс ID ссылки, так что каждый клик по spring-26 принадлежит одному синтетическому «пользователю» Mixpanel.
Суммарные показатели работают. Разбивки по slug, стране, устройству и назначению работают, как и тренды во времени. Ломаются три вещи:
- Uniques по link_click считают ссылки, а не людей. Кампания с 40 000 кликов по двум ссылкам покажет двух уникальных пользователей.
- Воронки, начинающиеся с
link_clickи заканчивающиеся вашим событием регистрации, не свяжутся, потому что регистрация принадлежит другомуdistinct_id.
Есть и третья проблема, с которой большинство команд никогда не сталкивается. Mixpanel применяет лимиты hot shard в 200 тысяч событий на distinct_id в день, и сверх этого события переименовываются в $hotshard_events. Одна по-настоящему завирусившаяся ссылка может пересечь эту черту, и, поскольку ID привязан к ссылке, под удар попадает именно она.
Почему не ID на посетителя? Потому что редирект не знает, кто такой посетитель, и я бы предпочла, чтобы он не устанавливал cookie на домене, который посетитель никогда не выбирал посещать. Честный компромисс.
Как связать клики по коротким ссылкам с пользователями рабочим способом
Работающий паттерн использует обе половины для того, в чем каждая хороша. Пусть серверное событие Elido дает вам полный счетчик кликов, включая клики от людей, которые ушли до загрузки вашей страницы. Пусть SDK Mixpanel на вашей посадочной странице занимается идентичностью.
Поставьте UTM-теги на целевом URL. JavaScript-библиотека Mixpanel по умолчанию отслеживает параметры UTM и записывает значения первого касания в профиль, так что когда этот посетитель позже регистрируется и вы вызываете identify, кампания закрепляется за реальным человеком. Тогда клик по короткой ссылке и просмотр посадочной страницы делят значение кампании, а не ID пользователя, и вы объединяете их по utm_campaign в отчете. Это объединение на уровне кампании, что грубее, чем на уровне пользователя, и я думаю, что для этих данных это все равно правильный уровень.
Хотите видеть суммарные клики и сессии посадочной страницы рядом друг с другом? Ожидайте расхождений; статья клики по коротким ссылкам против сессий GA4 объясняет, почему один и тот же разрыв проявляется в любом инструменте аналитики, включая Mixpanel.
Если это как раз та настройка, которой вам не хватало, подключите рабочее пространство и проведите следующую кампанию через брендированные ссылки.
Где это сегодня не дотягивает
Три пробела, отсортированные по тому, насколько вероятно они вас укусят.
IP-адрес посетителя путешествует в каждом событии. При EU-резидентности он отправляется на EU-хост приема; при US по умолчанию - на US-endpoint, и руководство по резидентности данных в ЕС разбирает, как это взвесить. Что касается именно Mixpanel, включая проверку резидентности вашего проекта, см. Резидентность данных Mixpanel в ЕС.
Доставка работает по принципу «максимальных усилий». Неудачный POST получает одну повторную попытку через секунду, а затем отбрасывается, а у событий нет $insert_id, так что повтор после медленного успеха может привести к двойному счету.
В событии нет ни referrer, ни браузера, а клики, которые редирект помечает как подозрительные, все равно пересылаются. Загляните в дашборд аналитики кликов, когда вам это понадобится.
Конверсии в это не входят. Отслеживайте выручку там, где живет ваш ID пользователя.
По теме в блоге
- Сквозное отслеживание UTM - соглашение о тегировании, от которого зависит паттерн связывания.
- Клики по коротким ссылкам против сессий GA4 - почему количество кликов и сессии аналитики никогда не совпадают.
- Серверное отслеживание GA4 через редиректы - та же серверная идея, направленная на Google.
- Атрибуция кликов в email для Mailchimp, Brevo и Klaviyo - пересылка кликов в сторону email в стеке.
- Mixpanel против GA4 для аналитики ссылок - какой инструмент вообще должен хранить ваши данные о кликах.
- Резидентность данных Mixpanel в ЕС - хосты приема в ЕС и Индии и цена несоответствия.
Частые вопросы
Как отправлять события кликов в Mixpanel с короткой ссылки?
Вставьте токен вашего проекта Mixpanel в интеграцию Mixpanel в рабочем пространстве Elido и сохраните. С этого момента каждый клик по ссылке в этом рабочем пространстве отправляется на сервер Mixpanel как событие link_click, со slug, ID ссылки, страной, устройством и назначением в качестве свойств. На редиректе не выполняется никакой JavaScript.
Какое имя события использует Elido в Mixpanel?
Событие называется link_click, и имя фиксировано. Стройте отчеты именно на этом имени. Если вы видите упоминание другого имени события на старых страницах Elido, доверяйте тому, что реально приходит в ваш раздел Events, потому что это и есть payload, который на самом деле отправляет пересыльщик.
Может ли Mixpanel привязать клик по короткой ссылке к известному пользователю?
Не по одному только пересланному событию. Elido задает distinct_id как одно значение на каждую ссылку, так что каждый клик по одной и той же ссылке выглядит как один и тот же пользователь Mixpanel. Чтобы дойти до конкретного человека, поставьте UTM-теги на целевом адресе и позвольте SDK Mixpanel на вашей посадочной странице их подхватить, а затем идентифицируйте пользователя там как обычно.
Почему мои клики Elido не появляются в Mixpanel?
Проверьте три вещи по порядку. Токен должен быть токеном проекта из правильного проекта, а не API-секретом. Дайте несколько минут после сохранения, прежде чем будет переслан первый клик. Наконец, если ваш проект Mixpanel использует EU или India Data Residency, задайте такую же резидентность в интеграции Elido: события, отправленные не на тот хост приема, вообще не принимаются.
Пересылает ли Elido в Mixpanel еще и конверсии?
Интеграция с Mixpanel покрывает только клики; отдельного события конверсии в payload сегодня нет. Для выручки отслеживайте покупку из собственного бэкенда или через SDK Mixpanel с вашим реальным ID пользователя. Именно там живет идентичность, так что конверсия попадет на правильный профиль, а не на подставной профиль конкретной ссылки.
Хранит ли Mixpanel IP-адрес посетителя, который отправляет Elido?
Согласно документации Mixpanel по геолокации, свойство ip у события используется, чтобы определить страну, регион и город, а затем отбрасывается до сохранения события. Так что вы получаете местоположение на уровне города для каждого клика в Mixpanel, но сам IP не должен появляться как свойство, доступное для запросов.
Попробуйте Elido
Вставьте URL - получите короткую ссылку
Без регистрации. Ссылка живёт 30 дней. Зарегистрируйтесь, чтобы оставить её навсегда.
Бесплатно, без регистрации · 2 в день