Проект
Happy V – персонализирано Shopify приложение
Happy V е американска direct-to-consumer марка за женско здраве, която продава клинично подкрепени пробиотици и хранителни добавки през Shopify, със значителен абонаментен бизнес и многоканален маркетинг, обхващащ Meta, Google, TikTok и партньорски мрежи.
Проектът
Маркетинговата атрибуция и автоматизацията на клиентския жизнен цикъл на Happy V работеха върху остаряло споделено уеб приложение със SQL Server, придружено от набор несвързани конзолни инструменти, които се пускаха ръчно. Системата беше трудна за поддръжка, не даваше видимост при грешки и не можеше да мащабира заедно с растежа на марката.
Проектирахме и доставихме специално вградено Shopify приложение, което обединява всички интеграции и бек-офис процеси в една наблюдаема система — и мигрирахме цялата работа върху него без прекъсване на живия трафик.
Предизвикателството
- Данните за маркетингова атрибуция (над 500 000 записа) бяха в наследен SQL Server, споделен с несвързани системи.
- Събитията за реализация, изпращани към платформата за клиентски данни, често губеха идентификаторите на кликовете, което влошаваше точността на отчетите в рекламните платформи и ретаргетирането.
- Бизнес процеси като промоционалното маркиране и генерирането на отстъпки за специалисти се изпълняваха ръчно през конзолни приложения.
- Нямаше логване, нямаше механизъм за повторен опит и нямаше как да се разбере дали входящ webhook изобщо е бил обработен.
Какво изградихме
Вградено Shopify приложение (.NET 8 API и административен интерфейс на React Router 7), организирано в самостоятелни модули, всеки със собствен оперативен екран:
- Маркетингова атрибуция — публичен endpoint записва идентификаторите на кликовете (Meta, Google, TikTok) при плащане и обогатява всяка реализация, изпратена към Twilio Segment, с търсене върху пълния набор от данни.
- Поток за реализации — webhooks от Shopify и Recharge генерират обогатени събития Order Completed със строга гаранция за една реализация на поръчка.
- Програма за мостри — Shopify Flow уведомява приложението, когато клиент получи мостра; приложението я записва и подава свойства на профила и персонализирани събития към Klaviyo, за да задвижи последващите потоци.
- Маркиране на промоционални купувачи — сканира поръчките, направени по време на автоматични промоции, и поставя отделен клиентски таг за всяка кампания.
- Отстъпки за специалисти — чете Google Sheet, генерира уникален код за отстъпка за всеки специалист и ги създава групово в Shopify, с преглед на страници преди изпълнението.
- Партньорска интеграция — изравняване на реализациите от Refersion и ShareASale, включително автоматично анулиране при връщане на пари и проверка на регистрациите на партньори за сигнали за измама.
- Оперативни инструменти — общ дневник на приложението, тракер на използването на endpoint-ите, който показва кои интеграции реално се ползват, и инспектор на webhooks с ръчно повторно изпращане.
Акценти в разработката
- Миграция на данни без престой — над 550 000 записа за атрибуция бяха преместени от SQL Server в PostgreSQL, последвани от делта миграция при превключването, така че нито един запис, заснет по време на прехода, да не се загуби.
- Устойчива обработка на webhooks — входящите webhooks се записват веднага и се обработват от фонов процес с ограничен паралелизъм, повторни опити с експоненциално отлагане и ключове за идемпотентност. Нищо не се губи при рестарт или деплой, а пиковете в трафика не могат да претоварят услугата.
- Обединяване на атрибуцията — идентификаторите на кликовете се консолидират между всички поръчки на един клиент, така че реализация никога не се отчита с празно поле, ако стойността е заснета при по-ранно посещение. Това осезаемо подобри съвпаденията в рекламните платформи.
- Оптимизация на производителността — профилирането на живата система откри слой за достъп до данни, който зареждаше цели таблици в паметта. Пренаписването на критичните пътища към SQL от страната на сървъра свали заеманата памет от 1,7 GB на 175 MB и премахна таймаутите при продукционно натоварване.
- Постепенно превключване — всеки интеграционен endpoint огледално повтаря наследения си път, така че мигрирането на всеки доставчик на webhooks беше една промяна на хоста, изпълнена и проверена интеграция по интеграция.
Резултат
Happy V вече управлява целия си стек за маркетингова атрибуция и автоматизация на жизнения цикъл върху една поддържаема платформа. Ръчните конзолни процедури станаха административни екрани за самообслужване, грешките в интеграциите са видими и могат да се възпроизведат, вместо да остават незабелязани, а зависимостта от наследения SQL Server отпадна. Покритието на атрибуцията се подобри измеримо благодарение на обединяването на идентификаторите на кликовете и премахването на загубените webhook събития.
Технологии
.NET 8
C#
PostgreSQL
React
Shopify Admin GraphQL API- Twilio Segment
- Klaviyo