Tag Universal Analytics

Per attivare le modifiche in fase di esecuzione all'implementazione di Google Analytics che non richiedono di ricreare e inviare nuovamente il programma binario dell'app ai marketplace, implementa Universal Analytics (UA) nella tua app con Google Tag Manager (GTM).

Questa guida mostra come utilizzare i tag Universal Analytics e l'SDK di Google Tag Manager per iOS per:

Invia visualizzazioni di schermata

Per inviare a Google Analytics una visualizzazione di schermata ogni volta che viene aperta una nuova schermata nella tua app:

  1. Crea una variabile del nome schermata.
  2. Crea un attivatore di evento schermo aperto.
  3. Crea un tag di visualizzazione di schermata di Universal Analytics.
  4. Esegui il push dell'evento della schermata aperta e del nome della schermata al livello dati.

1. Creare una variabile del nome schermata

Per creare una variabile del nome schermata in GTM:

  1. Accedi all'account Google Tag Manager.
  2. Seleziona un contenitore per dispositivi mobili.
  3. Nella barra di navigazione a sinistra, fai clic su Variabili.
  4. In Variabili definite dall'utente, fai clic su Nuova.
  5. Fai clic su Variabile senza titolo per inserire il nome della variabile nome schermata.
  6. Scegli Variabile di livello dati come tipo di variabile.
  7. Inserisci screenName come Nome variabile del livello dati e imposta il valore predefinito schermata sconosciuta.
  8. Fai clic su Crea variabile.

2. Crea un attivatore di eventi di schermata aperta

Per creare un attivatore in GTM per attivare il tag visualizzazione di schermata di Universal Analytics:

  1. Accedi all'account Google Tag Manager.
  2. Seleziona un contenitore per dispositivi mobili.
  3. Nella barra di navigazione a sinistra, fai clic su Attivatori.
  4. Fai clic su Nuova.
  5. Fai clic su Trigger senza titolo per inserire il nome dell'attivatore OpenScreenEvent.
  6. Scegli Evento Personalizzato.
  7. In Attiva su, inserisci la seguente condizione:

    Un attivatore che viene attivato quando l'evento è uguale a openScreen

  8. Fai clic su Crea attivatore.

3. Creare un tag di visualizzazione di schermata di Universal Analytics

Per creare un tag di visualizzazione di schermata di Universal Analytics attivato dall'evento schermata aperta:

  1. Accedi all'account Google Tag Manager.
  2. Seleziona un contenitore per dispositivi mobili.
  3. Nella barra di navigazione a sinistra, fai clic su Tag.
  4. Fai clic su Nuova.
  5. Fai clic su Tag senza titolo per inserire il nome del tag Apri schermo.
  6. Scegli il prodotto Google Analytics.
  7. Inserisci l'ID monitoraggio.
  8. Seleziona Vista app come Tipo di monitoraggio.
  9. Fai clic su Altre impostazioni.
  10. Fai clic su Campi da impostare.
  11. Fai clic ripetutamente su + Aggiungi campo per aggiungere i seguenti campi:

    aggiungi questi campi: nome app, versione app e nome schermata

  12. Fai clic su Continua.
  13. In Attiva su, fai clic su Personalizzato.
  14. Seleziona l'attivatore personalizzato OpenScreenEvent.
  15. Fai clic su Salva.
  16. Fai clic su Crea tag.

4. Invia l'evento e il nome della schermata aperti al livello dati

Aggiungi codice alla tua app per eseguire il push di un evento openScreen e un valore screenName al livello dati, ad esempio:

//  ViewController.m
//  Push an 'openScreen' event to the data layer.
//
#import "ViewController.h"
#import "TAGDataLayer.h"
#import "TAGManager.h"

@implementation ViewController

- (void)viewDidAppear {
    [super viewDidAppear];

    // NOTE: A GTM container should already have been opened, otherwise events
    //     pushed to the DataLayer will not fire tags in that container.
    TAGDataLayer *dataLayer = [TAGManager instance].dataLayer;

    [dataLayer push:@{@"event": @"openScreen",          // Event, name of Open Screen Event.
                      @"screenName": @"Home Screen"}];  // Name of the screen name field, screen name value.
}

// Rest of the ViewController implementation

@end

Invia eventi

