Реферальна програма виглядає просто: поділився посиланням, друг встановив, обидва отримали бонус. На практиці 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). На клієнті при першому запуску викликаємо 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%.
Отримайте консультацію щодо реферальної системи — зв'яжіться з нами для оцінки вашого проекту. Ми працюємо під ключ.







