Перейти к документации
База знаний

Смотрите, когда открыли вашу почту

Открыли ли отправленное вами письмо, когда, сколько раз и по каким ссылкам перешли. Включено, пока вы не выключите, и честно говорит о показаниях, которых получить не может.

Подробности

  • Переключателей два, а не один, и оба включены, пока почтовый ящик их не выключит. Открытия и клики — две разные сделки с тем, кто получает письмо. Пиксель сообщает, что письмо показали, и ничего больше, тогда как переписанная ссылка проводит реальный визит через нас, и многие отправители хотят первого и отказываются от второго. Письмо, отправленное с обоими выключенными переключателями, не несёт ни пикселя, ни переписанных ссылок, ни строки, утверждающей, что оно отслеживалось. Отправка через API называет tracking: { opens, clicks } и решает это для одного конкретного письма, а не для ящика, причём решает в обе стороны: программа, которая не хочет, чтобы что-либо записывалось, говорит об этом на каждое письмо и получает именно это, как бы ни был настроен ящик.
  • Любой из переключателей определяет, что понесёт ваше СЛЕДУЮЩЕЕ письмо, и ничего больше. Уже отправленная почта сохраняет пиксель и переписанные ссылки, с которыми ушла, и продолжает отчитываться после выключения, а единственным способом это прекратить было бы сломать ссылки в письмах, которые люди уже держат у себя, — а это хуже по отношению к читателю, чем продолжать считать. Выключение отслеживания — это решение о том, что уходит начиная с этого момента; отзыва не существует.
  • Ни для открытия, ни для клика не хранится IP-адрес, и колонки, куда его положить, просто нет. Хранится то, что край сети знал ещё до того, как запрос дошёл до нас (страна, регион, город, часовой пояс — ничего из этого не определяется дополнительными запросами), плюс отпечаток SHA-256 от адреса и user agent, посоленный значением, которое меняется в полночь по UTC. Именно хеш позволяет отчёту сказать «два устройства», а не «два открытия», и уже на следующий день его никто, включая нас, не сможет сопоставить обратно с адресом. Читайте местоположение как факт о сети, а не о человеке: любой за VPN или корпоративным прокси окажется там, где никогда не бывал.
  • За числами стоят два вида записей. Строка срабатывания несёт user agent, город и отпечаток о человеке, который никогда не соглашался, чтобы его измеряли, и существует ради вопросов, задаваемых в первые дни после отправки: был ли это сканер, какое устройство, действительно ли это он. Другой вид — само прочтение (первое, последнее и счётчик, на письмо и на ссылку), и это факт о вашей собственной почте, а не о том, кто её открыл.
  • Автоматические загрузки записываются, а затем не учитываются, и это не то же самое, что выбрасывать их. Apple Mail Privacy Protection скачивает каждую удалённую картинку в каждом письме при доставке — смотрел на него человек или нет. Она включена по умолчанию, и её подсчёт выдал бы каждому отправителю долю открытий около 100%, не значащую ничего, поэтому она распознаётся по user agent и по сети, из которой пришёл запрос, и помечается как машина. Корпоративные сканеры, проверяльщики ссылок, headless-браузеры и всё, что приходит в течение десяти секунд после отправки, помечаются так же, потому что ничто из делаемого человеком не происходит так быстро. User agent сохраняется ровно в том виде, в каком пришёл, рядом с тем, что из него вычитали, потому что именно этой строкой был сделан вызов, а вызов, который никто не может сверить с его входными данными, — это вызов, который никто не может исправить. Клиент может написать там что угодно, а многие не пишут почти ничего, так что это утверждение, а не факт. Отчёт печатает, сколько записей отфильтровано, а не оставляет необъяснённый разрыв между журналом и итогом.
  • Gmail — третий случай, и он так и подаётся. Его прокси для картинок загружает их потому, что кто-то показал письмо, поэтому открытие настоящее, тогда как устройство, местоположение и клиент попросту не узнаваемы; а поскольку прокси кеширует, второе и третье прочтение могут вообще до нас не дойти. Счётчик открытий через Gmail — это нижняя граница, а не итог.
  • Отсутствие записанного открытия не является доказательством, что письмо не прочитали. Блокировка удалённых изображений — дело обычное: многие клиенты поставляются с ней включённой, а остальные её предлагают, и она полностью это подавляет, поэтому тишина здесь не доказывает ничего ни в одну, ни в другую сторону — и это ответ, который вы будете получать чаще всего. Ничто в продукте не отрисовывает неотслеживаемое или неотчитавшееся письмо как «не открыто», потому что это означало бы вычитать отказ из отсутствия.
  • Клик — более сильное свидетельство, чем открытие, поэтому эти два числа никогда не сливаются в одно. Картинки блокируют куда чаще, чем не кликают по ссылкам, поэтому письмо с кликами и без открытий заведомо прочитано. Переписывается до 100 адресов назначения на письмо, по одному разу каждый. Одна и та же страница кампании, на которую ведут картинка в шапке, кнопка и подвал, — это одна строка со своим счётчиком, потому что это один вопрос, заданный трижды, и отчёт может сказать, по какой ссылке стоило переходить, а не что где-то что-то нажали. Сверх этого потолка оставшиеся ссылки остаются ровно такими, как их написали, а не выбрасываются, потому что неотслеживаемая ссылка всё равно работает, а письмо, которое молча теряет две сотни ссылок, — нет.
  • Переписанную ссылку нельзя направить туда, чего мы сами не положили в письмо. Адрес назначения хранится в строке базы, а URL несёт только её идентификатор, поэтому нет параметра запроса, который можно подделать, и ничто здесь нельзя превратить в открытый редирект на домене почтового провайдера — то самое сырьё, из которого строят фишинговые кампании. Перенаправление сделано как 302, а не 301, потому что постоянное кешируется браузером и каждым прокси по пути, и счётчик остановился бы на единице навсегда. Ссылка, письмо которой с тех пор удалили, сообщает, что адрес больше никуда не ведёт, а не отвечает голым 404.
  • Переписывается только новая часть ответа; цитируемая история под ней — чужое письмо, и ссылки в ней остаются их. В копии, отложенной в «Отправленные», пиксель вырезан, а каждая ссылка возвращена в том виде, в каком вы её набрали. Без этого пересылка собственного отправленного письма пересылала бы постороннему токен получателя, клик по ссылке в собственных исходящих записывался бы как клик получателя, а хранимая вами копия не была бы тем, что вы написали.
  • Письмо с одним получателем всегда называет его: больше это просто никто не мог быть. Дальше одного получателя назвать, кто именно открыл письмо, означает дать каждому человеку собственную копию тела, а это делается только на письме, достаточно небольшом, чтобы пересборка на человека была по карману: оценочный размер, умноженный на число получателей, должен уложиться менее чем в 8MB. За этим бюджетом — и на запечатанном письме, единственный блок шифротекста которого не может различаться по людям, — одно тело уходит всем, и открытие записывается как «кто-то из этого письма», а не как выбранное из списка имя. Двое, открывшие письмо в пределах тридцати секунд друг от друга, считаются там одним прочтением, и это то же самое ограничение, сказанное иначе. Тридцать секунд — окно во всех случаях: перерисовка панели предпросмотра или письмо, снова прокрученное в зону видимости, заново загружают картинку и вторым прочтением не считаются.
  • Почта из одного ящика OpenEmail в другой сообщает об открытиях от самой читалки. Читалка здесь вырезает любую картинку 1×1 из каждого письма ещё до того, как оно доберётся до вашего экрана, включая нашу, поэтому пиксель никогда не загружается. Когда письмо показывается с включёнными удалёнными изображениями, читалка записывает открытие на ту копию, которую получил этот ящик, и называет клиентом OpenEmail. Читатель, держащий картинки скрытыми, не регистрирует ничего — так же, как в любом другом клиенте, который их блокирует. Ссылки ничем не вырезаются, поэтому клик из одного ящика OpenEmail в другой возвращается обычным путём.
  • Весь отчёт доступен в REST API под тем же scope emails:read, который уже покрывает отправленную почту: список, доли открытий и кликов по отслеживаемым письмам за окно и отдельные срабатывания, включая автоматические, если их запросить. Журнал отдельных срабатываний останавливается на 2000 строках на копию, тогда как счётчики продолжают считать, так что пиксель, загружаемый в цикле, не может нарастить таблицу, за которой никто не следит.
  • Письмо, отправленное с выключенным отслеживанием, показывает не ноль открытий, а вообще ничего. «Никто не открыл» и «мы не записывали» — разные ответы, и ничто в продукте не отрисовывает их одинаково.