Торговля
Aleksandr Motin
941

Как не облажаться в чёрную пятницу

Чек-лист для подготовки интернет-магазина к большим распродажам.

В закладки

Чёрная пятница — самая ожесточённая драка магазинов за кошельки, когда многие люди за неделю тратят больше, чем за несколько предыдущих месяцев. В это время все конкурируют со всеми, ведь человек, у которого есть 20 000 рублей может выбирать между ноутбуком со скидкой 40% и шкафом-купе за полцены.

Допустим, вы решили откусить кусок этого пирога, запланировали хороший бюджет на промо, пополнили товарные остатки и планируете сделать крутую кассу. Но в порыве энтузиазма многие забывают о том, что в период больших распродаж сайты и лендинги становятся уязвимыми, как детёныши коалы.

Взять хотя бы недавний случай, когда сайт авиакомпании «Победа» рухнул в первые минуты после начала акции.

Ну штош, авиакомпания Победа сделала распродажу билетов, разослала всем уведомление. Начало в 14 часов по Москве, сегодня. С 14 часов сайт лежит. А через пару часов билеты все "проданы". Победа такая Победа

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

Спрогнозируйте нагрузку

Если вы заранее анонсируете распродажу, то первый пик посещаемости приходится на несколько часов после начала акции. На основе запланированных рекламных активностей нужно рассчитать ориентировочную посещаемость из разных каналов: рассылки, контекстная реклама, офлайн и т.д. В частности, спрогнозировать общий ожидаемый трафик на сайт, определить наиболее вероятные пиковые периоды и прикинуть, какой может быть максимальная посещаемость проекта в секунду.

Проведите нагрузочное тестирование

Итак, вы уже с определённой точностью предполагаете, сколько человек в пике может быть на сайте. Теперь нужно убедиться, что проект выдержит такую нагрузку. Основная задача — протестировать страницу промораздела и понять, какова её максимальная ёмкость до отказа в обслуживании или до фатальной деградации производительности.

Не переживайте, если сервер не справился

Если в процессе нагрузочного тестирования вы видите, что сервер не переваривает нужное вам количество посетителей в секунду, паниковать не нужно. Можно сразу переехать в облако или на более мощный сервер, но гораздо дешевле начать с оптимизации промораздела — не исключено, что этого будет достаточно.

Временно уберите всю динамическую информацию

Статичные страницы быстро работают, потому что они кешируются и не создают нагрузку на базу данных. Поэтому в первую очередь для высоконагруженных страниц распродажи убираем всю динамическую информацию — персональные рекомендации, раздел «вы недавно смотрели» и другие блоки, которые содержат разную информацию для разных пользователей.

Подключите CDN

CDN — это географически распределённая сетевая инфраструктура, помогающая снизить нагрузку на сервер и увеличить скорость загрузки страниц. Если промораздел содержит большое количество картинок или других статических файлов, то имеет смысл подключить CDN при подготовке к чёрной пятнице. Это поможет снизить вероятность падения сервера из-за наплыва пользователей.

Оптимизируйте скрипты и стили

Если есть возможность, стоит сделать для промостраницы отдельную сборку скриптов и стилей — только то, что используется на ней. Такие файлы будут существенно меньше весить. Меньше лишнего — меньше нагрузка на сервер, больше пользователей сервер сможет «переварить».

Подумайте о переносе промораздела на поддомен

Этот вариант подходит не всем и не всегда. Но если есть возможность физически отделить промораздел от основного сайта, можно перенести его на отдельный сервер.

Во-первых этот сервер может быть мощнее того, что обслуживает текущий сайт, и может пропускать большее количество пользователей в секунду. Во-вторых, это может быть облачное решение, которое легко масштабировать под нагрузку. В-третьих, если сервер с проморазделом все-таки не справится, это никак не скажется на работоспособности основного сайта. Как следствие, лояльная аудитория сможет пользоваться сайтом, даже если промораздел недоступен из-за высокой нагрузки.

Используйте сервисы по защите от DDoS

Стоимость организации DDoS-атаки в измеряется в тысячах рублей, а убытки от неё в день распродаж измеряются в миллионах. Есть смысл дополнительно подстраховаться на случай недобросовестной конкуренции: сервисов по защите от DDoS много, и стоят они несоразмерно меньше потенциальных убытков.

Проверьте механизм работы форм

Убедитесь в двух вещах. Первое: все важные для акции формы проверяют корректность заполнения контактных данных, и форму нельзя отправить, не заполнив их. Особенно если с её помощью вы меняете купон со скидкой на контактные данные. Такие косяки иногда обнаруживаются в формах, сделанных специально для акции: их могут собирать в спешке и недостаточно качественно тестировать.

Второе: форма не просто отправляет письмо с контактами на почту отдела продаж, но и записывает все данные в базу. В случае проблем с доставкой почты у вас будет возможность восстановить все данные.

Проверьте внешний вид писем

Самое время убедиться, что письма, которые будут отправлены пользователям (с промокодами, купонами или просто о подтверждении заказа) выглядят красиво и правильно отображаются на всех устройствах. Этот пункт, конечно, из разряда «давно бы пора», но чёрная пятница — хороший повод всё проверить и исправить косяки. Стоит уделить особое внимание проверке писем в популярных мобильных приложениях: Яндекс Почта, Gmail, стандартный почтовый клиент iOS.

