Questa pagina descrive gli eventi utente per le app di ricerca e suggerimenti di contenuti multimediali, inclusi tipi di eventi utente, requisiti ed esempi per i tipi di eventi utente. Gli eventi utente sono obbligatori per le app multimediali.
Per informazioni generali sulla ricerca e sui consigli sui contenuti multimediali, vedi Introduzione alla ricerca e ai consigli sui contenuti multimediali.
Per assistenza con la registrazione degli eventi utente, consulta Registra gli eventi utente in tempo reale. Per importare in blocco gli eventi utente passati, consulta Importare gli eventi utente storici.
Tipi di eventi utente
Puoi registrare i seguenti tipi di eventi utente mentre gli utenti finali navigano o eseguono ricerche sul tuo sito:
Nome evento utente | Azione dell'utente |
---|---|
view-category-page |
Visualizza una pagina di categoria, ad esempio Home > TV > Drammi, Home > Film > Azione. |
view-item |
Visualizza i dettagli di un documento. |
view-home-page |
Visualizza la home page. |
search |
Cerca nel datastore. |
media-play |
I clic vengono riprodotti su un elemento multimediale. |
media-complete |
Interrompe la riproduzione di un elemento multimediale, segnalando la fine della visione. |
Per informazioni dettagliate sull'oggetto evento utente, consulta la
documentazione di riferimento dell'API UserEvent
.
Requisiti degli eventi per la ricerca e i suggerimenti sui contenuti multimediali
Per determinare quali eventi utente devi raccogliere, consulta la seguente tabella.
I tipi di eventi utente necessari sono determinati dal fatto che la tua app sia un'app di ricerca o di consigli, dall'obiettivo (percentuale di clic, tasso di conversione o durata della visualizzazione) e, solo per le app di consigli, dal tipo di modello che hai scelto. Per ulteriori informazioni sui tipi di modelli di suggerimento e sugli obiettivi di ottimizzazione, consulta Informazioni sui tipi di suggerimenti per le app multimediali.
Evento | search |
view-home-page |
view-category-page |
view-item |
media-play |
media-complete |
|
---|---|---|---|---|---|---|---|
Caso d'uso della ricerca | |||||||
Obbligatorio | Non obbligatorio |
Non obbligatorio |
Obbligatorio | Obbligatorio | Obbligatorio | ||
Tipo di modello Consigliati per te, per obiettivo | |||||||
CTR | Non obbligatorio |
Obbligatorio per il contesto della home page Non obbligatorio per il contesto generale |
Non obbligatorio |
È obbligatorio
specificare view-item o
media-play . |
Fortemente consigliato Obbligatorio se la retrocessione della cronologia è attivata |
||
CVR | Non obbligatorio |
Obbligatorio per il contesto della home page Non obbligatorio per il contesto generale |
Non obbligatorio |
È obbligatorio
specificare view-item o
media-play . |
Obbligatorio | ||
Durata della visualizzazione | Non obbligatorio |
Obbligatorio per il contesto della home page Non obbligatorio per il contesto generale |
Non obbligatorio |
È obbligatorio
specificare view-item o
media-play . |
Obbligatorio | ||
Tipo di modello Altri che ti potrebbero piacere, per obiettivo | |||||||
CTR | Non obbligatorio |
Non obbligatorio |
Non obbligatorio |
È obbligatorio
specificare view-item o
media-play . |
Fortemente consigliato Obbligatorio se la retrocessione della cronologia è attivata |
||
CVR | Non obbligatorio |
Non obbligatorio |
Non obbligatorio |
È obbligatorio
specificare view-item o
media-play . |
Obbligatorio | ||
Durata della visualizzazione | Non obbligatorio |
Non obbligatorio |
Non obbligatorio |
È obbligatorio
specificare view-item o
media-play . |
Obbligatorio | ||
Tipo di modello Più simili, per obiettivo | |||||||
CTR | Non obbligatorio |
Non obbligatorio |
Non obbligatorio |
È obbligatorio
specificare view-item o
media-play . |
Obbligatorio se la retrocessione della cronologia è attiva | ||
CVR | Non obbligatorio |
Non obbligatorio |
Non obbligatorio |
È obbligatorio
specificare view-item o
media-play . |
Obbligatorio | ||
Durata della visualizzazione | Non obbligatorio |
Non obbligatorio |
Non obbligatorio |
È obbligatorio
specificare view-item o
media-play . |
Obbligatorio | ||
Tipo di modello più popolare, per obiettivo | |||||||
CTR | Non obbligatorio |
Non obbligatorio |
Non obbligatorio |
È obbligatorio specificare
view-item o media-play . |
Non obbligatorio |
||
CVR | Non obbligatorio |
Non obbligatorio |
Non obbligatorio |
Non obbligatorio |
Non obbligatorio |
Obbligatorio |
Requisiti per gli eventi utente multimediali
Assicurati che gli eventi utente soddisfino i seguenti requisiti in modo che le tue app multimediali possano generare risultati di qualità.
Tipo di evento | Requisito | Impatto |
---|---|---|
Tutti gli eventi |
Non includere dati sintetici o eventi duplicati. |
Gli eventi sintetici o duplicati influiscono negativamente sulla qualità dei risultati e possono impedirti di eseguire il deployment dell'app. Gli eventi duplicati possono causare valori delle metriche errati. |
Includi almeno 100 pseudo ID utente unici per ogni tipo di evento inserito. |
In questo modo, le app per suggerimenti sui contenuti multimediali avranno dati sufficienti per generare risultati di qualità. |
|
Gli pseudo ID utente devono essere formattati esattamente nello stesso modo nell'importazione degli eventi o nella registrazione degli eventi e nelle richieste di suggerimenti sui contenuti multimediali. |
L'utilizzo di un formato coerente per gli ID pseudo degli utenti aiuta le app di consigli sui contenuti multimediali a identificare correttamente i pattern dei visitatori e a fornire risultati di qualità migliore in base al comportamento degli utenti. |
|
Il campo |
Un evento che include un documento senza un campo |
|
I documenti inclusi negli eventi devono esistere nel datastore. |
Il rapporto tra gli eventi non uniti deve essere mantenuto il più basso possibile. Un rapporto elevato può influire negativamente sulla qualità dei risultati. |
|
Alcuni eventi utente devono avere lo stesso pseudo ID utente. |
Per creare cronologie valide delle sequenze di comportamenti, le app di suggerimenti sui contenuti multimediali devono essere in grado di visualizzare più eventi con lo stesso ID pseudo utente.
Ad esempio, |
|
view-item |
Includi esattamente un documento per evento. |
L'evento non può essere utilizzato se non esiste alcun documento. Se sono inclusi più documenti, l'evento è malformato e non può essere utilizzato. |
search |
Includi il |
|
media-play |
Includi esattamente un documento per evento. |
Se sono inclusi più documenti, l'evento è malformato e non può essere utilizzato. |
Tag evento utente per i test A/B
Se esegui test A/B, assicurati di aggiungere gli ID tag a tutti gli eventi utente che raccogli, aggiungendo un tag per ogni gruppo di test.
Ad esempio, aggiungi il tag "tagIds": ["original"]
agli eventi utente del tuo modello attuale e il tag "tagIds": ["google"]
agli eventi utente di Vertex AI Search per i contenuti multimediali.
Esempi e schemi di tipi di eventi utente
Questa sezione fornisce i formati dei dati per ogni tipo di evento supportato dai consigli sui contenuti multimediali. Vengono forniti esempi per il pixel JavaScript. Per BigQuery, viene fornito lo schema completo della tabella per ogni tipo.
Per tutti i tipi di eventi utente, userId
è facoltativo.
Per ulteriori dettagli sull'oggetto evento utente, consulta la
documentazione di riferimento dell'API UserEvent
.
view-category-page
Di seguito viene mostrato il formato dell'evento utente view-category-page
.
Oggetto view-category-page minimo richiesto
Gli esempi riportati di seguito mostrano solo i campi obbligatori del formato dell'evento utente view-category-page
.
Anche se di solito a una pagina è associata una sola categoria, il campo
pageCategories
supporta anche una gerarchia di categorie, che puoi fornire
come elenco.
Pixel JavaScript
var user_event = { "eventType": "view-category-page", "userPseudoId": "user-pseudo-id", "eventTime": "2020-01-01T03:33:33.000001Z", "pageInfo": { "pageCategory": "category1 > category2" } };
BigQuery
Questo è lo schema JSON completo per questo tipo di evento utente. Specifica questo schema quando crei tabelle per questo tipo di evento utente in BigQuery.
Le modalità per i campi obbligatori sono impostate su REQUIRED
o REPEATED
. Le modalità per
i campi facoltativi sono impostate su NULLABLE
.
Tieni presente che eventTime
è necessario per importare eventi con
BigQuery. eventTime
è una stringa con un formato timestamp.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "userPseudoId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "userInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "userId", "type": "STRING", "mode": "NULLABLE" }, { "name": "userAgent", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "pageInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "pageviewId", "type": "STRING", "mode": "NULLABLE" }, { "name": "pageCategory", "type": "STRING", "mode": "NULLABLE" }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "referrerUri", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "documents", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "id", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "tagIds", "type": "STRING", "mode": "REPEATED" }, { "name": "attributes", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "example_text_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "text", "type": "STRING", "mode": "REPEATED" } ] }, { "name": "example_number_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "numbers", "type": "NUMERIC", "mode": "REPEATED" } ] } ] } ]
view-item
Di seguito è riportato il formato dei dati sugli eventi utente view-item
.
Oggetto visualizzazione articolo minimo richiesto
Gli esempi riportati di seguito mostrano solo i campi obbligatori del formato dell'evento utente view-item
.
Nella maggior parte dei casi, documents
contiene i dettagli del documento associato.
Pixel JavaScript
var user_event = { "eventType": "view-item", "userPseudoId": "user-pseudo-id", "eventTime": "2020-01-01T03:33:33.000001Z", "documents": [{ "id": "document-id" }] };
BigQuery
Questo è lo schema JSON completo per questo tipo di evento utente. Specifica questo schema quando crei tabelle per questo tipo di evento utente in BigQuery.
Le modalità per i campi obbligatori sono impostate su REQUIRED
o REPEATED
. Le modalità per
i campi facoltativi sono impostate su NULLABLE
.
Tieni presente che eventTime
è necessario per importare eventi con
BigQuery. eventTime
è una stringa con un formato timestamp.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "userPseudoId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "userInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "userId", "type": "STRING", "mode": "NULLABLE" }, { "name": "userAgent", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "pageInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "pageviewId", "type": "STRING", "mode": "NULLABLE" }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "referrerUri", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "documents", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "id", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "tagIds", "type": "STRING", "mode": "REPEATED" }, { "name": "attributes", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "example_text_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "text", "type": "STRING", "mode": "REPEATED" } ] }, { "name": "example_number_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "numbers", "type": "NUMERIC", "mode": "REPEATED" } ] } ] } ]
view-home-page
Di seguito viene mostrato il formato dell'evento utente view-home-page
.
Oggetto Visualizza home page minimo richiesto
Gli esempi riportati di seguito mostrano solo i campi obbligatori del formato dell'evento utente view-home-page
.
Pixel JavaScript
var user_event = { "eventType": "view-home-page", "userPseudoId": "user-pseudo-id", "eventTime": "2020-01-01T03:33:33.000001Z", };
BigQuery
Questo è lo schema JSON completo per questo tipo di evento utente. Specifica questo schema quando crei tabelle per questo tipo di evento utente in BigQuery.
Le modalità per i campi obbligatori sono impostate su REQUIRED
o REPEATED
. Le modalità per
i campi facoltativi sono impostate su NULLABLE
.
Tieni presente che eventTime
è necessario per importare eventi con
BigQuery. eventTime
è una stringa con un formato timestamp.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "userPseudoId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "userInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "userId", "type": "STRING", "mode": "NULLABLE" }, { "name": "userAgent", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "pageInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "pageviewId", "type": "STRING", "mode": "NULLABLE" }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "referrerUri", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "documents", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "id", "type": "STRING", "mode": "NULLABLE" }, { "name": "quantity", "type": "INT64", "mode": "NULLABLE" } ] }, { "name": "tagIds", "type": "STRING", "mode": "REPEATED" }, { "name": "attributes", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "example_text_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "text", "type": "STRING", "mode": "REPEATED" } ] }, { "name": "example_number_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "numbers", "type": "NUMERIC", "mode": "REPEATED" } ] } ] } ]
search
Di seguito viene mostrato il formato dell'evento utente search
.
Oggetto di ricerca minimo richiesto
Gli esempi seguenti mostrano solo i campi obbligatori del formato dell'evento utente search
.
searchQuery
per gli eventi di ricerca in cui l'utente ha inserito una query di testo.
Il attributionToken
viene restituito con i risultati della query di ricerca.
documents
deve includere l'elenco degli ID documento mostrati all'utente finale nella
pagina dei risultati di ricerca.
Pixel JavaScript
var user_event = { eventType: "search", userPseudoId: "user-pseudo-id", eventTime: "2020-01-01T03:33:33.000001Z", searchInfo: { searchQuery: "search-query", }, attributionToken: "attribution-token", documents: [ { id: "document-id1", }, { id: "document-id2", }, ] };
BigQuery
Questo è lo schema JSON completo per questo tipo di evento utente. Specifica questo schema quando crei tabelle per questo tipo di evento utente in BigQuery.
Le modalità per i campi obbligatori sono impostate su REQUIRED
o REPEATED
. Le modalità per
i campi facoltativi sono impostate su NULLABLE
.
Tieni presente che eventTime
è necessario per importare eventi con
BigQuery. eventTime
è una stringa con un formato timestamp.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "userPseudoId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "searchInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "searchQuery", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "pageInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "pageCategory", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "documents", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "id", "type": "STRING", "mode": "NULLABLE" } ] } ]
media-play
Di seguito viene mostrato il formato dell'evento utente media-play
.
Oggetto di riproduzione multimediale minimo richiesto
I seguenti esempi mostrano solo i campi obbligatori del formato dell'evento utente media-play
.
Pixel JavaScript
var user_event = { "eventType": "media-play", "userPseudoId": "user-pseudo-id", "eventTime": "2020-01-01T03:33:33.000001Z", "documents": [ { "id": "document-id1" } ] };
BigQuery
Questo è lo schema JSON completo per questo tipo di evento utente. Specifica questo schema quando crei tabelle per questo tipo di evento utente in BigQuery.
Le modalità per i campi obbligatori sono impostate su REQUIRED
o REPEATED
. Le modalità per
i campi facoltativi sono impostate su NULLABLE
.
Tieni presente che eventTime
è necessario per importare eventi con
BigQuery. eventTime
è una stringa con un formato timestamp.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "userPseudoId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "userInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "userId", "type": "STRING", "mode": "NULLABLE" }, { "name": "userAgent", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "pageInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "pageviewId", "type": "STRING", "mode": "NULLABLE" }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "referrerUri", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "documents", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "id", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "tagIds", "type": "STRING", "mode": "REPEATED" }, { "name": "attributes", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "example_text_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "text", "type": "STRING", "mode": "REPEATED" } ] }, { "name": "example_number_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "numbers", "type": "NUMERIC", "mode": "REPEATED" } ] } ] } ]
media-complete
Di seguito viene mostrato il formato dell'evento utente media-complete
.
Oggetto minimo richiesto con completamento dei contenuti multimediali
Gli esempi riportati di seguito mostrano solo i campi obbligatori del formato dell'evento utente media-complete
.
Pixel JavaScript
var user_event = { "eventType": "media-complete", "userPseudoId": "user-pseudo-id", "eventTime": "2020-01-01T03:33:33.000001Z", "documents": [ { "id": "document-id1" } ], "mediaInfo": { "mediaProgressDuration": "65s", "mediaProgressPercentage": 0.2 } };
BigQuery
Questo è lo schema JSON completo per questo tipo di evento utente. Specifica questo schema quando crei tabelle per questo tipo di evento utente in BigQuery.
Le modalità per i campi obbligatori sono impostate su REQUIRED
o REPEATED
. Le modalità per
i campi facoltativi sono impostate su NULLABLE
.
Tieni presente che eventTime
è necessario per importare eventi con
BigQuery. eventTime
è una stringa con un formato timestamp.
[ { "name": "eventType", "type": "STRING", "mode": "REQUIRED" }, { "name": "userPseudoId", "type": "STRING", "mode": "REQUIRED" }, { "name": "eventTime", "type": "STRING", "mode": "REQUIRED" }, { "name": "userInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "userId", "type": "STRING", "mode": "NULLABLE" }, { "name": "userAgent", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "pageInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "pageviewId", "type": "STRING", "mode": "NULLABLE" }, { "name": "uri", "type": "STRING", "mode": "NULLABLE" }, { "name": "referrerUri", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "attributionToken", "type": "STRING", "mode": "NULLABLE" }, { "name": "documents", "type": "RECORD", "mode": "REPEATED", "fields": [ { "name": "id", "type": "STRING", "mode": "NULLABLE" } ] }, { "name": "tagIds", "type": "STRING", "mode": "REPEATED" }, { "name": "attributes", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "example_text_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "text", "type": "STRING", "mode": "REPEATED" } ] }, { "name": "example_number_attribute", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "numbers", "type": "NUMERIC", "mode": "REPEATED" } ] } ] }, { "name": "mediaInfo", "type": "RECORD", "mode": "NULLABLE", "fields": [ { "name": "mediaProgressDuration", "type": "STRING", "mode": "NULLABLE" }, { "name": "mediaProgressPercentage", "type": "NUMERIC", "mode": "NULLABLE" } ] } ]
Attributi personalizzati
Puoi includere attributi e funzionalità personalizzati aggiuntivi per gli eventi utente. Ciò
può portare a risultati migliori e più specifici per i tuoi utenti.
Per aggiungere attributi personalizzati, utilizza attributes
quando
registri un evento utente.
Se fornisci attributi personalizzati per gli eventi utente importati, è importante includerli anche negli eventi utente che associ alle richieste di suggerimenti e di ricerca. La formattazione degli attributi personalizzati deve essere coerente tra gli eventi importati e quelli forniti con le richieste. In questo modo, le app multimediali possono utilizzare questi attributi personalizzati per migliorare la qualità.
Puoi fornire valori di testo personalizzati utilizzando il campo text
o valori numerici personalizzati utilizzando il campo numbers
.
Ad esempio, di seguito è riportata la sezione attributes
di una richiesta
per registrare un evento utente:
attributes: { user_age: {text: ["teen", "young adult"]}, user_location: {text: ["CA"]}, user_zip: {numbers: [90210]} }
Informazioni sull'utente
userPseudoId
rappresenta l'identificatore utente unico ed è obbligatorio quando
registri un evento utente.
Le informazioni utente (UserInfo
) incluse quando registri un evento utente
contengono il valore userPseudoId
e, se disponibile, il valore userId
.
userId
è facoltativo e può essere utilizzato come identificatore univoco e permanente per un utente su più dispositivi ogni volta che un utente accede al tuo sito. Quando registri l'userId
per un utente, le app di ricerca e consigli multimediali possono generare risultati più personalizzati per un utente su più dispositivi, ad esempio sia un dispositivo mobile che un browser web.
Informazioni sul timestamp
Quando registri un evento utente, assicurati di includere un timestamp accurato del momento in cui
si è verificato l'evento. Timestamp accurati assicurano che gli eventi vengano memorizzati
nell'ordine corretto. I timestamp vengono registrati automaticamente per gli eventi raccolti
utilizzando il pixel JavaScript. Quando importi gli eventi, devi fornire il timestamp nel campo eventTime
nel formato specificato da RFC
3339.
Passaggi successivi
- Scopri come registrare gli eventi utente.