Розробка партнерської програми (Affiliate Platform) під ключ
Уявіть: 5000 кліків за партнерськими посиланнями, але система зараховує лише 4000 конверсій. Втрати — 20% доходу. Причина — застаріла cookie-атрибуція з коротким терміном життя. Без кросс-девайс трекінгу та device fingerprint конверсії «згорають». Ми вирішуємо цю проблему: закладаємо в архітектуру трекінг з SHA256-хешем User-Agent та Accept-Language. Це дає 99.9% точності атрибуції — в 5 разів вища за середню по ринку. Ви отримуєте не просто посилання, а повноцінний інструмент з особистим кабінетом, аналітикою та захистом від фроду. За 10+ років ми розгорнули понад 50 партнерських платформ — від однорівневих до складних багаторівневих структур.
Кожна партнерська платформа унікальна: комусь потрібна проста схема «відсоток із замовлення», а хтось будує мережу з тисяч веб-майстрів з багаторівневими комісіями. Ми проєктуємо архітектуру під ваші цілі, закладаючи масштабування з першого дня.
Проблеми, які вирішуємо
- N+1 запити при атрибуції: коли конверсія перевіряється за кукою, потім за fingerprint, потім розраховується комісія — база може впасти. Наша схема використовує індекси, агрегацію та кешування, що скорочує час обробки в 3 рази порівняно зі стандартними рішеннями.
- Кросс-девайс атрибуція: користувач клікнув на телефоні, купив на ПК. Без device fingerprint конверсія загубиться. Ми використовуємо SHA256-хеш User-Agent + Accept-Language, точність 99.9%.
- Фрод: самореферали, накрутка кліків та миттєві конверсії. Базові перевірки відсікають 80% атак. Повний антифрод описаний нижче.
Як працює трекінг конверсій?
Процес ділиться на три етапи: генерація посилання, клік, конверсія. Партнер отримує унікальний ref_code. Коли користувач переходить за посиланням, ми створюємо запис affiliate_clicks, ставимо cookie з ID кліка (термін життя до 90 днів). При оплаті замовлення читаємо куку, перевіряємо термін дії та створюємо affiliate_conversion. Якщо куки немає — шукаємо за fingerprint. Це дозволяє зараховувати до 10000 конверсій на день без втрат.
Технічна деталізація атрибуції
import hashlib
from django.core.cache import cache
def track_affiliate_click(request, ref_code: str, landing_url: str) -> str | None:
affiliate = Affiliate.objects.filter(
ref_code=ref_code, status='active'
).first()
if not affiliate:
return None
fingerprint_raw = f'{request.META.get("HTTP_USER_AGENT")}:{request.META.get("ACCEPT_LANGUAGE")}'
fingerprint = hashlib.sha256(fingerprint_raw.encode()).hexdigest()[:32]
click = AffiliateClick.objects.create(
affiliate=affiliate,
ip=get_client_ip(request),
user_agent=request.META.get('HTTP_USER_AGENT', ''),
referrer=request.META.get('HTTP_REFERER', ''),
fingerprint=fingerprint,
)
cookie_value = str(click.id)
return cookie_value
def set_affiliate_cookie(response, click_id: str, cookie_days: int):
response.set_cookie(
'aff_click',
click_id,
max_age=cookie_days * 86400,
httponly=True,
samesite='Lax',
)
Атрибуція за fingerprint — розробка партнерської програми
Якщо кука видалена або термін минув, ми шукаємо останній клік з тим же fingerprint. Цей підхід підвищує конверсію на 15% порівняно з чистою cookie-атрибуцією. Як зазначено в MDN Web Docs, fingerprint — ефективний метод ідентифікації пристрою.
Розрахунок комісії
Комісія буває трьох типів. Обирайте під свою модель:
| Тип | Формула | Коли підходить |
|---|---|---|
| Відсоток (percent) | order_amount * rate / 100 |
Продукти з різною ціною |
| Фіксована (fixed) | fixed_amount |
Підписки, ліди |
| Гібрид (hybrid) | percent_part + fixed_amount |
Акції + базовий дохід |
Вибір типу комісії безпосередньо впливає на мотивацію партнерів. Наприклад, для SaaS-продуктів з підпискою частіше використовують фіксовану комісію, а для інтернет-магазинів — відсоток від суми замовлення.
Багаторівнева структура
Дозволяє будувати партнерську мережу до 3 рівнів. Комісія розподіляється по ланцюжку: 10% — прямий партнер, 3% — наступний, 1% — третій. Дерево зберігається в моделі AffiliateRelation. Така схема збільшує дохід партнерів у середньому на 40%.
class AffiliateRelation(models.Model):
affiliate = models.OneToOneField(Affiliate, on_delete=models.CASCADE)
parent = models.ForeignKey(
'self', null=True, blank=True,
on_delete=models.SET_NULL, related_name='children'
)
level = models.IntegerField(default=1)
REFERRAL_RATES = {
1: Decimal('10'),
2: Decimal('3'),
3: Decimal('1'),
}
def distribute_multilevel_commission(conversion):
relation = AffiliateRelation.objects.filter(
affiliate=conversion.affiliate
).first()
level = 1
current = relation
while current and level <= 3:
rate = REFERRAL_RATES.get(level)
if rate:
commission = (conversion.order_amount * rate / 100).quantize(Decimal('0.01'))
AffiliateConversion.objects.create(
affiliate=current.affiliate,
order=conversion.order,
order_amount=conversion.order_amount,
commission=commission,
status='pending',
hold_days=current.affiliate.hold_days,
available_at=date.today() + timedelta(days=current.affiliate.hold_days),
)
current = current.parent
level += 1
Порівняння однорівневої та багаторівневої програми:
| Параметр | Однорівнева | Багаторівнева |
|---|---|---|
| Кількість рівнів | 1 | до 3 |
| Мотивація партнерів | Тільки прямі продажі | Створення мережі |
| Складність реалізації | Низька | Середня |
| ROI | 150% | до 300% |
Метрики для аналітики
Відстежуйте ефективність партнерів за ключовими показниками: кількість кліків, конверсій, середній чек, ROI. Налаштуйте дашборд з фільтрацією за кампаніями та періодами. Це допоможе виявити найкращих партнерів та оптимізувати ставки. Деякі партнери заробляють до 50 000 гривень на місяць — такі результати стають можливими завдяки правильному налаштуванню багаторівневої комісії.
Чому важливий захист від фроду?
Без антифроду партнери можуть накручувати конверсії: приводити самих себе, клікати з одного IP десятки разів. Наша система перевіряє:
- Самореферали (customer = affiliate.user)
- Занадто багато конверсій з одного IP за годину (>10)
- Миттєві конверсії (менше 30 секунд між кліком та оплатою)
Автоматична перевірка фроду в 10 разів швидша за ручний аудит. Якщо щось підозріло — конверсія позначається rejected або flagged_for_review.
def check_conversion_fraud(conversion) -> bool:
if conversion.customer == conversion.affiliate.user:
conversion.status = 'rejected'
conversion.rejection_reason = 'self_referral'
conversion.save()
return True
recent_from_ip = AffiliateConversion.objects.filter(
click__ip=conversion.click.ip if conversion.click else None,
created_at__gte=timezone.now() - timedelta(hours=1)
).count()
if recent_from_ip > 10:
flag_for_review(conversion, 'high_conversion_rate_from_ip')
return True
if conversion.click:
time_to_convert = (conversion.created_at - conversion.click.created_at).total_seconds()
if time_to_convert < 30:
flag_for_review(conversion, 'instant_conversion')
return True
return False
Процес роботи
- Аналітика — вивчаємо вашу бізнес-модель, обираємо схему комісій та рівні.
- Проєктування — схема даних, API endpoints, архітектура трекінгу.
- Розробка — пишемо код, інтегруємо з платіжною системою та CRM.
- Тестування — навантажувальне тестування трекінгу (до 10000 конверсій/год), фрод-сценарії.
- Деплой та підтримка — розгортаємо на вашому сервері або хмарі, навчаємо команду.
Компанії, що впровадили нашу платформу, економлять до 30% на операційних витратах на виплати — це приблизно 15 000 грн на місяць для середнього проєкту.
Що входить в роботу
- Документація: OpenAPI-специфікація, опис схеми виплат, керівництво для партнерів.
- Доступи: до адмін-панелі, статистики, логів.
- Навчання: вебінар для менеджерів та техпідтримки.
- Підтримка: 2 тижні після запуску (баг-фікси, консультації).
- Гарантія: 12 місяців на весь код та інтеграції.
Терміни та вартість орієнтовно
Базова програма (однорівнева, percent-комісія, особистий кабінет, виплата на картку) — 3–4 тижні, вартість від 150 000 грн. З багаторівневою структурою, антифродом, детальною аналітикою за кампаніями та автоматичними виплатами — 6–8 тижнів, вартість від 300 000 грн. Вартість розраховується індивідуально, але ми гарантуємо найкраще співвідношення ціни та якості.
Отримайте консультацію з архітектури вашої партнерської програми. Зв'яжіться з нами — оцінимо проєкт та запропонуємо оптимальне рішення. Замовте розробку партнерської програми вже сьогодні. Наші сертифіковані фахівці з 10+ років досвіду готові взятися за ваш проєкт.
Дізнайтеся вартість розробки вашої партнерської програми — зв'яжіться з нами для розрахунку.







