Correspondência de dados fornecidos pelo usuário

Visão geral

A UPDM (correspondência de dados fornecidos pelo usuário) mescla dados próprios que você coletou sobre um usuário, como informações de sites, apps ou lojas físicas, com a atividade de login do mesmo usuário nos dados de anúncios do Google, exceto no Google Marketing Platform. Para se qualificar para a correspondência de dados fornecidos pelo usuário, o evento de anúncio precisa ser vinculado a um usuário conectado nos dados de anúncios do Google.

A correspondência de dados fornecidos pelo usuário oferece algumas vantagens exclusivas em relação a outras formas de correspondência de clientes. Correspondência de dados fornecidos pelo usuário:

  • é mais resistente a mudanças do setor do que os dados de terceiros;
  • Não é afetada pela descontinuação dos cookies de terceiros porque as correspondências de dados fornecidos pelo usuário só estão disponíveis no inventário pertencente e operado pelo Google para usuários conectados.
  • Oferecer experiências mais relevantes aos clientes, o que geralmente resulta em um maior engajamento
  • Oferece insights mais avançados sobre os clientes

Resumo do processo

Depois de ativar a correspondência de dados fornecidos pelo usuário na sua conta, há duas etapas para o uso contínuo do recurso:

  1. ingestão de dados próprios no Ads Data Hub
    • Você formata e faz upload dos dados próprios para o conjunto de dados do BigQuery. É possível usar qualquer conjunto de dados do BigQuery, exceto seu projeto de administrador.
    • Inicie uma solicitação de correspondência de dados ao criar uma conexão e importar uma programação.
    • O Google mescla dados entre seu projeto e dados de propriedade do Google que contêm o ID de usuário do Google e dados com hash fornecidos pelo usuário para criar e atualizar tabelas *_match.
  2. Consultas em andamento no Ads Data Hub com base nos dados correspondentes
    • Você executa consultas nas tabelas *_match da mesma forma que executa consultas regulares no Ads Data Hub.

Projetos de origem de dados e de destino

O Connections exige que você use dois projetos diferentes do Google Cloud: um projeto de origem de dados e um projeto de destino.

  • Origem de dados: este projeto contém dados de publicidade proprietários no formato bruto.
  • Destino: é o conjunto de dados do BigQuery em que o Ads Data Hub faz a gravação. Por padrão, esse é seu projeto de administrador. Se quiser alterá-lo para outro projeto do Google Cloud, consulte Configurar contas de serviço.

Restrições de privacidade

Coleta de dados de clientes

Ao usar a correspondência de dados fornecidos pelo usuário, você precisa fazer o upload de dados próprios. Podem ser informações coletadas de sites, apps, lojas físicas ou de qualquer informação que um cliente tenha compartilhado diretamente com você.

Tamanho dos dados

Para proteger a privacidade do usuário final, a correspondência de dados fornecidos pelo usuário aplica estes requisitos em relação ao tamanho dos seus dados:

  • Você precisa fazer upload de pelo menos 1.000 registros na sua lista de usuários.
  • Cada atualização da tabela de correspondências precisa incluir um número mínimo de usuários recém-correspondidos. Esse comportamento é semelhante às verificações de diferença.
  • A lista não pode exceder o número máximo de registros. Para saber mais sobre o limite máximo de dados, entre em contato com seu representante do Google.

Ativar a guia "Conexões"

Antes de começar, configure sua conta do Ads Data Hub para ativar a guia Conexões, que é onde você vai estabelecer seu pipeline de correspondência de dados. Você só precisará executar essas etapas uma vez.

  1. Envie o representante do Google:
    1. O ID da conta do Ads Data Hub que você usará para a correspondência de dados fornecidos pelo usuário.
    2. O endereço de e-mail de superusuário que tem acesso ao projeto de Destino.
    3. Confirme com seu representante do Google se a conta e o superusuário são permitidos.
  2. Ative a API Ads Data Connector no projeto designado do Google Cloud. Por padrão, esse é seu projeto de administrador. Para usar um projeto diferente, siga estas etapas com o projeto alternativo do Google Cloud como o projeto de Fonte de dados. Essas etapas precisam ser realizadas enquanto o usuário estiver conectado à lista de permissões na lista de permissões.

    1. Acesse a biblioteca de APIs do Console do Cloud.
    2. Selecione o projeto de fonte de dados na lista.
    3. Pesquise "Ads Data Connector API". Se a API Ads Data Connector não aparecer nos resultados da pesquisa, ela pode indicar que a Conta do Google conectada não é o superusuário usado na lista de permissões.
    4. Na página da API, clique em ATIVAR.
    5. Confirme com o representante do Google se a API está ativada.
  3. O representante do Google enviará a você três endereços de e-mail, designados como contas de serviço do Datafusion, Dataproc e UPDM.

    Uma nova seção Conexões também será exibida na sua conta do Ads Data Hub, com guias chamadas Seus dados próprios e Correspondência de dados. Saiba mais sobre os casos de uso para cada guia.

  4. Conceda as permissões adequadas às contas de serviço. Para ver uma explicação das diferentes contas de serviço e as permissões necessárias, selecione a fonte de dados na tabela:

    BigQuery

    Conta de serviço do Datafusion
    Finalidade A conta de serviço do Datafusion é usada para exibir uma lista de campos de origem na IU do Ads Data Hub.
    Formatar service-some-number@gcp-sa-datafusion.iam.gserviceaccount.com
    Acesso necessário
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    para conjuntos de dados específicos nos projetos de Fonte de dados e Destino
    Storage Admin
    roles/storage.admin
    Para o projeto Origem de dados ou um bucket de armazenamento dedicado
    Conta de serviço do Dataproc
    Finalidade A conta de serviço do Dataproc é responsável por executar os pipelines de dados em segundo plano.
    Formatar some-number-compute@developer.gserviceaccount.com
    Acesso necessário
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    para conjuntos de dados específicos nos projetos de Fonte de dados e Destino
    BigQuery Data Editor
    roles/bigquery.dataEditor
    para conjuntos de dados específicos no projeto Destination
    BigQuery Job User
    roles/bigquery.jobUser
    para projetos de fonte de dados e destino
    Storage Admin
    roles/storage.admin
    para projetos de Origem de dados e Destino ou de um bucket de armazenamento dedicado
    Conta de serviço da UPDM
    Finalidade A conta de serviço da UPDM é usada para executar o job correspondente.
    Formatar service-some-number@gcp-sa-adsdataconnector.iam.gserviceaccount.com
    Acesso necessário
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    Para o projeto Destination
    BigQuery Job User
    roles/bigquery.jobUser
    Para o projeto Destination

    Cloud Storage

    Conta de serviço do Datafusion
    Finalidade A conta de serviço do Datafusion é usada para exibir uma lista de campos de origem na IU do Ads Data Hub.
    Formatar service-some-number@gcp-sa-datafusion.iam.gserviceaccount.com
    Acesso necessário
    Storage Object Viewer
    roles/storage.objectViewer
    para buckets de armazenamento específicos no projeto Fonte de dados
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    Para o projeto Origem de dados ou um bucket de armazenamento dedicado
    Storage Admin
    roles/storage.admin
    Para o projeto Origem de dados ou um bucket de armazenamento dedicado
    Conta de serviço do Dataproc
    Finalidade A conta de serviço do Dataproc é responsável por executar os pipelines de dados em segundo plano.
    Formatar some-number-compute@developer.gserviceaccount.com
    Acesso necessário
    Storage Admin
    roles/storage.admin
    para projetos de Origem de dados e Destino ou de um bucket de armazenamento dedicado
    BigQuery Job User
    roles/bigquery.jobUser
    Para o projeto Destination
    Conta de serviço da UPDM
    Finalidade A conta de serviço da UPDM é usada para executar o job correspondente.
    Formatar service-some-number@gcp-sa-adsdataconnector.iam.gserviceaccount.com
    Acesso necessário
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    Para o projeto Destination
    BigQuery Job User
    roles/bigquery.jobUser
    Para o projeto Destination

    Salesforce

    Em breve

Ingerir dados próprios

Formatar dados para entrada

Seus dados precisam atender a estes requisitos de formatação para que a correspondência seja correta:

  • Quando indicado, é necessário fazer upload usando o hash SHA256 codificado como uma string Base16. Embora a UPDM seja compatível com Base64, ela é diferente das diretrizes de Segmentação por lista de clientes do Google Ads.
  • Os campos de entrada precisam ser formatados como strings. Se você estiver usando a função de hash SHA256 do BigQuery e a função de codificação Base16 (TO_HEX), use a seguinte transformação: TO_HEX(SHA256(user_data)).

ID do usuário

  • Texto simples
  • Hash: nenhum

E-mail

  • Remover espaço em branco
  • Insira todos os caracteres em letras minúsculas.
  • Inclua o nome de domínio de todos os endereços de e-mail (por exemplo: gmail.com ou hotmail.com).
  • Remover acentos, por exemplo, mudar è, é, ê ou ë para e
  • Hash: SHA256 codificado em Base16

Válido: TO_HEX(SHA256("jeffersonloveshiking@gmail.com"))

Inválido:TO_HEX(SHA256("JéffersonLôvesHiking@gmail.com"))

Phone

  • Remover espaço em branco
  • Use o formato E.164, por exemplo, US +14155552671, UK +442071838750.
  • Inclua o código do país (incluindo os EUA)
  • Remova todos os caracteres especiais, exceto ""+" antes do código do país
  • Hash: SHA256 codificado em Base16

Válido: TO_HEX(SHA256("+18005550101"))

Inválido:TO_HEX(SHA256("(800) 555-0101"))

Nome

  • Remover espaço em branco
  • Insira todos os caracteres em letras minúsculas.
  • Remover todos os prefixos, como a Sra.
  • Don't remova acentos, por exemplo, è, é, ê ou ë
  • Hash: SHA256 codificado em Base16

Válido: TO_HEX(SHA256("daní"))

Inválido: TO_HEX(SHA256("Daní"))

Sobrenome

  • Remover espaço em branco
  • Insira todos os caracteres em letras minúsculas.
  • Remova todos os prefixos, como Jr.
  • Don't remova acentos, por exemplo, è, é, ê ou ë
  • Hash: SHA256 codificado em Base16

Válido: TO_HEX(SHA256("delacruz"))

Inválido: TO_HEX(SHA256("de la Cruz, Jr."))

País

  • Inclua o código do país mesmo que todos os dados dos seus clientes sejam do mesmo país.
  • Não criptografe os dados de país com hash
  • Use os códigos de país ISO 3166-1 alfa-2.
  • Hash: nenhum

Válido: US

Inválido: United States of America ou USA

CEP

  • Não gere hash dos dados de CEP
  • São permitidos CEPs e códigos postais dos EUA e internacionais.
  • Para os EUA:
    • São permitidos códigos de cinco dígitos. Por exemplo, 94043
    • Cinco dígitos seguidos por uma extensão de quatro dígitos também são permitidos. Por exemplo, 94043-1351 ou 940431351.
  • Para todos os outros países:
    • Nenhuma formatação necessária (sem necessidade de letras minúsculas ou remoção de espaços e caracteres especiais)
    • Não inclua as extensões dos códigos postais.
  • Hash: nenhum

Validação de hash e codificação de dados

Use os scripts de validação de hash a seguir para garantir que os dados sejam formatados corretamente.

JavaScript

Base16

/**
 * @fileoverview Provides the hashing algorithm for User-Provided Data Match, as
 * well as some valid hashes of sample data for testing.
*/

async function hash(token) {
  const formattedToken = token.trim().toLowerCase();
  const hashArrayBuffer = await crypto.subtle.digest(
      'SHA-256', (new TextEncoder()).encode(formattedToken));
  return Array.from(new Uint8Array(hashArrayBuffer))
      .map((b) => b.toString(16).padStart(2, '0'))
      .join('');
}

function main() {
  // Expected hash for test@gmail.com:
  // 87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
  hash('test@gmail.com').then(result => console.log(result));

  // Expected hash for +18005551212:
  // 61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
  hash('+18005551212').then(result => console.log(result));

  // Expected hash for John:
  // 96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a
  hash('John').then(result => console.log(result));

  // Expected hash for Doe:
  // 799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f
  hash('Doe').then(result => console.log(result));
}

main()

Base64

/**
 * @fileoverview Provides the hashing algorithm, as well as some valid hashes of
 * sample data for testing.
*/

async function hash(token) {
  const formattedToken = token.trim().toLowerCase();
  const hashBuffer = await crypto.subtle.digest(
      'SHA-256', (new TextEncoder()).encode(formattedToken));
  const base64Str = btoa(String.fromCharCode(...new Uint8Array(hashBuffer)));
  return base64Str;
}

function main() {
  // Expected hash for test@gmail.com:
  // h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
  hash('test@gmail.com').then(result => console.log(result));

  // Expected hash for +18005551212:
  // YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
  hash('+18005551212').then(result => console.log(result));

  // Expected hash for John: ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
  hash('John').then(result => console.log(result));

  // Expected hash for Doe: eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
  hash('Doe').then(result => console.log(result));
}

main()

Python

Base16

"""Provides the hashing algorithm, as well as some valid hashes of sample data for testing.

Supports: Python 2, Python 3

Sample hashes:

  - Email 'test@gmail.com': 87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
  - Phone '+18005551212':   61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
  - First name 'John':      96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a
  - Last name 'Doe':        799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f
"""

import base64
import hashlib

def updm_hash(token):
  return hashlib.sha256(token.strip().lower().encode('utf-8')).hexdigest()

def print_updm_hash(token):
  print('Hash: "{}"\t(Token: {})'.format(updm_hash(token), token))

def main():
  print_updm_hash('test@gmail.com')
  print_updm_hash('+18005551212')
  print_updm_hash('John')
  print_updm_hash('Doe')

if __name__ == '__main__':
  main()

Base64

"""Provides the hashing algorithm, as well as some valid hashes of sample data for testing.

Supports: Python 2, Python 3

Sample hashes:

  - Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
  - Phone '+18005551212':   YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
  - First name 'John':      ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
  - Last name 'Doe':        eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
"""

import base64
import hashlib

def hash(token):
  return base64.b64encode(
      hashlib.sha256(
          token.strip().lower().encode('utf-8')).digest()).decode('utf-8')

def print_hash(token, expected=None):
  hashed = hash(token)

  if expected is not None and hashed != expected:
    print(
        'ERROR: Incorrect hash for token "{}". Expected "{}", got "{}"'.format(
            token, expected, hashed))
    return

  print('Hash: "{}"\t(Token: {})'.format(hashed, token))

def main():
  print_hash(
      'test@gmail.com', expected='h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=')
  print_hash(
      '+18005551212', expected='YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=')
  print_hash('John', expected='ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=')
  print_hash('Doe', expected='eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=')

if __name__ == '__main__':
  main()

Go

Base16

/*
Provides the hashing algorithm, as well as some valid hashes of sample data for testing.

Sample hashes:

  - Email 'test@gmail.com': 87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
  - Phone '+18005551212':   61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
  - First name 'John':      96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a
  - Last name 'Doe':        799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f
*/
package main

import (
  "crypto/sha256"
  "fmt"
  "strings"
)

// Hash hashes an email, phone, first name, or last name into the correct format.
func Hash(token string) string {
  formatted := strings.TrimSpace(strings.ToLower(token))
  hashed := sha256.Sum256([]byte(formatted))
  encoded := fmt.Sprintf("%x", hashed[:])
  return encoded
}

// PrintHash prints the hash for a token.
func PrintHash(token string) {
  fmt.Printf("Hash: \"%s\"\t(Token: %s)\n", Hash(token), token)

}

func main() {
  PrintHash("test@gmail.com")
  PrintHash("+18005551212")
  PrintHash("John")
  PrintHash("Doe")
}

Base64

/*
Provides the hashing algorithm, as well as some valid hashes of sample data for testing.

Sample hashes:

  - Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
  - Phone '+18005551212':   YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
  - First name 'John':      ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
  - Last name 'Doe':        eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
*/
package main

import (
  "crypto/sha256"
  "encoding/base64"
  "fmt"
  "strings"
)

// Hash hashes an email, phone, first name, or last name into the correct format.
func Hash(token string) string {
  formatted := strings.TrimSpace(strings.ToLower(token))
  hashed := sha256.Sum256([]byte(formatted))
  encoded := base64.StdEncoding.EncodeToString(hashed[:])
  return encoded
}

// PrintHash prints the hash for a token.
func PrintHash(token string) {
  fmt.Printf("Hash: \"%s\"\t(Token: %s)\n", Hash(token), token)

}

func main() {
  PrintHash("test@gmail.com")
  PrintHash("+18005551212")
  PrintHash("John")
  PrintHash("Doe")
}

Java

Base16

package updm.hashing;

import static java.nio.charset.StandardCharsets.UTF_8;

import com.google.common.base.Ascii;
import com.google.common.hash.Hashing;

/**
 * Example of the UPDM hashing algorithm using hex-encoded SHA-256.
*
* <p>This uses the Guava Hashing to generate the hash: https://github.com/google/guava
*
* <p>Sample valid hashes:
*
* <ul>
*   <li>Email "test@gmail.com": "87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674"
*   <li>Phone "+18005551212": "61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44"
*   <li>First name "John": "96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a"
*   <li>Last name "Doe": "799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f"
* </ul>
*/
public final class HashExample {

  private HashExample() {}

  public static String hash(String token) {
    String formattedToken = Ascii.toLowerCase(token).strip();
    return Hashing.sha256().hashString(formattedToken, UTF_8).toString();
  }

  public static void printHash(String token) {
    System.out.printf("Hash: \"%s\"\t(Token: %s)\n", hash(token), token);
  }

