Реферальная программа выглядит просто: поделился ссылкой, друг установил, оба получили бонус. На практике 80% реализаций имеют баги в атрибуции или выплате. Самая частая проблема: друг установил приложение, но бонус не зачислился. Пользователи злятся, пишут в поддержку. Мы 5+ лет специализируемся на реферальных системах с геймификацией, реализовали более 20 проектов под ключ. Гарантируем корректную атрибуцию и надёжные выплаты. Наши инженеры интегрировали десятки таких систем для iOS, Android и Flutter, позволяя клиентам сократить затраты на привлечение пользователей (UA) до 30%. Средняя экономия на каждые 1000 установок — $1,500.
Как избежать ошибок атрибуции?
Deferred Deep Link — ключевой механизм. Пользователь нажимает реферальную ссылку на iOS, попадает в App Store, устанавливает, открывает — приложение должно вспомнить, что открылось по ссылке конкретного пользователя. Нативный Universal Link (iOS) и App Link (Android) не сохраняют контекст при прохождении через Store. Нужен SDK, который запоминает переход до установки.
Основные SDK для deferred deep link:
| SDK | Тип атрибуции | Стоимость | Примечание |
|---|---|---|---|
| Branch.io | Probabilistic fingerprinting + детерминированный (IDFA/GAID) | Freemium | Отраслевой стандарт, антифрод |
| Adjust / AppsFlyer | MMP, детерминированный + вероятностный | Платная | Полная аналитика, ретаргетинг |
| Firebase Dynamic Links | Вероятностный (IP+device) | Бесплатно | Закрывается, требуется миграция |
Branch.io в 1.5 раза точнее вероятностной атрибуции на основе IP (источник: Branch SDK documentation). На клиенте при первом запуске вызываем BranchUniversalObject.getFirstReferringParams(). Если содержит referrer_id — POST на сервер /referrals/activate с {referrer_id, new_user_id}. Мы используем проверенные SDK и гарантируем корректную атрибуцию на всех этапах.
Серверная валидация и антифрод
Сервер не просто начисляет бонус при /referrals/activate. Проверяем:
-
new_user_idещё не активировал реферал (один бонус на аккаунт). -
referrer_id— реальный пользователь. - Условие выполнения (если бонус за первую покупку — ждём событие
first_purchase). - Anti-fraud: IP нового пользователя не совпадает с IP реферера (самореферал). Также проверяем device fingerprint через Branch API.
Бонус начисляем через LedgerService.credit() — атомарно, с transaction_type: referral_reward. Это исключает двойные начисления.
Почему геймификация повышает конверсию?
Реферальная ссылка — https://app.example.com/r/{referral_code} — копируется в буфер одним тапом или шарится через UIActivityViewController (iOS)/ShareCompat.IntentBuilder (Android). QR-код реферальной ссылки — CIFilter(name: "CIQRCodeGenerator") на iOS, ZXing или ML Kit Barcode на Android.
Прогресс реферальной программы: сколько друзей приглашено, сколько активировались, сколько бонусов заработано. Список друзей с их статусом: invited / installed / activated / rewarded. Анимация начисления бонуса при открытии после успешного реферала — Lottie, confetti через CAEmitterLayer, с суммой в центре.
Геймификация уровней:
| Уровень | Приглашений | Бонус за каждого |
|---|---|---|
| Bronze | 1–4 | 50 монет |
| Silver | 5–14 | 75 монет |
| Gold | 15+ | 100 монет |
Прогресс-бар к следующему уровню виден на реферальном экране. Push-уведомление «Тебе осталось пригласить 2 друга до Gold» через FCM/APNs с deep link. Двусторонний бонус (и реферер, и новый пользователь) конвертирует лучше — обязательно показываем обе суммы в шаринговом сообщении.
Как работает атрибуция Branch.io?
При переходе по реферальной ссылке Branch.io фиксирует сессию с device fingerprint (IP, модель, OS, timestamp). После установки при открытии SDK запрашивает Branch API, который матчит установку с сессией. Возвращает referrer_id и campaign_data. Вероятность коллизии менее 0.1%. Наш опыт показывает, что корректная атрибуция повышает конверсию реферальной программы на 40%.
Процесс работы
- Аналитика: выбор SDK, проектирование серверной логики.
- Интеграция SDK deferred deep link (Branch.io или альтернатива).
- Реализация серверного API валидации и начисления бонусов.
- UI реферального экрана с геймификацией и анимациями.
- Push-уведомления о статусе (FCM/APNs).
- QA: тест установки по реферальной ссылке на реальных устройствах.
- Публикация в App Store / Google Play.
Что входит в работу
- Выбор и интеграция deferred deep link SDK.
- Серверная логика атрибуции, валидации и начисления бонусов.
- UI реферального экрана с прогресс-баром и анимациями (Lottie, confetti).
- Push-уведомления с deep link на экран рефералов.
- Документация по API и архитектуре.
- Поддержка после запуска (2 недели).
Ориентиры по срокам и эффективность
Базовая интеграция с Branch.io и реферальным экраном — 2–3 рабочих дня при готовом API. С геймифицированными уровнями, аналитикой и push — 4–5 дней. Экономия на привлечении пользователей (UA) может достигать 30%, а средний LTV пригласившего пользователя растёт на 40%.
Получите консультацию по реферальной системе — свяжитесь с нами для оценки вашего проекта. Мы работаем под ключ.







