prestazioniCreative Management di Adobe Advertising — Dynamic Creative Optimization (DCO) combina il targeting basato su regole con il machine learning per eseguire il rendering di annunci personalizzati da cataloghi con oltre10.000 in meno di 25 ms, offrendo miglioramenti delle prestazioni del 20-40% grazi a un’architettura su due livelli.
Introduzione
Immagina di navigare online e visualizzare l’annuncio proprio del prodotto che ti interessa: non uno qualunque, ma un creato su misura per te. Dietro questo annuncio apparentemente semplice si cela un sofisticato sistema a due livelli che combina il targeting basato su regole con il machine learning per offrire annunci personalizzati in meno di 25 millisecondi.
Adobe Advertising Creative Management consente agli inserzionisti di creare, gestire e ottimizzare gli annunci su tutti i canali. Supporta contenuti creativi statici, annunci dinamici da feed/catalog con targeting, metodi di rotazione e ottimizzazione delle prestazioni.
Dynamic Creative Optimization (DCO) è una funzionalità chiave di Creative Management che abilita la personalizzazione in tempo reale per gli annunci dinamici. Mentre Creative Management gestisce la configurazione dei contenuti creativi, i caricamenti dei cataloghi e la configurazione dell’esperienza, dietro le quinte del rendering degli annunci, DCO esegue il motore decisionale in tempo reale che seleziona il prodotto ottimale su misura in base alle preferenze utente. Questo sistema a due livelli, che combina regole di targeting deterministico con l’ottimizzazione tramite machine learning, garantisce agli inserzionisti di poter sfruttare ampi cataloghi di prodotti mantenendo la velocità e la scalabilità necessarie per la pubblicità programmatica. DCO trasforma i modelli creativi statica in annunci personalizzati e contestualizzati, in base alla posizione e alle preferenze dell’utente in tempo reale.
Questa è Dynamic Creative Optimization (DCO), un’architettura pronta per la produzione in grado di gestire milioni di decisioni al giorno, imparando continuamente cosa funziona meglio.
Fig 1: dall’aggiudicazione dell’offerta al targeting, dalla selezione del prodotto all’ottimizzazione ML e al rendering finale dell’annuncio.
Fig 2: flusso di lavoro end-to-end per l’ottimizzazione dei contenuti creativi
La difficoltà
Fornire annunci personalizzati su larga scala richiede la risoluzione simultanea di quattro vincoli:
-
Scalabilità: elaborazione di cataloghi con oltre 10.000 prodotti per inserzionista
-
Velocità: decisione in meno di 25 millisecondi per ogni richiesta annuncio
-
Rilevanza: corrispondenza degli annunci al contesto utente (posizione, interessi, dispositivo)
-
Ottimizzazione: apprendimento e miglioramento continui basati sul comportamento reale degli utenti
Gli approcci tradizionali non sono sufficienti. La selezione casuale offre una scarsa rilevanza. L’analisi sequenziale di migliaia di prodotti è troppo lenta. Le regole di punteggio statico non sono in grado di imparare cosa genera conversione. E il puro machine learning senza logica di business può mostrare annunci irrilevanti o violare i vincoli della campagna.
Tipi di contenuti creativi: standard e dinamici
Prima approfondire il sistema di targeting, è importante comprendere le due principali tipologie di contenuti creativi
Contenuti creativi standard
I contenuti creativi standard sono annunci statici con contenuti predefiniti e fissi. Le risorse creative (immagini, testi, inviti all’azione) vengono caricate una sola volta e rimangono invariate indipendentemente da chi visualizza l’annuncio.
-
Caso d’uso: brand awareness e promozioni di iscrizioni in cui non è richiesta la personalizzazione.
-
Esempio: un banner Adobe Creative Cloud che evidenzia caratteristiche quali “Trasforma il brief in pura creatività” o “Più opzioni per i clienti”, presentando modelli di annunci pre-progettati e strumenti creativi con layout e messaggi fissi, mostrati in modo identico a tutti gli utenti idonei.
-
Ottimizzazione: il machine learning ottimizza quali contenuti creativi statici ottengono le prestazioni migliori, senza modificarli per utente.
Fig. 3: esempi di varianti di contenuti creativi statici
Contenuti creativi dinamici
I contenuti creativi dinamici sono annunci basati su modelli che estraggono le informazioni sui prodotti in tempo reale da un feed di catalogo. Il modello definisce il layout, mentre i dati del prodotto (immagine, titolo, prezzo, descrizione) vengono inseriti al momento della distribuzione in base al contesto dell’utente.
-
Caso d’uso: vendite al dettaglio, viaggi, automotive: qualsiasi inserzionista con un ampio catalogo di prodotti che desidera mostrare articoli pertinenti a ciascun utente.
-
Esempio: un utente in California che cerca prodotti di elettronica visualizza un annuncio dinamico nella sua area geografica al prezzo di 999 dollari, mentre un utente a New York visualizza un prodotto diverso in base alla cronologia di navigazione.
-
Ottimizzazione: il machine learning ottimizza la combinazione di prodotto x modello di creatività selezionando sia il miglior prodotto che il miglior trattamento visivo per quell’utente.
Gruppo di contenuti creativi e AdThemes
In Adobe Advertising Creative, le campagne sono organizzate in esperienze. Un’esperienza mirata può utilizzare un albero decisionale: ogni ramo applica le regole del pubblico (geo, dispositivo, segmento, ecc.) e il nodo foglia finale di tale albero rappresenta quello che in questo articolo viene chiamato un AdTheme: un percorso specifico per il pubblico con contenuti creativi associati.
Un gruppo di contenuti creativi è la raccolta di contenuti creativi (standard o dinamici) associati a un singolo AdTheme. Una volta che il Livello 1 seleziona un AdTheme per la richiesta corrente, il sistema deve ancora decidere quali contenuti creativi mostrare tra quelle del relativo Gruppo creativo. Questa scelta è controllata dal metodo di rotazione configurato nell’interfaccia utente:
Basato su algoritmo (Algo)
Utilizza il machine learning, nello specifico il Thompson Sampling, per selezionare automaticamente i contenuti creativi con le prestazioni migliori. Il sistema tiene traccia delle metriche di successo (clic, conversioni) per ciascun contenuto creativo favorisce progressivamente le migliori, pur continuando a esplorare le alternative. Questo è il metodo consigliato per ottimizzare le prestazioni delle campagne.
Ponderato
Distribuisce le impression tra i contenuti creativi in base alle percentuali definite dall’inserzionista. Ad esempio, un inserzionista potrebbe configurare il 70% delle impression per i contenuti creativi A (il messaggio principale) e il 30% per i contenuti creativi B (una variante di test). Utile per test A/B controllati o quando è richiesta una specifica allocazione del traffico.
Sequenziale
Ruota i contenuti creativi secondo un ordine definito, completando il ciclo di ciascuno prima di ricominciare. Garantisce una distribuzione uniforme nel tempo ed è utile per le campagne in cui tutti i contenuti creativi devono avere la stessa esposizione.
Casuale
Seleziona in modo casuale tra i contenuti creativi disponibili con uguale probabilità per ciascuna richiesta. Semplice, ma non apprende né ottimizza: utile per i test della linea di base o quando si desidera una reale casualità. Livello 1: targeting e selezione dell’AdTheme
Scopo: individuare il gruppo di contenuti creativi corretto (AdTheme). Questo avviene per tutti i tipi di annunci: standard, dinamici e video.
Livello 1: targeting e selezione dell’AdTheme
Scopo: individuare il gruppo contenuti creativi corretto (AdTheme). Questo avviene per tutti i tipi di annunci: standard, dinamici e video.
Due approcci di targeting
1. Targeting ad albero decisionale
Gli inserzionisti possono impostare più livelli di targeting sotto forma di Albero decisionale dell’esperienza e assegnare contenuti creativi a ciascun ramo dell’albero. Un’esperienza presenta un tag annuncio che gli inserzionisti potrebbero utilizzare in qualsiasi piattaforma DSP (Demand-Side Platform)
Come funziona
Valuta più criteri simultaneamente ed esegue l’intersezione impostata. Il sistema gestisce indici separati per ciascuna dimensione targeting:
-
Geografico: Paese, regione/stato, città, CAP, DMA
-
Dispositivo: tipo di dispositivo, browser, sistema operativo
-
Passaggio dati: parametri personalizzati (t1-t5)
-
Profilo: attributi utente (ut1-ut5)
-
Segmenti: targeting comportamentale
-
Pianificazione annunci: intervalli data/ora
2. Targeting basato su tag
L’utente può impostare un’esperienza diversa dall’albero decisionale, ma che si basa su diversi tag configurati in base alle dimensioni degli annunci.
Quando la richiesta include il tag=’4', il sistema recupera direttamente l’AdTheme associato al tag 4. Più veloce, ma meno flessibile rispetto all’albero decisionale.
Punteggio: modello additivo
Dopo che l’intersezion ha individuato gli AdThemes corrispondenti, il punteggio utilizza un modello additivo:
Esempio:
Fig. 4: il diagramma illustra un flusso di targeting di Livello 1 in cui il targeting ad albero decisionale o basato sui tag confluiscono in un punteggio additivo per determinare l’AdTheme vincente per la richiesta.
Per annunci dinamici: livello di selezione del prodotto
Importante: la selezione del prodotto avviene ESCLUSIVAMENTE per gli annunci dinamici, mentre quelli standard saltano questo livello.
Fig. 5: i quattro pilastri DCO, ovvero il targeting, il punteggio, la selezione del prodotto e l’ottimizzazione tramite machine learing lavorano in sinergia in tempo reale
File di catalogo prodotti (file MUP)
Gli inserzionisti caricano feed di prodotto (UTF-8, delimitati da tabulazione). Ciascuna riga rappresenta un prodotto e include: ID prodotto, titolo, descrizione, prezzo, URL dell’immagine, categoria, brand, fornitore, disponibilità geografica e campi di targeting personalizzati.
Dal feed agli indici: pipeline offline
-
Analisi del feed: analizza le righe in handle di prodotto leggeri (punteggio iniziale = 1,0).
-
Configurazione dell’indice: la scelta delle colonne da indicizzare è basata sulla configurazione (tramite file delle proprietà).
-
Creazione dell’indice inverso: per ciascuna colonna configurata genera un indice inverso, spesso utilizzando bitmap compresse.
-
Serializzazione e hot loading: serializzazione degli indici binari e sostituzione immediata nei pod di erogazione tramite aggiornamenti atomici.
Processo di selezione dei prodotti
Passaggio 1 - Filtro basato sugli indici: recupero dei set di prodotti per ciascun criterio (paese, categoria, segmento).
Passaggio 2 - Punteggio moltiplicativo (diverso dal Livello 1):
Tabella di esempio:
Fig 6: Variante 1: il prodotto con il ranking più alto dopo il filtro basato sugli indici e il punteggio moltiplicativo. Questo è il prodotto selezionato.
Fig 7: Variante 2: un prodotto per annunci dinamici idoneo che supera il targeting ma riceve un punteggio finale inferiore
Fig 8: Variante 3: un altro prodotto idoneo conservato per il confronto ma non selezionato
Nota cumulativa: queste figure (fig 6-8) rappresentano tre varianti dello stesso annuncio dinamico, derivate da diverse righe del feed di prodotto. Tutte le varianti soddisfano i vincoli di targeting e di punteggio, ma solo quella con il punteggio più alto viene selezionata e mappata al modello creativo.
Passaggio 3 — Selezione primi N: restituisci i primi N prodotti (ad esempio i primi 200). In caso di parità al limite della soglia, tutti i risultati vengono inclusi per garantire l’equità.
Passaggio 4 — Prodotto finale Dopo l’algoritmo di ottimizzazione dei contenuti creativi, viene restituito il prodotto finale che è mappato sul modello.
Ingegneria delle prestazioni: raggiungimento di <25 millisecondi.
Diverse procedure di ingegneria consentono di raggiungere il target di < 25 ms:
1. Località dei dati
-
Precaricamento degli indici nella memoria dei pod all’avvio
-
Memorizzazione in cache dei dettagli dei prodotti per gli articoli consultati più frequentemente
-
Hot-loading per aggiornamenti senza tempi di inattività
2. Strutture dati compatte
-
Bitmap compresse per set di handle
-
Indirizzamento tramite dizionario per evitare la duplicazione delle stringhe
-
Operazioni efficienti sui set
3. Caching dei risultati
-
Memorizzazione dei risultati per i pattern ripetuti
-
Invalidazione alla modifica dei feed
-
Scadenza basata su TTL
4. Set candidati limitati
-
Limitazione dei primi N per mantenere veloce il machine learning (10-50 prodotti per contenuto creativo)
-
Esecuzione del machine learning solo su un sottoinsieme idoneo
-
Esecuzione in parallelo le ricerche delle statistiche e il recupero dei dettagli dei prodotti
5. Scambi atomici dell’indicei
-
Supporto degli aggiornamenti atomici senza tempi di inattività
-
Ottimizzati per batch di grandi dimensioni; funzionalità di rollback
Fig. 9: indici in memoria, strutture di dati compatte e strategie di memorizzazione in cache che consentono una latenza decisionale inferiore a 25 ms
Livello 2: ottimizzazione del machine learning
Scopo: selezione intelligente tra i candidati principali il machine learning viene eseguito per tutti i tipi di annunci, ma agisce su “arm” differenti:
-
Annunci standard: arm = contenuti creativi statici
-
Annunci dinamici: arm = combinazioni di prodotti x annunci creativi
-
Annunci video: arm = contenuti creativi video
Quando viene eseguito il machine learning?
Il machine learning viene eseguito quando sono disponibili più opzioni competitive o quando è necessaria l’esplorazione.
Scenario A — Vincitore chiaro (senza machine learning):
Scenario B — Pareggi/opzioni competitive (il machine learning decide):
Thompson Sampling: il motore del machine learning
-
Recupera i conteggi storici di esito positivo/negativo per ciascuna variante
-
Esegue il campionamento dalle distribuzioni Beta (una per variante)
-
Seleziona la variante con la probabilità di campionamento più elevata
Perché utilizzare il Thompson Sampling? Utilizza aggiornamenti batch giornalieri, bilancia naturalmente l’esplorazione rispetto allo sfruttamento, è veloce nell’esecuzione e e mostra un miglioramento del 20-40% rispetto alla selezione normale.work
Fig. 10: Thompson Sampling in DCO. Gli “arm” idonei e le statistiche delle prestazioni per “arm” alimentano il motore del “Bandit” che seleziona i contenuti creativi o il prodotto x contenuti creativi migliori per la richiesta corrente
Informazioni sugli “arm” in un “Multi-armed Bandit”
Il termine “arm” deriva dalle slot machine (chiamate anche “One-armed Bandit”). In DCO:
-
Annunci standard — arm = contenuti creativi statici (ad esempio 5 contenti creativi = 5 arm)
-
Annunci dinamici — arm = combinazioni di prodotti x contenuti creativi (ad esempio 3 contenuti creativi x 10 prodotti = 30 arm)
Perché gli “arm” contestuali sono importanti: il set di “arm” può cambiare in base al contesto della richiesta (posizione, disponibilità). Il machine learning effettua il campionamento solo dagli “arm” attualmente idonei, consentendo un adattamento dinamico senza pre-calcolare tutte le combinazioni.
Flusso completo: dalla richiesta alla risposta
Per gli annunci standard, il flusso è diretto: il Livello 1 seleziona un AdTheme in base alle regole di targeting; quindi il livello 2 ML sceglie i contenuti creativi migliori da quel gruppo utilizzando il Thompson Sampling. Per gli annunci dinamici, un ulteriore livello filtra e attribuisce un punteggio ai prodotti prima che il machine learning decida la combinazione finale di prodotto x annunci creativi. In entrambi i casi, l’intera pipeline decisionale viene completata in meno di 25 millisecondi
Fig. 11: Flusso di richiesta per annunci standard. Il targeting e il machine learning selezionano i contenuti creativi statici migliori
Fig. 12: Flusso di richiesta per annunci dinamici. Include la selezione del prodotto prima dell’ottimizzazione del machine learning e del rendering.
Oltre la pubblicità: ambiti di applicazione universali
Il pattern a due livelli (targeting + machine learning) può essere applicato anche al di fuori degli annunci:
-
Consigli sui contenuti: filtro per valutazione/disponibilità; il machine learning ottimizza il coinvolgimento.
-
Ranking di ricerca e-commerce: filtro per inventario/prezzo; il machine learning ottimizza la conversione.
-
Ottimizzazione delle campagne e-mail: applicazione di preferenze; il machine learning seleziona l’oggetto/l’ora.
-
Selezione per sperimentazioni cliniche: applicazione dei criteri di idoneità; il machine learning ottimizza il successo delle iscrizioni.
Il pattern: targeting → punteggio → ottimizzazione.
I vantaggi di questa architettura
Solo targeting + regole: veloce e deterministico, ma può determinare le parità in modo casuale.
Solo machine learning: può apprendere, ma rischia violare la logica di business e converge lentamente senza fase di pruning.
Targeting + regole + machine learning: il meglio di entrambi gli approcci precedenti. La logica di business viene applicata con punteggio di rilevanza e machine learning per un miglioramento continuo. Guadagni tipici: latenza < 25 ms e un miglioramento delle prestazioni del 20-40% rispetto alle linee di base normali.
Punti chiave
-
Sistema a due livelli: prima il targeting/punteggio (veloce, deterministico), poi l’ottimizzazione ML (apprendimento adattivo).
-
Punteggio differenziato: additivo per la selezione dell’AdTheme; moltiplicativo per la selezione del prodotto.
-
Dinamico = livello extra: gli annunci dinamici aggiungono la selezione del prodotto tra la scelta dell’AdTheme e del machine learning.
-
Machine learning per tutti i tipi: il Thompson Sampling funziona per i tipi di annunci standard, dinamici e video, cambiano solo gli “arm”.
-
Scala in tempo reale: milioni di decisioni al giorno con una latenza < 25 ms per richiesta.
Conclusione
Dynamic Creative Optimization è un potente pattern architetturale che combina:
-
Livello 1: targeting e punteggio basati su regole (deterministico, veloce)
-
Selezione del prodotto: filtro basato su indice e punteggio moltiplicativo (annunci dinamici)
-
Livello 2: ottimizzazione ML con il Thompson Sampling (tutti i tipi di annunci)
L’insight chiave: non si tratta di regole o di machine learning, ma di entrambi in sequenza. Il targeting assicura la rilevanza, il punteggio la differenziazione e il machine learning l’ottimizzazione continua.
Vuoi saperne di più su come DCO può migliorare le prestazioni dei tuoi annunci? Consulta Adobe Advertising Creative per iniziare.