  public static void main(String[] args) {
    printHash("test@gmail.com");
    printHash("+18005551212");
    printHash("John");
    printHash("Doe");
  }
}

Base64

package updm.hashing;

import static java.nio.charset.StandardCharsets.UTF_8;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;

/**
* Example of the hashing algorithm.
*
* <p>Sample hashes:
*
* <ul>
*   <li>Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
*   <li>Phone '+18005551212': YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
*   <li>First name 'John': ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
*   <li>Last name 'Doe': eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
* </ul>
*/
public final class HashExample {

private HashExample() {}

public static String hash(String token) {
  String formattedToken = token.toLowerCase().strip();

  byte[] hash;
  try {
    hash = MessageDigest.getInstance("SHA-256").digest(formattedToken.getBytes(UTF_8));
  } catch (NoSuchAlgorithmException e) {
    throw new IllegalStateException("SHA-256 not supported", e);
  }

  return Base64.getEncoder().encodeToString(hash);
}

public static void printHash(String token) {
  System.out.printf("Hash: \"%s\"\t(Token: %s)\n", hash(token), token);
}

public static void main(String[] args) {
  printHash("test@gmail.com");
  printHash("+18005551212");
  printHash("John");
  printHash("Doe");
}
}

SQL

Base16

/*
Provides the hashing algorithm, as well as some valid hashes of sample data for testing.

The following code uses Google Standard SQL and can be run on BigQuery to generate match tables from unhashed data.

Sample hashes:

  - Email 'test@gmail.com': 87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
  - Phone '+18005551212':   61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
  - First name 'John':      96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a
  - Last name 'Doe':        799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f

The unhashed input table schema is assumed to be:

- Column name: UserID, Type: String
- Column name: Email, Type: String
- Column name: Phone, Type: String
- Column name: FirstName, Type: String
- Column name: LastName, Type: String
- Column name: PostalCode, Type: String
- Column name: CountryCode, Type: String
*/

CREATE TABLE `your_project_name.your_dataset_name.output_hashed_table_name`
AS
SELECT
  UserID,
  TO_HEX(SHA256(LOWER(Email))) AS Email,
  TO_HEX(SHA256(Phone)) AS Phone,
  TO_HEX(SHA256(LOWER(FirstName))) AS FirstName,
  TO_HEX(SHA256(LOWER(LastName))) AS LastName,
  PostalCode,
  CountryCode,
FROM
  `your_project_name.your_dataset_name.input_unhashed_table_name`;

Base64

/*
Provides the hashing algorithm, as well as some valid hashes of sample data for testing.

The following code uses Google Standard SQL and can be run on BigQuery to generate match tables from unhashed data.

Sample hashes:

  - Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
  - Phone '+18005551212':   YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
  - First name 'John':      ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
  - Last name 'Doe':        eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=

The unhashed input table schema is assumed to be:

- Column name: UserID, Type: String
- Column name: Email, Type: String
- Column name: Phone, Type: String
- Column name: FirstName, Type: String
- Column name: LastName, Type: String
- Column name: PostalCode, Type: String
- Column name: CountryCode, Type: String
*/

CREATE TABLE `your_project_name.your_dataset_name.output_hashed_table_name`
AS
SELECT
  UserID,
  TO_BASE64(SHA256(LOWER(Email))) AS Email,
  TO_BASE64(SHA256(Phone)) AS Phone,
  TO_BASE64(SHA256(LOWER(FirstName))) AS FirstName,
  TO_BASE64(SHA256(LOWER(LastName))) AS LastName,
  PostalCode,
  CountryCode,
FROM
  `your_project_name.your_dataset_name.input_unhashed_table_name`;

Combinar chaves

Algumas combinações de dados fornecidos pelo usuário são mais fortes do que outras. Veja uma lista de diferentes combinações de dados fornecidos pelo usuário, classificadas por nível de força relativo:

  1. E-mail, telefone, endereço (mais forte)
  2. Telefone, endereço
  3. E-mail, endereço
  4. E-mail, telefone
  5. Endereço
  6. Phone
  7. E-mail (mais fraco)

Criar uma tabela de correspondência

  1. Clique em Conexões > Correspondência de dados > Criar conexão.
  2. Escolha uma fonte e clique em Conectar. Faça a autenticação, se solicitado, e clique em Próxima.
  3. Configure sua fonte e clique em Próxima:

    BigQuery

    Selecione a tabela do BigQuery a ser importada.

    Cloud Storage

    Insira o caminho do arquivo da gsutil, como gs://my-bucket/folder/ e selecione a formatação do seu arquivo.

    Salesforce

    Em breve

  4. Defina o destino e clique em Próxima:
    1. Selecione um novo conjunto de dados do BigQuery para usar como destino intermediário dos dados. Esta etapa garante que seus dados estão formatados corretamente.
  5. Opcional: modifique o formato dos seus dados. As transformações incluem hash de computação, formatação de letras minúsculas/minúsculas e campos de mesclagem/separação.
    1. Clique em Ação > > Transform.
    2. No painel que aparecer, clique em Adicionar transformação ou Adicionar outra transformação.
    3. Escolha um tipo de transformação no menu suspenso e insira os requisitos.
    4. Clique em Salvar.
  6. Escolha pelo menos uma chave de junção para mapear os campos que você usará e clique em Próxima.
  7. Defina uma programação:
    1. Dê um nome à conexão.
    2. Defina a frequência, ditando com que frequência os dados serão importados para o conjunto de dados selecionado na etapa anterior. Cada execução substituirá os dados na tabela de destino.
    3. Especifique como você quer lidar com conflitos de ID de usuário. É possível escolher entre manter a correspondência atual ou substituir por novos dados.
  8. Clique em Finish.

Ver detalhes da conexão

A página de detalhes da conexão fornece informações sobre execuções e erros recentes de uma determinada conexão. Para ver detalhes de uma conexão específica:

  1. Clique em Conexões > Correspondência de dados.
  2. Clique no nome da conexão para ver os detalhes.
  3. Agora é possível ver os detalhes da conexão e as execuções recentes. Cada um mostra dois possíveis tipos de erros: nível de conexão (a conexão não foi executada) e erros de linha (uma linha não foi importada).
    1. O status Falha indica que toda a conexão falhou ao ser executada (por exemplo, problema de permissão da conta de serviço). Clique no status do erro para ver quais erros afetaram a conexão.
    2. O status Completed indica que a conexão foi executada. No entanto, ainda pode haver erros no nível de linha, indicados por um valor diferente de zero na coluna "Linhas com erros". Clique no valor para saber mais sobre quais registros falharam.

Editar uma conexão

Ainda não é possível editar as conexões. Para mudar uma conexão, crie uma nova e exclua a antiga.

Consultar dados no Ads Data Hub

Consultar as tabelas de correspondência

Quando as tabelas de correspondências contêm dados suficientes para atender às verificações de privacidade, você está pronto para executar consultas nas tabelas. Cada tabela no esquema do Ads Data Hub que contém um campo user_id é acompanhada por uma tabela *_match. Por exemplo, na tabela adh.google_ads_impressions, o Ads Data Hub também gera uma tabela de correspondência chamada adh.google_ads_impressions_match contendo apenas IDs de usuários. Essas tabelas contém um subconjunto dos usuários disponíveis nas tabelas originais, em que há uma correspondência na user_id. Por exemplo, se a tabela original tiver dados para o Usuário A e o Usuário B, mas somente o Usuário A for correspondido, o Usuário B não estará na tabela de correspondência.

As tabelas de correspondência contêm uma coluna adicional chamada external_cookie, que armazena o cookie como BYTES.

O campo external_cookie contém seu ID como BYTES. Você precisa transmitir sua chave de junção para BYTES para que as correspondências sejam bem-sucedidas.

JOIN ON 
  google_data_imp.external_cookie = CAST(my_data.user_id AS BYTES)

Use as tabelas de correspondência consultando *_match visualizações de tabelas de eventos de anúncio. Se você também usa a correspondência de cookie, pode filtrar por um tipo de correspondência nas suas consultas. Usar:

  • match_type = 1 para correspondência de cookie
  • match_type = 2 para correspondência de dados fornecidos pelo usuário

Embora match_type seja permitido nas consultas, esse campo não pode ser retornado nos resultados. Portanto, não o inclua na instrução SELECT final.

Amostras de consultas

Contar usuários correspondentes

Essa consulta contabiliza o número de usuários correspondentes na tabela de impressões do Google Ads.

/* Count matched users in Google Ads impressions table */

SELECT COUNT(DISTINCT user_id)
FROM adh.google_ads_impressions_match

Contar usuários que correspondem aos dados fornecidos pelo usuário

Essa consulta conta o número de usuários correspondentes por tipo de correspondência. Como as tabelas de eventos de anúncios contêm eventos de usuários conectados e desconectados, a filtragem na correspondência de dados fornecidos pelo usuário resultará em correspondência apenas com usuários conectados.

/* Count user-provided data matched users by match type.
match_type = 1 for cookie matching
match_type = 2 for user-provided data matching */

SELECT
  match_type AS match_type,
  COUNT(DISTINCT user_id) AS user_cnt,
FROM 
  adh.google_ads_impressions_match
GROUP BY
  match_type

Esta consulta mostra como mesclar dados próprios aos dados do Google Ads:

/* Join first-party data with Google Ads data. The external_cookie field 
contains your ID as BYTES. You need to cast your join key into BYTES for 
successful matches. */

SELECT
  inventory_type,
  COUNT(*) AS impressions
FROM
  adh.yt_reserve_impressions_match AS google_data_imp
LEFT JOIN
  `my_data`
ON 
  google_data_imp.external_cookie = CAST(my_data.user_id AS BYTES)
-- Uncomment the following line if cookie matching is enabled as well.
-- WHERE google_data_imp.match_type = 2
GROUP BY
  inventory_type

Essa consulta contabiliza o número de usuários correspondidos pelos dados fornecidos pelo usuário, excluindo os usuários correspondidos por cookie. Lembre-se de que as tabelas de eventos de anúncios contêm eventos de usuários conectados e desconectados. Portanto, filtrar apenas os dados de dados fornecidos pelo usuário resultará na correspondência apenas com usuários conectados.

/* Count user-provided data matched users, excluding cookie matched users. */

SELECT 
  COUNT(DISTINCT user_id)
FROM 
  adh.google_ads_impressions_match
WHERE 
  match_type = 2

Conexões

Muitas vezes, é preciso reunir dados de várias fontes para ter insights valiosos de publicidade. Criar sua própria solução para esse problema de pipeline de dados exige um investimento significativo de tempo e de engenharia. O Connections simplifica esse processo fornecendo uma interface guiada passo a passo para importar, transformar e gravar dados no BigQuery. Depois de gravar os dados, você pode usá-los nas suas consultas do Ads Data Hub ou em qualquer outro produto que faça leituras no BigQuery. O enriquecimento de consultas com dados próprios pode proporcionar experiências melhores ao cliente e ser mais resistente a mudanças no rastreamento de anúncios do setor.

Além disso, o Connections é criado com ferramentas que permitem criptografar e compartilhar informações de identificação pessoal (PII) com parceiros de maneira centrada na privacidade. Depois de selecionar quais colunas contêm PII, o Connections criptografa os dados, garantindo que seus dados próprios só possam ser exportados ou lidos por pessoas que tenham permissão para isso.

É possível usar o Connections para importar dados de:

Pode ser difícil saber quais dados próprios são necessários para seu caso de uso de medição ou ativação. Portanto, o Connections oferece uma lista abrangente de casos de uso predefinidos e orienta você em toda a experiência de extração, transformação e carregamento dos dados.

Diferenças entre seus dados próprios e a correspondência de dados

