Zum Inhalt

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_event läuft als Celery-Task (nicht blockierend)
  • Cookie-Lifetime: Konfigurierbar (Standard: 30 Tage)
  • Privacy: Bei Kunden mit privacy_protection_enabled wird die Bestellung vor dem Tracking anonymisiert (order.anonymize())