Подключите сервисы рассылок

Битрикс по умолчанию рассылает пять писем в минуту. Увеличивать это значение не рекомендуется, т.к. это может негативно повлиять на карму домена, и он будет признан спамерским. Если ваше предложение действительно сногсшибательное, а клиентов много, то письма с промокодами или спецпредложениями могут отправляться несколько дней. А пользователи, которые не получили вовремя свой купон или уведомление об обработке заказа, будут звонить в отдел продаж. Чтобы этого избежать, необходимо заранее интегрироваться с сервисом рассылки и запустить отправку писем через него.

Используйте Google PageSpeed Insights

PageSpeed Insights анализирует содержание веб-страницы, оценивает её производительность и показывает места, которые можно оптимизировать. Об этот инструмент сломано много копий, но если смотреть на результаты анализа не выключая критическое мышление, можно увидеть слабые места на странице промораздела и заранее поправить их. Здесь важно проверять не главную страницу сайта, а именно те разделы, на которые ожидается максимальная нагрузка.

Задействуйте метод Feature Toggle

Большие распродажи обычно начинаются по расписанию, очень часто — ночью или в выходные. Убедитесь, что вся функциональность подготовлена, опубликуйте её на боевой сервер, протестируйте и используйте метод включения функциональности по расписанию (Feature Toggle), чтобы не привлекать разработчиков в нерабочее время.

Предупредите админов

Предупредите системных администраторов сервера о том, что вы ожидаете высокую нагрузку на сайт. Нужно, чтобы в день распродаж они были доступны, начеку, и могли оперативно включиться в работу и поднять лежащий сервер.

Подготовьте план на случай, если что-то пошло не так

Всего не предусмотреть. У вас должен быть план на крайний случай: например, если посещаемость существенно превысила ваши ожидания. Нужно заранее продумать о том, как уменьшить трафик, как расширить ресурсы или устроить частичную деградацию сервиса (отключение неключевых функций, которые создают большую нагрузку, чтобы сохранить доступность основных сервисов).

Если вы пойдёте в лес с картой, навигатором, двумя телефонами и несколькими запасными аккумуляторами, вы всё равно можете заблудиться. Другое дело, что это произойдёт с меньшей вероятностью, чем если вы возьмёте с собой только кепку и банку газировки. Так же и с подготовкой сайта к чёрной пятнице: даже если вы выполните все пункты этого чек-листа, сайт всё равно может упасть. Только вот шанс потерпеть неудачу будет в десятки раз меньше.

Мы в Braind много раз готовили магазины к распродажам, и в какой-то момент нам надоело вспоминать, что нужно проверить перед стартом. Так и появился этот список. Будет здорово, если эта статья поможет кому-то не допустить критических ошибок и провести распродажу без приключений.

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Aleksandr Motin", "author_type": "self", "tags": [], "comments": 9, "likes": 16, "favorites": 16, "is_advertisement": false, "subsite_label": "trade", "id": 86981, "is_wide": false, "is_ugc": true, "date": "Tue, 08 Oct 2019 07:57:34 +0300", "is_special": false }
0
{ "id": 86981, "author_id": 252745, "diff_limit": 1000, "urls": {"diff":"\/comments\/86981\/get","add":"\/comments\/86981\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/86981"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199122, "last_count_and_date": null }
9 комментариев
Популярные
По порядку
Написать комментарий...
3

И главное.

Проверьте, что вы действительно можете предложить скидки уровня Черной Пятницы на свои товары, а не только минус 50% на сраные чехлы для смартфона и кабели microUSB.

Ответить
0

Ну сейчас уже эта идея стремительно доходит до российского ритейла. Да и раньше бывали норм предложения. Лет семь назад омская сетка фитнес-клубов продавала абонементы с дисконтом 70% — но там, правда, все офигели от того, что так бывает)

Ответить
0

таких предложений мне кажется всего пара процентов от всего рынка, участвующего в этой акции. А вот все остальное, это да - "СУПЕР СКИДКИ ЧЕРНОЙ ПЯТНИЦЫ ДО 75%! (на бамперы для смартфонов...)"

Ответить
1

Всё по делу. Только важно у маркетинга выяснить, сколько на самом деле трафика они хотят нагнать. У партнёров был случай. Запустили акцию в полночь - упал сайт. Все мечутся, ддос, мол. А потом выяснилось, что это новый контекстолог нагнал дешевого (не целевого, к тому же) трафика

Ответить
0

Тут вопрос только в том, договаривались ли заранее гнать этот нецелевой трафик. Если да, всё ок, технический косяк не на стороне маркетологов

Ответить
0

Не, там все прогнозы раза в 4 превысили. Это он так отличиться захотел. Естественно, в тот же день пошёл сверкать талантами в другое место

Ответить
0

Чек лист:
1. Заранее повысить цены на что планируете делать скидку
...

Ответить
0

Классная статья! Без лишних выебонов и умных слов, читается на одном дыхании. За гифки так вообще отдельный респект. 
Схоронил себе и раскидал паре клиентов из екоммерса.

Ответить
0

Почему нет пункта: Проверить, хватит ли товаров на всех?

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }