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:
- 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
.
- 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.
- Você executa consultas nas tabelas
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.
- Envie o representante do Google:
- O ID da conta do Ads Data Hub que você usará para a correspondência de dados fornecidos pelo usuário.
- O endereço de e-mail de superusuário que tem acesso ao projeto de Destino.
- Confirme com seu representante do Google se a conta e o superusuário são permitidos.
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.
- Acesse a biblioteca de APIs do Console do Cloud.
- Selecione o projeto de fonte de dados na lista.
- 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.
- Na página da API, clique em ATIVAR.
- Confirme com o representante do Google se a API está ativada.
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.
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
- 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:
- E-mail, telefone, endereço (mais forte)
- Telefone, endereço
- E-mail, endereço
- E-mail, telefone
- Endereço
- Phone
- E-mail (mais fraco)
Criar uma tabela de correspondência
- Clique em Conexões > Correspondência de dados > Criar conexão.
- Escolha uma fonte e clique em Conectar. Faça a autenticação, se solicitado, e clique em Próxima.
- 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
- Defina o destino e clique em Próxima:
- 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.
- 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.
- Clique em Ação > > Transform.
- No painel que aparecer, clique em Adicionar transformação ou Adicionar outra transformação.
- Escolha um tipo de transformação no menu suspenso e insira os requisitos.
- Clique em Salvar.
- Escolha pelo menos uma chave de junção para mapear os campos que você usará e clique em Próxima.
- Defina uma programação:
- Dê um nome à conexão.
- 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.
- 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.
- 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:
- Clique em Conexões > Correspondência de dados.
- Clique no nome da conexão para ver os detalhes.
- 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).
- 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.
- 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 cookiematch_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:
- BigQuery
- Cloud Storage
- Salesforce (em breve)
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
- Clique em Conexões > Seus dados próprios > Criar conexão.
- 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.
- 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.
- 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
- 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.
- Definir uma programação.
- Dê um nome à conexão.
- 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.
- 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:
- Clique em Conexões > Seus dados próprios.
- Clique no nome da conexão para ver os detalhes.
- 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).
- 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.
- 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 |