Go to main content
Trigger analytics and marketing automation - official lesson image on GinnyTech, created by AD

Trigger analytics and marketing automation

Identify behavioral triggers to activate marketing campaigns in real time.

AD
Created byAndrii Dyshkantiuk
Lesson 81 / 236Level: AdvancedDuration: 22 minPrerequisites: 1

What you will learn

  • Identificare trigger comportamentali con query pre-acquisto e finestre temporali
  • Assegnare un punteggio a ogni trigger combinando frequenza, uplift, urgenza e costo
  • Misurare la conversione incrementale con holdout e finestre di esclusione

Trigger analytics and marketing automation

Questa lezione appartiene al binario ml-tabellare: i trigger si scoprono con query e si valutano con punteggi, non con l’intuito. L’automazione promette di parlare al cliente nel momento giusto; il nostro compito e capire quando quel momento esiste davvero.

Il messaggio giusto, al momento giusto

La trigger analytics decide quale evento comportamentale merita un messaggio immediato e quale produce solo pressione sul cliente. In fondo e una questione di disciplina: non tutto cio che accade merita una notifica.

Il percorso in sei passi

La sequenza va dalla definizione dell’evento al monitoraggio continuo, e ogni passaggio riduce il rischio di trasformare l’automazione in fastidio.

  1. Definisci evento, finestra temporale, priorita ed esclusioni prima di attivare.
  2. Stima frequenza del trigger e conversione incrementale con holdout.
  3. Assegna un punteggio con urgenza, uplift e costo di invio.
  4. Imposta finestra di esclusione e limite di pressione per utente.
  5. Invia con dispatcher tracciabile e metrica incrementale dichiarata.
  6. Monitora tasso di attivazione, falsi positivi e affaticamento e disattiva se il guadagno svanisce.

Tipi di trigger e campagne

I trigger cambiano per segnale, tempestivita e campagna attivata. La tabella raccoglie i tipi piu comuni con finestre operative.

TriggerSignalTempestivitaCampaign
BehavioralCarrello abbandonato oltre 1 oraWithin 2 hoursEmail reminder with products in cart
Temporal7 days from signup without activationWithin 24 hoursIn-app con tutorial guidato
ValuableLTV predetto sopra soglia VIPWithin 48 hoursInvito a programma fedelta
At riskProbabilita di abbandono oltre 0.7Within 4 hoursContatto del customer success team
Di opportunita3 purchases in 7 daysWithin 24 hoursUpsell ad abbonamento annuale
Milestone100esimo ordineWithin 24 hoursEmail celebrativa con codice fedelta
AbandonmentNessun accesso da 14 giorniWithin 24 hoursPush e email di riattivazione

Verdetto: dai priorita a carrello abbandonato e segnali ad alta intenzione con finestra breve, perche urgenza e uplift superano il costo di invio.

Trovare candidati con query pre acquisto

Il primo passo cerca quali azioni precedono l’acquisto in modo consistente nelle 24 ore precedenti. La query sotto conta gli utenti per ultimo evento prima dell’acquisto e i minuti medi alla conversione.

WITH purchases AS (
  SELECT user_id, MIN(event_time) AS purchase_time
  FROM events WHERE event_type = 'purchase'
  GROUP BY user_id
),
pre_purchase AS (
  SELECT e.user_id, e.event_type, e.event_time,
         p.purchase_time,
         ROW_NUMBER() OVER (PARTITION BY e.user_id, e.event_type ORDER BY e.event_time DESC) AS rn
  FROM events e
  JOIN purchases p ON e.user_id = p.user_id
  WHERE e.event_time BETWEEN p.purchase_time - INTERVAL '24 hours' AND p.purchase_time
    AND e.event_type != 'purchase'
)
SELECT event_type, COUNT(DISTINCT user_id) AS triggered_users,
       ROUND(AVG(TIMESTAMP_DIFF(purchase_time, event_time, MINUTE)), 0) AS avg_minutes_to_purchase
FROM pre_purchase WHERE rn = 1
GROUP BY event_type
ORDER BY triggered_users DESC;

Se la visualizzazione ripetuta di un prodotto precede l’acquisto nel 28 per cento dei casi entro 2 ore, il segnale merita un trigger con offerta a intenzione calda.

Dare un punteggio ai candidati

Ogni candidato va valutato su frequenza, uplift, finestra e costo. La funzione sotto combina le quattro dimensioni in un solo numero confrontabile.

def score_trigger(frequency, uplift_vs_baseline, time_window_hours, action_cost):
    """
    frequency: % of users activating the trigger in a month
    uplift: conversion increase compared to baseline
    time_window: hours before the opportunity expires
    action_cost: € cost to send the campaign
    """
    urgency = 1 / max(time_window_hours, 1)
    return (frequency * uplift * urgency) / max(action_cost, 0.01)

# Comparative example
triggers = [
    ("cart_abandoned", 0.15, 3.5, 2, 0.05),     # score: 10.5
    ("7d_no_activation", 0.25, 1.8, 24, 0.02),   # score: 0.94
    ("viewed_3x_30min", 0.08, 4.2, 0.5, 0.08),   # score: 8.4
]
for name, freq, uplift, window, cost in triggers:
    print(f"{name}: {score_trigger(freq, uplift, window, cost):.1f}")

Nel confronto carrello abbandonato e visualizzazione intensa ottengono il punteggio piu alto per combinazione di urgenza e uplift.

Pipeline real-time e controllo

Il rilevamento passa da stream di eventi a dispatcher verso lo strumento di campagna.

Event Stream (Kafka) → Stream Processor (Flink/ksqlDB) → Trigger Detection → Action Dispatcher → Campaign Tool (Braze)
-- ksqlDB: detect trigger in tempo reale
CREATE STREAM cart_abandoned AS
SELECT user_id, cart_value, items
FROM events
WHERE event_type = 'add_to_cart'
  AND TIMESTAMP_DIFF(CURRENT_TIMESTAMP, event_time, MINUTE) > 60
  AND user_id NOT IN (
    SELECT user_id FROM events
    WHERE event_type = 'purchase'
    AND event_time > ADD_TO_CART_TIME
  );

In produzione sorveglia tasso di attivazione, falsi positivi senza conversione, affaticamento dopo invii ripetuti e minuti mediani dal trigger all’invio.

L’errore del click attribuito

L’errore piu comune e confondere click attribuito con effetto incrementale. Molti utenti avrebbero comprato comunque entro un’ora senza messaggio. Prima di aumentare frequenza o incentivi servono holdout, finestra di esclusione e metrica incrementale, altrimenti l’automazione diventa pressione.

Il caso Netflix

Netflix usa trigger comportamentali documentati per engagement. Il reminder di continuazione invia un link diretto se una serie viene interrotta a meta e non riprende entro 3 giorni. L’avviso di nuova stagione parte via push per serie completate e la homepage si riorganizza quando un utente guarda 3 titoli true crime in una settimana. Dopo 2 settimane senza accessi parte un riepilogo delle novita perse. La societa dichiara che i trigger automatici generano il 75 per cento dell’engagement contro il 25 per cento della navigazione spontanea.

Domande per chiudere la lezione

  1. Quale holdout dimostra che un trigger crea conversione incrementale?
  2. Quale finestra di esclusione evita pressione eccessiva sullo stesso utente?
  3. Quale punteggio confronta frequenza, uplift, urgenza e costo di invio?
  4. Quando disattiveresti un trigger che genera ancora click?
Serve una mano concreta?

Bloccato su questo argomento o vuoi applicarlo al tuo caso? Prenota una call di 15 minuti con un analista esperto.

Book a call