Per inviare un evento a Google Analytics quando un utente interagisce con i controlli UI o i contenuti della tua app:

  1. (Facoltativo) Crea variabili evento.
  2. Crea un attivatore di evento.
  3. Crea un tag evento Universal Analytics.
  4. Esegui il push del valore delle variabili evento e dell'evento al livello dati.

I passaggi seguenti mostrano come un evento viene inviato a Google Analytics quando un utente avvia la riproduzione di un video.

1. (Facoltativo) Creare variabili evento

Se l'evento utilizza le variabili di livello dati per rappresentare i campi categoria, azione, etichetta o valore, devi prima creare queste variabili. In questo esempio, il tag evento di riproduzione video utilizza una variabile di livello dati per ottenere il nome del video.

Per creare una variabile per il nome del video in GTM:

  1. Accedi all'account Google Tag Manager.
  2. Seleziona un contenitore per dispositivi mobili.
  3. Nella barra di navigazione a sinistra, fai clic su Variabili.
  4. In Variabili definite dall'utente, fai clic su Nuova.
  5. Fai clic su Variabile senza titolo per inserire il nome della variabile video name.
  6. Scegli Variabile di livello dati come tipo di variabile.
  7. Inserisci videoName come Nome variabile livello dati e imposta il valore predefinito su video sconosciuto.
  8. Fai clic su Crea variabile.

2. Crea un attivatore di evento

Per creare un attivatore di evento in GTM che attivi il tag evento Universal Analytics:

  1. Accedi all'account Google Tag Manager.
  2. Seleziona un contenitore per dispositivi mobili.
  3. Nella barra di navigazione a sinistra, fai clic su Attivatori.
  4. Fai clic su Nuova.
  5. Fai clic su Attivatore senza titolo per inserire il nome dell'attivatore VideoPlayEvent.
  6. Scegli Evento Personalizzato.
  7. In Attiva su, inserisci la seguente condizione:

    Un attivatore che viene attivato quando l'evento equivale a videoPlay.

  8. Fai clic su Crea attivatore.

3. Creare un tag evento Universal Analytics

Per creare un tag evento Universal Analytics attivato dall'evento di riproduzione video:

  1. Accedi all'account Google Tag Manager.
  2. Seleziona un contenitore per dispositivi mobili.
  3. Nella barra di navigazione a sinistra, fai clic su Tag.
  4. Fai clic su Nuova.
  5. Fai clic su Tag senza titolo per inserire il nome del tag Evento riproduzione video.
  6. Scegli il prodotto Google Analytics.
  7. Inserisci l'ID monitoraggio.
  8. Seleziona Evento come Tipo di monitoraggio.
  9. Inserisci i seguenti parametri di monitoraggio degli eventi:

    inserisci questi parametri di monitoraggio: Categoria: video, Azione: riproduzione ed Etichetta: video

  10. Fai clic su Altre impostazioni.
  11. Fai clic su Campi da impostare.
  12. Fai clic ripetutamente su + Aggiungi campo per aggiungere i seguenti campi:

    aggiungi questi campi: nome app, versione app e nome schermata

  13. Fai clic su Continua.
  14. In Attiva su, fai clic su Personalizzato.
  15. Seleziona l'attivatore personalizzato VideoPlayEvent.
  16. Fai clic su Salva.
  17. Fai clic su Crea tag.

4. Esegui il push del valore dell'evento e della variabile evento al livello dati

Scrivi il codice per eseguire il push di un evento videoPlay e un valore videoName al livello dati, ad esempio:

//  VideoPlayer.m
//  Push a 'videoPlay' event to the data layer.
//
#import "TAGDataLayer.h"
#import "TAGManager.h"
#import "Video.h"
#import "VideoPlayer.h"

@implementation VideoPlayer
// Called when a user initiates a video playback.
- (void)onPlay:(Video *)video {

    TAGDataLayer *dataLayer = [TAGManager instance].dataLayer;

    // This call assumes the container has already been opened, otherwise events
    // pushed to the DataLayer will not fire tags in that container.
    [dataLayer push:@{@"event": @"videoPlay",          // Event, name of Video Play Event.
                      @"videoName": video.title,       // Additional data layer variables used by the event tag.
                      @"screenName": @"Home Screen"}];

    [self play:video];
}

// Rest of the implementation
@end


Inviare transazioni e-commerce

