Dimensões e métricas personalizadas – SDK para iOS

Este guia do desenvolvedor descreve como implementar dimensões e métricas personalizadas usando o SDK do Google Analytics para iOS v2.

Visão geral

Quando você define um valor de dimensão ou métrica personalizada usando o SDK do Google Analytics para iOS, esse valor é enviado como um parâmetro com o próximo hit enviado. Esses valores podem ser aplicados a qualquer tipo de hit do Google Analytics, incluindo exibições de tela, eventos, transações de comércio eletrônico, velocidade do usuário e interações sociais.

Há duas etapas principais para implementar uma dimensão ou métrica personalizada:

  1. Defina a dimensão ou métrica personalizada usando a interface da Web do Google Analytics.
    Defina o índice, o nome e o escopo da dimensão ou métrica personalizada na seção de configurações da propriedade na interface da Web.
    Saiba como definir uma dimensão ou métrica personalizada.
  2. Implemente o código para definir e coletar valores de dimensões e métricas personalizadas.
    Adicione o código ao seu aplicativo para definir valores de dimensões ou métricas personalizadas para seus hits do Google Analytics com os índices definidos na etapa anterior.

O restante deste artigo descreve como implementar o código para definir e enviar valores de dimensões ou métricas personalizadas ao Google Analytics.

Dimensões personalizadas

Os valores das dimensões personalizadas podem ser definidos em todos os tipos de hit do Google Analytics. Defina um valor de dimensão personalizada antes da chamada de envio a que você quer aplicar o valor.

O escopo definido da dimensão personalizada determina no momento do processamento quais hits adicionais podem ser associados a esse valor.

Estes campos são obrigatórios para definir um valor de dimensão personalizada:

  • NSNumber Índice: o índice da definição da dimensão personalizada. Esse índice tem base 1.
  • NSString Valor: o valor da dimensão personalizada.

Como configurar o valor de uma dimensão personalizada

Para definir um valor de dimensão personalizada, chame setCustom:dimension: antes da chamada de envio a que você quer associar o valor:

// Get the tracker object.
id tracker = [[GAI sharedInstance].defaultTracker;

// Set the dimension value for index 1.
[tracker setCustom:1
         dimension:@"myValue"];

// Dimension value is associated and sent with this hit.
[tracker sendView:screenName];

Considerações sobre a implementação

Esta seção descreve considerações adicionais que você deve ter em mente ao implementar uma dimensão personalizada.

Escopos no nível do usuário e da sessão são "Greedy"

Os valores de dimensões personalizadas com escopo no nível do usuário ou da sessão se aplicam a todos os hits na sessão atual, incluindo os anteriores. Se você não quiser que um valor de dimensão personalizada com escopo no nível da sessão ou do usuário seja aplicado a hits anteriores na sessão atual, inicie uma nova sessão antes de aplicar o valor a um hit.

Por exemplo, se você estiver usando o tipo de associação como uma dimensão personalizada no nível do usuário e um usuário fizer upgrade da associação dele no meio de uma sessão, convém iniciar uma nova sessão antes de definir o novo valor da dimensão. Isso garante que os hits anteriores ao upgrade sejam associados ao valor da associação antiga, enquanto os hits novos, ao novo valor.

Filtros de dimensões personalizadas e da vista da propriedade (perfil)

Os valores da dimensão personalizada no nível do usuário ou da sessão ainda serão aplicados a todos os hits nas sessões atuais e/ou futuras, mesmo que o hit usado no envio seja filtrado de uma vista da propriedade (perfil).

Ao filtrar um valor de dimensão personalizada, os hits são filtrados de acordo com o escopo do valor dessa dimensão personalizada.

Saiba mais sobre como os filtros e os valores de dimensões personalizadas interagem quando seus dados são processados.

Definição de valores com a avaliação automática de telas

Para aplicar um valor de dimensão personalizada a uma exibição de tela enviada por uma medição automática de telas, defina o valor durante o método viewDidAppear: do controlador de visualizações. Por exemplo, o arquivo .m do controlador de visualização pode ter esta aparência:

#import "myViewController.h"
#import "GAI.h"

@implementation myViewController

-(void)viewDidAppear
{
    id tracker = [[GAI sharedInstance].defaultTracker;  // Get the tracker object.
    [tracker setCustom:1
             dimension:@"myValue"];  // Set the custom dimension value.
    [super viewDidAppear:animated]   // Custom dimension value will be sent with the screen view.

}

// The remainder of the implementation is omitted.

Não envie informações de identificação pessoal (PII, na sigla em inglês) como valores

Os Termos de Serviço do Google Analytics proíbem o envio de informações de identificação pessoal (PII) aos servidores do Google Analytics. Para mais informações, consulte os Termos de Serviço.

Métricas personalizadas

Embora as dimensões personalizadas precisem ser aplicadas com cuidado a hits específicos e gerenciadas com escopo, o hit ao qual uma métrica personalizada é aplicada geralmente não afeta os relatórios. Assim, elas podem ser definidas sempre que o valor da métrica se torna conhecido.

Esses campos são obrigatórios para definir um valor de métrica personalizada:

  • NSInteger Índice: o índice da definição da métrica personalizada.
  • NSNumber Valor: o valor da métrica personalizada. Os valores podem ser negativos.

Como configurar um valor de métrica personalizada

Para definir um valor de métrica personalizada, chame setCustom:metric: antes de outra chamada de envio:

// Get the tracker object.
id tracker = [GAI sharedInstance].defaultTracker;

// Increment the metric at index 1.
[tracker setCustom:1
            metric:[NSNumber numberWithLongLong:1]];

// Metric value sent with this hit.
[tracker sendView:screenName];

Ou para definir uma métrica de moeda personalizada:

// Get the tracker.
id tracker = [GAI sharedInstance].defaultTracker;

// Create a dictionary for hit params.
NSDictionary *params = [[NSDictionary alloc] initWithObjectsAndKeys:
    @"Product Page", @"&cd",
   // Set currency value to custom metric slot 1.
   // Currency values may be fixed decimal.
    @"24.99", @"&cm1", nil];

// Send the custom metric value with a screen view.
[tracker send:@"appview"
       params:params];

Considerações sobre a implementação

A seção a seguir descreve considerações adicionais que você deve ter em mente ao planejar uma implementação de dimensão ou métrica personalizada.

Os valores de métricas personalizadas são agregados em relatórios

Os valores das métricas personalizadas são agregados em relatórios, assim como outras métricas predefinidas no Google Analytics. Como resultado, você definiria um valor de métrica personalizada de 1 para incrementar o total agregado da métrica nos relatórios.

Métricas personalizadas e filtros da vista da propriedade (perfil)

Embora os valores das métricas personalizadas geralmente possam ser definidos sempre que for conveniente, evite definir valores de métricas personalizadas em hits que provavelmente serão filtrados das suas vistas da propriedade (perfis). Se um hit for filtrado por um filtro de vista da propriedade (perfil), todos os valores de métricas personalizadas associadas também serão filtrados. Saiba mais sobre dimensões e métricas personalizadas e filtros da vista (perfil).