Проверка соответствия адреса указанному почтовому индексу до оформления заказа
Несовпадение почтового индекса и города в форме заказа выглядит мелкой опечаткой, пока не превращается в доставку совсем в другую часть страны.
Публикация в девять утра хорошо работает ровно для одного часового пояса и плохо для всех остальных. Медиабренд, чьи подписчики живут на пяти континентах, планировал все публикации по времени своего головного офиса, а значит, заметная часть аудитории видела каждый пост то первым делом утром, то посреди рабочего дня, то далеко за полночь, по сути случайным образом, в зависимости от того, где люди жили.
У команды уже были приблизительные данные о местоположении аудитории на уровне города и страны, полученные из того, откуда приходила вовлечённость, и собранные из серверных логов, а не с помощью скрипта отслеживания. Нужно было превратить эти данные о местоположении в реальное местное время, под которое можно планировать публикации, ведь такие страны, как Бразилия или США, охватывают больше одного часового пояса, и решения о публикациях, принятые на уровне страны, всё равно часто оказывались неверными для отдельных городов внутри неё.
Для каждого крупного кластера аудитории команда определяла репрезентативную координату и отправляла её в /v1/timezone, который возвращает название часового пояса IANA и текущее смещение от UTC для этой точки. Поскольку эндпоинт принимает конкретный момент, для которого нужно рассчитать смещение, а не только текущее время, команда могла планировать публикации на целую неделю вперёд и получать правильное смещение для каждого дня даже при переходе на летнее или зимнее время, вместо того чтобы исходить из фиксированного смещения, которое разошлось бы с реальностью посреди расписания.
Когда у команды появилось точное местное время для каждого сегмента аудитории, календарь публикаций перестал быть одним расписанием и превратился в несколько, смещённых относительно друг друга так, чтобы материал попадал в каждый регион в часы наибольшей вовлечённости именно этого региона, а не выходил по единому главному расписанию, построенному вокруг времени головного офиса. Чтобы увидеть эффект, бренду не пришлось публиковать больше контента. Тот же объём публикаций, но в правильное время, охватывал большую часть аудитории, пока люди действительно смотрели свои ленты.
Команда также использовала тот же запрос для задачи поменьше, но постоянной: правильно указывать время мероприятий и анонсов прямых трансляций. Запуск, объявленный на «8 PM» без указания часового пояса, годами порождал непрерывный поток растерянных ответов. Добавление определённого местного часового пояса к каждому запланированному анонсу, чтобы платформа правильно показывала время с учётом настроек каждого зрителя, устранило небольшой, но постоянный источник путаницы, которой можно было избежать.
Ничего из этого не потребовало отслеживать отдельных подписчиков или их устройства. Данные о местоположении брались из агрегированных серверных данных о вовлечённости, которые у бренда уже были, а сам запрос часового пояса выполнялся всего несколько раз в неделю, по одному разу на кластер аудитории, и такой объём был настолько мал, что почти не затрагивал бесплатную дневную квоту, включённую в ключ аккаунта.
Правильное время публикаций это небольшое изменение с накапливающимся эффектом, ведь от него выигрывает каждая публикация, а не одна разовая правка. Документация по эндпоинту, включая то, как передать конкретный момент времени, находится на странице /docs/timezone-lookup/.