Quando un utente completa un acquisto in-app, per inviare la transazione e gli articoli associati a Google Analytics:

  1. Crea un attivatore Transazione.
  2. Crea un tag transazioni Universal Analytics.
  3. Esegui il push di eventi, transazioni ed elementi di transazione al livello dati.

Per l'elenco dei nomi supportati per le variabili degli articoli e delle transazioni, consulta Variabili del livello dati di e-commerce supportate.

1. Crea un attivatore Transazione

Per creare l'attivatore Transazione in GTM per attivare il tag transazioni Universal Analytics:

  1. Accedi all'account Google Tag Manager.
  2. Seleziona un contenitore per dispositivi mobili.
  3. Nella barra di navigazione a sinistra, fai clic su Attivatori.
  4. Fai clic su Nuova.
  5. Fai clic su Attivatore senza titolo per inserire il nome dell'attivatore TransactionComplete.
  6. Scegli Evento Personalizzato.
  7. In Attiva su, inserisci la seguente condizione:

    Un attivatore che viene attivato quando l'evento equivale a transazione.

  8. Fai clic su Crea attivatore.

2. Creare un tag transazione di Universal Analytics

Per creare un tag transazione di Universal Analytics attivato dall'evento di transazione:

  1. Accedi all'account Google Tag Manager.
  2. Seleziona un contenitore per dispositivi mobili.
  3. Nella barra di navigazione a sinistra, fai clic su Tag.
  4. Fai clic su Nuova.
  5. Fai clic su Tag senza titolo per inserire il nome del tag Transazione completata.
  6. Scegli il prodotto Google Analytics.
  7. Inserisci l'ID monitoraggio.
  8. Seleziona Transazione come Tipo di monitoraggio.
  9. Fai clic su Altre impostazioni.
  10. Fai clic su Campi da impostare.
  11. Fai clic ripetutamente su + Aggiungi campo per aggiungere i seguenti campi:

    aggiungi questi campi: nome app, versione app e nome schermata

  12. Fai clic su Continua.
  13. In Attiva su, fai clic su Personalizzato.
  14. Seleziona l'attivatore personalizzato TransactionCompleted.
  15. Fai clic su Salva.
  16. Fai clic su Crea tag.

3. Esegui il push di eventi, transazioni ed elementi al livello dati

Scrivi il codice per eseguire il push dell'evento di transazione, della transazione e degli elementi associati al livello dati. Devi utilizzare i nomi di variabili degli articoli e transazioni supportati per inviare i dati sulle transazioni e sugli articoli al livello dati. Ad esempio:

// Called when a user completes a transaction.
- (void)onPurchaseCompleted:(Purchase *)purchase {

  TAGDataLayer *dataLayer = [TAGManager instance].dataLayer;

  // An array to store dictionaries of item data.
  NSMutableArray *purchasedItems = [NSMutableArray array];

  // Push item data into dictionaries and store in the purchasedItems array.
  // Note that item.price and item.quantity must be of type NSString.
  for (id item in purchase.items) {
    [purchasedItems addObject:@{@"name": item.name,
                                @"sku": item.sku,
                                @"category": item.category,
                                @"price": item.price,
                                @"currency": @"USD",
                                @"quantity": item.quantity}];
  }

  // This call assumes the container has already been opened, otherwise events
  // pushed to the DataLayer will not fire tags in that container.
  // Note that purchase.tax, purchase.shipping, and purchase.total must be of type NSString.
  [dataLayer push:@{@"event": @"transaction",                  // Event, name of Transaction Event.
                    @"transactionId": purchase.transactionId,  // Additional fields required by the tag.
                    @"transactionTotal": purchase.total,
                    @"transactionAffiliation": @"In-app Store",
                    @"transactionTax": purchase.tax,
                    @"transactionShipping": purchase.shipping,
                    @"transactionCurrency": @"USD",
                    @"transactionProducts": purchasedItems}];

  // Since the data layer is persistent, you should reset fields to [NSNull null] after
  // you are done pushing the transaction.
  [dataLayer push:@{@"transactionId": [NSNull null],
                    @"transactionTotal": [NSNull null],
                    @"transactionAffiliation": [NSNull null],
                    @"transactionTax": [NSNull null],
                    @"transactionShipping": [NSNull null],
                    @"transactionCurrency": [NSNull null],
                    @"transactionProducts": [NSNull null]}];
}