O fluxo de trabalho para configurar uma tabela de correspondências fornecida pelo usuário é semelhante à criação de uma conexão de dados próprios regular em Conexões. No entanto, o requisito de dois projetos considera que você está configurando as conexões antes de usar a correspondência de dados fornecidas pelo usuário. Se você estiver usando apenas o Connections como uma ferramenta de preparação de dados, poderá usar um único projeto do Google Cloud.

Requisitos adicionais para a correspondência de dados fornecidos pelo usuário:

  • É preciso usar e-mail, telefone, endereço ou qualquer combinação como chave de junção.
  • É preciso especificar como os conflitos de user_id são resolvidos. Você pode escolher entre manter a correspondência existente ou substituir por novos dados.
  • É preciso usar uma conta de serviço da UPDM, além das contas de datafusion e dataproc.

Seu fluxo de trabalho de dados próprios

Crie uma conexão

  1. Clique em Conexões > Seus dados próprios > Criar conexão.
  2. Conecte-se a uma fonte de dados. Você precisará fazer a autenticação.

    BigQuery

    Como as permissões são baseadas na sua Conta do Google, nenhuma outra autenticação é necessária. Verifique se as contas de serviço do Connections têm acesso de leitura à tabela.

    Cloud Storage

    Como as permissões são baseadas na sua Conta do Google, nenhuma outra autenticação é necessária. Verifique se as contas de serviço do Connections têm acesso de leitura ao bucket de armazenamento.

    Salesforce

    (em breve)

    Use as credenciais do Salesforce da sua organização para fazer login. O Google não armazena suas credenciais. Portanto, cada nova conexão do Salesforce exigirá uma nova autenticação.

  3. Escolha um caso de uso e uma chave de junção e clique em Selecionar caso de uso. Se você não quiser selecionar um caso de uso, clique em Pular. Não será possível selecionar um caso de uso posteriormente.
  4. Configure sua fonte de dados.

    BigQuery

    Selecione a tabela do BigQuery a ser importada.

    Cloud Storage

    Insira o caminho do arquivo da gsutil, como gs://my-bucket/folder/ e selecione a formatação do seu arquivo.

    Salesforce

    Em breve

  5. Configure os campos destino e mapa.
    • Selecione o projeto, o conjunto de dados e a tabela do Google Cloud em que você quer gravar os resultados. Verifique se as contas de serviço do Connections têm acesso de gravação ao conjunto de dados em que você vai gravar.
    • Cada conexão criará uma nova tabela para fazer gravações. Se você selecionar uma tabela que já existe, verá um erro.
    • Mapear campos de destino (campos que aparecerão na tabela que você está criando) para campos de origem nos seus dados de origem.
  6. Definir uma programação.
    1. Dê um nome à conexão.
    2. Defina a frequência, ditando com que frequência os dados serão importados para o conjunto de dados selecionado na etapa anterior. Cada execução substituirá os dados na tabela de destino.
  7. Clique em Concluído. Conexões que processam grandes quantidades de dados podem levar várias horas para serem executadas.

Ver detalhes da conexão

A página de detalhes da conexão fornece informações sobre execuções e erros recentes de uma determinada conexão. Para ver detalhes de uma conexão específica:

  1. Clique em Conexões > Seus dados próprios.
  2. Clique no nome da conexão para ver os detalhes.
  3. Agora é possível ver os detalhes da conexão e as execuções recentes. Cada um mostra dois possíveis tipos de erros: nível de conexão (a conexão não foi executada) e erros de linha (uma linha não foi importada).
    1. O status Falha indica que toda a conexão falhou ao ser executada (por exemplo, problema de permissão da conta de serviço). Clique no status do erro para ver quais erros afetaram a conexão.
    2. O status Completed indica que a conexão foi executada. No entanto, ainda pode haver erros no nível de linha, indicados por um valor diferente de zero na coluna "Linhas com erros". Clique no valor para saber mais sobre quais registros falharam.

Editar uma conexão

Ainda não é possível editar as conexões. Para alterar uma conexão, crie uma nova e exclua a antiga.

Casos de uso

O caso de uso selecionado afeta o esquema da tabela de destino e os campos de chave de junção importados. Expanda os casos de uso abaixo para saber como eles afetam o esquema e as chaves de mesclagem:

Alcance e frequência

Medir a frequência e o alcance da campanha entre canais e dispositivos de acordo com a divisão dos seus segmentos de usuários próprios.

Nome do campo Descrição Tipo Obrigatório/opcional
chave de junção Alterações baseadas na chave de junção usada string Obrigatório
gender Gênero string Opcional
idade Idade int Opcional
cidade Cidade string Opcional
país País string Opcional
state_do_ciclo de vida Estado do funil de cliente: desconhecido, integração, envolvido, inativo, etc. string Opcional
status_de_fidelidade Prata, ouro, platina, losango etc. string Opcional
data_da_última_compra Data da última compra (carimbo de data/hora do período Unix) int Opcional
último_produto_da_compra Última compra / consumo do produto string Opcional
data_de_último contato Data do último contato / engajamento (carimbo de data/hora do período Unix) int Opcional
LTV LTV do cliente int Opcional
tipo_de_assinatura Subproduto / tipo de assinatura que um cliente tem, por exemplo, deluxe, plano família string Opcional
transaction_id ID exclusivo para esta transação string Opcional
transaction_date Data da transação (carimbo de data/hora do período Unix) int Opcional
receita_da_transação Receita da transação int Opcional
currency Tipo de moeda da transação string Opcional
quantidade Quantidade de itens na transação string Opcional
preço Preço por item na transação int Opcional
custo_da_transação Custo dos produtos / serviços da transação int Opcional
Lucros_da_transação Lucro bruto da transação int Opcional
product_id SKU / ID dos produtos na transação string Opcional
descrição_da_transação Outra descrição / metadados / parâmetros sobre a transação string Opcional
event_type Por exemplo, impressão de anúncio de TV, e-mail de marketing, visita ao site, visita à loja etc. string Opcional
ID do evento Código exclusivo do evento acima string Opcional
event_timestamp Data do evento (carimbo de data/hora do período Unix) int Opcional
metadados_do_canal Metadados ou informações adicionais sobre esse canal de ponto de contato string Opcional

