Skip to content

blhack-it/affilify-wordpress

Repository files navigation

Affilify Tracking for WooCommerce

Plugin WordPress/WooCommerce per il tracking delle conversioni affiliate che si integra con la piattaforma Affilify.

Funzionalità

  • Click Tracking: Cattura gli ID affiliato dai parametri URL e li memorizza nei cookie
  • Conversion Tracking: Traccia automaticamente le conversioni al completamento dell'ordine WooCommerce
  • Async Processing: Utilizza WP-Cron per chiamate API non bloccanti
  • Multi-Site Support: Configurabile per sito
  • GDPR Compliant: Gli indirizzi IP vengono mascherati prima dell'invio all'API
  • Retry Logic: Retry automatico con backoff esponenziale per chiamate API fallite
  • Debug Mode: Logging dettagliato per troubleshooting

Requisiti

  • WordPress 6.0 o superiore
  • WooCommerce 8.0 o superiore
  • PHP 8.1 o superiore

Installazione

Via Upload Plugin (Raccomandato)

  1. Scarica il plugin come file ZIP
  2. Vai su Plugin > Aggiungi Nuovo > Carica Plugin
  3. Seleziona il file ZIP e clicca "Installa Ora"
  4. Attiva il plugin

Installazione Manuale

  1. Scarica e estrai il plugin
  2. Carica la cartella affilify-tracking in wp-content/plugins/
  3. Vai su Plugin e attiva "Affilify Tracking for WooCommerce"

Configurazione

Naviga su Affilify nel menu di WordPress.

Impostazioni Generali

Impostazione Descrizione Default
Enable Tracking Abilita/disabilita il modulo
API Key La tua API Key Affilify -
API URL URL dell'API (per testing) https://dashboard.affilify.it/woocommerce/api
URL Parameter Name Parametro URL da catturare affilify_id
Cookie Duration Giorni di durata del cookie 30
Debug Mode Abilita logging dettagliato No

Come Funziona

Click Tracking

  1. Un visitatore arriva con un link affiliato: https://tuonegozio.com/?affilify_id=abc123
  2. Il plugin cattura il parametro affilify_id
  3. Il valore viene validato (alfanumerico, trattino, underscore, max 100 caratteri)
  4. Un cookie viene impostato con l'ID affiliato
  5. I dati del click vengono inviati all'API di tracking

Conversion Tracking

  1. Il cliente completa un ordine WooCommerce
  2. Alla pagina "Ordine Completato" il plugin verifica la presenza del cookie di tracking
  3. Se presente, i dati della conversione vengono catturati
  4. La conversione viene inviata all'API Affilify
  5. Il cookie viene cancellato (singola conversione per click)

API Endpoints

Il plugin invia dati alla tua API di tracking:

Click Endpoint: POST /api/track/click

{
  "affilify_id": "abc123",
  "referer": "https://google.com",
  "ip": "192.168.x.x",
  "user_agent": "Mozilla/5.0...",
  "timestamp": "2024-01-15T10:30:00+00:00",
  "platform": "woocommerce"
}

Conversion Endpoint: POST /api/track/conversion

{
  "affilify_id": "abc123",
  "order_id": "123",
  "amount": "199.99",
  "currency": "EUR",
  "platform": "woocommerce"
}

Logging

I log vengono scritti in: wp-content/uploads/affilify-tracking-logs/affilify_tracking.log

Abilita il Debug Mode nelle impostazioni per logging dettagliato.

Testing

Vedi TESTING.md per istruzioni dettagliate sul testing in ambiente Docker.

Test Manuale Rapido

  1. Visita il tuo negozio con un parametro affiliato: ?affilify_id=test123
  2. Verifica che il cookie affilify_tracking sia impostato (DevTools > Application > Cookies)
  3. Aggiungi un prodotto al carrello e completa un ordine
  4. Controlla i log e/o la tua API di tracking

Sicurezza

  • Input Validation: Gli ID affiliato sono validati con pattern regex rigoroso
  • Sanitization: Tutti gli input sono sanificati con le funzioni WordPress
  • IP Masking: Gli IP vengono mascherati per privacy GDPR
  • Nonce Protection: Le impostazioni admin sono protette da nonce

Hook Disponibili

Actions

// Eseguito dopo il salvataggio delle impostazioni
do_action('affilify_tracking_settings_saved');

// Eseguito prima dell'invio del click
do_action('affilify_tracking_before_click', $data);

// Eseguito dopo l'invio della conversione
do_action('affilify_tracking_after_conversion', $order_id, $success);

Filters

// Modifica i dati del click prima dell'invio
$data = apply_filters('affilify_tracking_click_data', $data);

// Modifica i dati della conversione prima dell'invio
$data = apply_filters('affilify_tracking_conversion_data', $data, $order);

Troubleshooting

Il cookie non viene impostato

  1. Verifica che il plugin sia attivo e abilitato
  2. Controlla che il parametro URL sia corretto
  3. Verifica che non ci siano plugin di caching che interferiscono

Le conversioni non vengono tracciate

  1. Verifica che l'API Key sia configurata
  2. Abilita il Debug Mode e controlla i log
  3. Verifica che il cookie sia presente al momento dell'ordine

Errori API

  1. Controlla la connessione al server API
  2. Verifica che l'API Key sia valida
  3. In Debug Mode, disabilita SSL verify per testing locale

Supporto

License

MIT License - vedi LICENSE per dettagli.