Affiliate-System¶
Der Shop verfügt über ein integriertes Partner-Tracking-System für Provisionsabrechnung und Affiliate-Marketing.
Übersicht¶
Affiliate-Link (Tracker-View)
↓
Cookie setzen (affiliate_id)
↓
Kunde bestellt (Bestellabschluss)
↓
track_sale_event() → Provisionsberechnung
↓
Affiliate-Dashboard (optional)
URL-Struktur¶
Affiliate-Links werden über den Tracker-View (affiliate/views.py) erfasst:
https://shop.kelemidis.de/ref/<affiliate_code>/
Der Tracker-View: 1. Extrahiert den Affiliate-Code aus der URL 2. Setzt einen Cookie mit der Affiliate-ID 3. Leitet auf die Shop-Startseite weiter
Provisionsberechnung¶
Beim Bestellabschluss (handle_successful_order):
# apps/checkout/mixins.py
if self.request.site.configuration.affiliate_tracking_enabled:
track_sale_event(order.number, total, data, **serialized_request)
track_sale_event() (affiliate/tasks.py) ist ein Celery-Task, der:
1. Den Affiliate anhand des Cookies identifiziert
2. Bestellwert und Provision berechnet
3. Die Provision in der Datenbank speichert
Konfiguration¶
Das Affiliate-Tracking wird pro Site aktiviert:
- Dashboard → Einstellungen → Site-Konfiguration
- Feld:
affiliate_tracking_enabled
Affiliate-Modelle¶
| Modell | Beschreibung |
|---|---|
Affiliate |
Partner mit Code, Name, Provisionssatz |
AffiliateSale |
Einzelne Sale-Transaktion |
AffiliatePayout |
Auszahlung an Partner |
Technische Details¶
- Serialisierung:
serialize_request()speichert HTTP-Header + Session-Daten - Asynchron:
track_sale_eventläuft als Celery-Task (nicht blockierend) - Cookie-Lifetime: Konfigurierbar (Standard: 30 Tage)
- Privacy: Bei Kunden mit
privacy_protection_enabledwird die Bestellung vor dem Tracking anonymisiert (order.anonymize())