Atribuição multitoque

Medir a atribuição combinando seus pontos de contato próprios aos pontos de contato do Google.

Nome do campo Descrição Tipo Obrigatório/opcional
chave de junção Alterações baseadas na chave de junção usada string Obrigatório
event_type Por exemplo, impressão de anúncio de TV, e-mail de marketing, visita ao site, visita à loja etc. string Obrigatório
ID do evento Código exclusivo do evento acima string Obrigatório
event_timestamp Data do evento (carimbo de data/hora do período Unix) int Obrigatório
crédito Valor do crédito (usado para atribuição) – por exemplo, número de conversões int Opcional
metadados_do_canal Metadados ou informações adicionais sobre esse canal de ponto de contato string Opcional

Métricas de desempenho

Medir o desempenho da campanha por informações demográficas, afinidade ou seus segmentos de usuários próprios.

Nome do campo Descrição Tipo Obrigatório/opcional
chave de junção Alterações baseadas na chave de junção usada string Obrigatório
gender Gênero string Opcional
idade Idade int Opcional
cidade Cidade string Opcional
país País string Opcional
state_do_ciclo de vida Estado do funil de cliente: desconhecido, integração, envolvido, inativo, etc. string Opcional
status_de_fidelidade Prata, ouro, platina, losango etc. string Opcional
data_da_última_compra Data da última compra (carimbo de data/hora do período Unix) int Opcional
último_produto_da_compra Última compra / consumo do produto string Opcional
data_de_último contato Data do último contato / engajamento (carimbo de data/hora do período Unix) int Opcional
LTV LTV do cliente int Opcional
tipo_de_assinatura Subproduto / tipo de assinatura que um cliente tem, por exemplo, deluxe, plano família string Opcional

Atribuição do caminho até a conversão

Analisar o desempenho dos caminhos de conversão com pontos de contato personalizados, incluindo os próprios

Nome do campo Descrição Tipo Obrigatório/opcional
chave de junção Alterações baseadas na chave de junção usada string Obrigatório
event_type Por exemplo, impressão de anúncio de TV, e-mail de marketing, visita ao site, visita à loja etc. string Obrigatório
ID do evento Código exclusivo do evento acima string Obrigatório
event_timestamp Data do evento (carimbo de data/hora do período Unix) int Obrigatório
crédito Valor do crédito (usado para atribuição) – por exemplo, número de conversões int Opcional
metadados_do_canal Metadados ou informações adicionais sobre esse canal de ponto de contato string Opcional

Sobreposição entre editores

Analisar o alcance e a frequência das campanhas entre editores de acordo com a divisão dos seus segmentos de usuários próprios.

Nome do campo Descrição Tipo Obrigatório/opcional
chave de junção Alterações baseadas na chave de junção usada string Obrigatório
gender Gênero string Opcional
idade Idade int Opcional
cidade Cidade string Opcional
país País string Opcional
state_do_ciclo de vida Estado do funil de cliente: desconhecido, integração, envolvido, inativo, etc. string Opcional
status_de_fidelidade Prata, ouro, platina, losango etc. string Opcional
data_da_última_compra Data da última compra (carimbo de data/hora do período Unix) int Opcional
último_produto_da_compra Última compra / consumo do produto string Opcional
data_de_último contato Data do último contato / engajamento (carimbo de data/hora do período Unix) int Opcional
LTV LTV do cliente int Opcional
tipo_de_assinatura Subproduto / tipo de assinatura que um cliente tem, por exemplo, deluxe, plano família string Opcional

Desempenho de campanhas simultâneas

Medir o impacto do desempenho da exposição a campanhas paralelas de acordo com a divisão dos seus segmentos de usuários próprios.

Nome do campo Descrição Tipo Obrigatório/opcional
chave de junção Alterações baseadas na chave de junção usada string Obrigatório
gender Gênero string Opcional
idade Idade int Opcional
cidade Cidade string Opcional
país País string Opcional
state_do_ciclo de vida Estado do funil de cliente: desconhecido, integração, envolvido, inativo, etc. string Opcional
status_de_fidelidade Prata, ouro, platina, losango etc. string Opcional
data_da_última_compra Data da última compra (carimbo de data/hora do período Unix) int Opcional
último_produto_da_compra Última compra / consumo do produto string Opcional
data_de_último contato Data do último contato / engajamento (carimbo de data/hora do período Unix) int Opcional
LTV LTV do cliente int Opcional
tipo_de_assinatura Subproduto / tipo de assinatura que um cliente tem, por exemplo, deluxe, plano família string Opcional
transaction_id ID exclusivo para esta transação string Opcional
transaction_date Data da transação (carimbo de data/hora do período Unix) int Opcional
receita_da_transação Receita da transação int Opcional
currency Tipo de moeda da transação string Opcional
quantidade Quantidade de itens na transação string Opcional
preço Preço por item na transação int Opcional
custo_da_transação Custo dos produtos / serviços da transação int Opcional
Lucros_da_transação Lucro bruto da transação int Opcional
product_id SKU / ID dos produtos na transação string Opcional
descrição_da_transação Outra descrição / metadados / parâmetros sobre a transação string Opcional
event_type Por exemplo, impressão de anúncio de TV, e-mail de marketing, visita ao site, visita à loja etc. string Opcional
ID do evento Código exclusivo do evento acima string Opcional
event_timestamp Data do evento (carimbo de data/hora do período Unix) int Opcional
metadados_do_canal Metadados ou informações adicionais sobre esse canal de ponto de contato string Opcional

Comparação de campanhas

Comparar o desempenho entre campanhas do Google e de outros editores.

Nome do campo Descrição Tipo Obrigatório/opcional
chave de junção Alterações baseadas na chave de junção usada string Obrigatório
Clubes Canal em que essa campanha foi veiculada (por exemplo, Facebook, TV etc.) string Obrigatório
partner Nome do parceiro, se envolvido string Opcional
tática Nome de tática específica. string Opcional
metadados da campanha Mais metadados ou informações sobre esta campanha string Opcional
date Data da atividade da campanha (carimbo de data/hora do período Unix) int Obrigatório
impressions Número de impressões dessa campanha nessa data int Obrigatório
clicks Número de cliques desta campanha nessa data int Obrigatório
conversões Número de conversões dessa campanha nessa data int Obrigatório
cost Custo total desta campanha nessa data int Obrigatório

Comparação de rótulos e afinidade

Encontrar a sobreposição entre seus segmentos de usuários próprios e os segmentos de público-alvo no mercado e de afinidade do Google.

Nome do campo Descrição Tipo Obrigatório/opcional
chave de junção Alterações baseadas na chave de junção usada string Obrigatório
gender Gênero string Opcional
idade Idade int Opcional
cidade Cidade string Opcional
país País string Opcional
state_do_ciclo de vida Estado do funil de cliente: desconhecido, integração, envolvido, inativo, etc. string Opcional
status_de_fidelidade Prata, ouro, platina, losango etc. string Opcional
data_da_última_compra Data da última compra (carimbo de data/hora do período Unix) int Opcional
último_produto_da_compra Última compra / consumo do produto string Opcional
data_de_último contato Data do último contato / engajamento (carimbo de data/hora do período Unix) int Opcional
LTV LTV do cliente int Opcional
tipo_de_assinatura Subproduto / tipo de assinatura que um cliente tem, por exemplo, deluxe, plano família string Opcional

Análise de conversões de app

Avalie o impacto da campanha no comportamento no app.

Nome do campo Descrição Tipo Obrigatório/opcional
chave de junção Alterações baseadas na chave de junção usada string Obrigatório
date Data de atividade do app para dispositivos móveis (carimbo de data/hora do período Unix) int Obrigatório
instalar Booleano que representa se um evento de instalação foi registrado neste dia boolean Obrigatório
registro Booleano que representa se um evento de registro foi registrado neste dia boolean Obrigatório
login Booleano que representa se um evento de login foi registrado neste dia boolean Obrigatório
Compras no app Quantidade total de compras no app neste dia int Obrigatório

Cálculo do ROI

Medir os retornos incrementais de acordo com seus dados de conversão primários.

Nome do campo Descrição Tipo Obrigatório/opcional
chave de junção Alterações baseadas na chave de junção usada string Obrigatório
transaction_id ID exclusivo para esta transação string Obrigatório
transaction_date Data da transação (carimbo de data/hora do período Unix) int Obrigatório
receita_da_transação Receita da transação int Obrigatório
currency Tipo de moeda da transação string Opcional
quantidade Quantidade de itens na transação string Opcional
preço Preço por item na transação int Opcional
custo_da_transação Custo dos produtos / serviços da transação int Opcional
Lucros_da_transação Lucro bruto da transação int Opcional
product_id SKU / ID dos produtos na transação string Opcional
descrição_da_transação Outra descrição / metadados / parâmetros sobre a transação string Opcional

Ativação de público-alvo personalizado

Criar e ativar segmentos de usuários personalizados com base em dados próprios e do Google

Nome do campo Descrição Tipo Obrigatório/opcional
chave de junção Alterações baseadas na chave de junção usada string Obrigatório
gender Gênero string Opcional
idade Idade int Opcional
cidade Cidade string Opcional
país País string Opcional
state_do_ciclo de vida Estado do funil de cliente: desconhecido, integração, envolvido, inativo, etc. string Opcional
status_de_fidelidade Prata, ouro, platina, losango etc. string Opcional
data_da_última_compra Data da última compra (carimbo de data/hora do período Unix) int Opcional
último_produto_da_compra Última compra / consumo do produto string Opcional
data_de_último contato Data do último contato / engajamento (carimbo de data/hora do período Unix) int Opcional
LTV LTV do cliente int Opcional
tipo_de_assinatura Subproduto / tipo de assinatura que um cliente tem, por exemplo, deluxe, plano família string Opcional

Lances personalizados

Otimizar as estratégias de lances do Display & Video 360 com base em dados próprios e do Google

Nome do campo Descrição Tipo Obrigatório/opcional
chave de junção Alterações baseadas na chave de junção usada string Obrigatório
gender Gênero string Opcional
idade Idade int Opcional
cidade Cidade string Opcional
país País string Opcional
state_do_ciclo de vida Estado do funil de cliente: desconhecido, integração, envolvido, inativo, etc. string Opcional
status_de_fidelidade Prata, ouro, platina, losango etc. string Opcional
data_da_última_compra Data da última compra (carimbo de data/hora do período Unix) int Opcional
último_produto_da_compra Última compra / consumo do produto string Opcional
data_de_último contato Data do último contato / engajamento (carimbo de data/hora do período Unix) int Opcional
LTV LTV do cliente int Opcional
tipo_de_assinatura Subproduto / tipo de assinatura que um cliente tem, por exemplo, deluxe, plano família string Opcional

Desempenho entre editores

Medir as métricas de desempenho por editor ou por segmentos de usuários próprios e editor

Nome do campo Descrição Tipo Obrigatório/opcional
chave de junção Alterações baseadas na chave de junção usada string Obrigatório
gender Gênero string Opcional
idade Idade int Opcional
cidade Cidade string Opcional
país País string Opcional
state_do_ciclo de vida Estado do funil de cliente: desconhecido, integração, envolvido, inativo, etc. string Opcional
status_de_fidelidade Prata, ouro, platina, losango etc. string Opcional
data_da_última_compra Data da última compra (carimbo de data/hora do período Unix) int Opcional
último_produto_da_compra Última compra / consumo do produto string Opcional
data_de_último contato Data do último contato / engajamento (carimbo de data/hora do período Unix) int Opcional
LTV LTV do cliente int Opcional
tipo_de_assinatura Subproduto / tipo de assinatura que um cliente tem, por exemplo, deluxe, plano família string Opcional