Panoramica
UPDM (Corrispondenza dei dati forniti dall'utente) unisce i dati proprietari che hai raccolto su un utente, ad esempio informazioni di siti web, app o negozi fisici, con la stessa attività di utente che ha eseguito l'accesso in Dati pubblicitari di Google, escluso Google Marketing Platform. Per consentire la corrispondenza dei dati forniti dall'utente, l'evento annuncio deve essere collegato a un utente che ha eseguito l'accesso nei dati dell'annuncio Google.
La corrispondenza dei dati fornita dall'utente offre alcuni vantaggi unici rispetto ad altre forme di corrispondenza del cliente. Corrispondenza dei dati forniti dall'utente:
- È più resistente ai cambiamenti del settore rispetto ai dati di terze parti
- Non sarà interessato dal prossimo ritiro dei cookie di terze parti, perché la corrispondenza dei dati fornita dall'utente è disponibile solo nell'inventario di proprietà e gestito da Google per gli utenti che hanno eseguito l'accesso.
- Consente di offrire esperienze più pertinenti ai clienti, il che spesso porta a un maggiore coinvolgimento.
- Offre informazioni più complete sui clienti
Riepilogo della procedura
Dopo aver attivato la corrispondenza dei dati forniti dagli utenti nel tuo account, la fase di utilizzo della funzionalità prevede due passaggi:
- Importazione di dati proprietari in Ads Data Hub
- Tu formatta e carica i dati proprietari nel tuo set di dati BigQuery. Puoi utilizzare qualsiasi set di dati BigQuery di tua proprietà, ad eccezione del progetto amministratore.
- Puoi avviare una richiesta con corrispondenza dei dati creando una connessione e importando la pianificazione.
- Google unisce i dati del tuo progetto a quelli di proprietà di Google contenenti lo User-ID di Google e i dati forniti dagli utenti sottoposti ad hashing per creare e aggiornare le tabelle
*_match
.
- Query in corso in Ads Data Hub basate sui dati corrispondenti
- Esegui le query sulle tabelle
*_match
nello stesso modo in cui esegui le query standard in Ads Data Hub.
- Esegui le query sulle tabelle
Progetti di origine dati e destinazione
Per eseguire le connessioni è necessario utilizzare due diversi progetti Google Cloud: un progetto di origine dati e un progetto di destinazione.
- Origine dati: questo progetto contiene i tuoi dati pubblicitari proprietari nel loro formato non elaborato.
- Destinazione: questo è il set di dati BigQuery in cui Ads Data Hub scrive. Per impostazione predefinita, questo è il tuo progetto amministratore. Per passare a un altro progetto Google Cloud, consulta Configurare gli account di servizio.
Limitazioni sulla privacy
Raccogliere i dati dei clienti
Quando utilizzi la corrispondenza dei dati forniti dall'utente, devi caricare dati proprietari. Potrebbero essere le informazioni raccolte dai tuoi siti web, dalle tue app, dai tuoi negozi fisici o qualsiasi informazione che un cliente ha condiviso direttamente con te.
Dimensioni dei dati
Per proteggere la privacy degli utenti finali, la corrispondenza dei dati forniti dall'utente applica questi requisiti relativi alle dimensioni dei dati:
- Devi caricare almeno 1000 record nel tuo elenco di utenti.
- Ogni aggiornamento riuscito della tabella delle corrispondenze deve includere un numero minimo di nuovi utenti corrispondenti. Questo comportamento è simile ai controlli delle differenze.
- Il tuo elenco non deve superare il numero massimo di record. Per scoprire di più sul limite massimo di dati, contatta il tuo rappresentante di Google.
Abilita la scheda Connessioni
Prima di iniziare, configura il tuo account Ads Data Hub in modo da attivare la scheda Connessioni, dove potrai stabilire la pipeline di corrispondenza dei dati. Dovrai seguire questa procedura soltanto una volta.
- Invia il tuo rappresentante di Google:
- L'ID account Ads Data Hub che utilizzerai per la corrispondenza dei dati forniti dall'utente.
- L'indirizzo email del super user che ha accesso al tuo progetto di destinazione.
- Chiedi al tuo rappresentante Google che l'account e il super user siano inclusi nella lista consentita.
Attiva l'API Ads Data Connector nel progetto Google Cloud designato. Per impostazione predefinita, questo è il tuo progetto di amministrazione. Per utilizzare un progetto diverso, segui questi passaggi con il progetto Google Cloud alternativo come progetto Origine dati. Questi passaggi devono essere eseguiti dopo aver eseguito l'accesso come super user inserito nella lista consentita.
- Vai alla libreria API di Cloud Console.
- Seleziona il progetto Origine dati dall'elenco.
- Cerca "API Ads Data Connector". Se l'API Ads Data Connector non viene visualizzata nei risultati di ricerca, è possibile che l'Account Google a cui è stato eseguito l'accesso non sia il super user inserito nella lista consentita.
- Nella pagina dell'API, fai clic su ABILITA.
- Contattare il rappresentante di Google per verificare che l'API sia abilitata.
Il tuo rappresentante di Google ti invierà tre indirizzi email, designati come account di servizio Datafusion, Dataproc e UPDM.
Nel tuo account Ads Data Hub verrà visualizzata anche una nuova sezione Connessioni, contenente le schede I tuoi dati proprietari e Corrispondenza dei dati. Scopri di più sui casi d'uso di ciascuna scheda.
Concedi le autorizzazioni appropriate agli account di servizio. Per una spiegazione dei diversi account di servizio e delle relative autorizzazioni richieste, seleziona l'origine dati nella tabella:
BigQuery
Account di servizio Datafusion Finalità L'account di servizio Datafusion viene utilizzato per visualizzare un elenco dei campi di origine nell'interfaccia utente di Ads Data Hub. Formato service-some-number@gcp-sa-datafusion.iam.gserviceaccount.com
Accesso richiesto BigQuery Data Viewer
roles/bigquery.dataViewer
per set di dati specifici nei progetti Origine dati e Destinazione Storage Admin
roles/storage.admin
per il progetto di origine dati o un bucket di archiviazione dedicato Account di servizio Dataproc Finalità L'account di servizio dataproc è responsabile dell'esecuzione delle pipeline di dati in background. Formato some-number-compute@developer.gserviceaccount.com
Accesso richiesto BigQuery Data Viewer
roles/bigquery.dataViewer
per set di dati specifici nei progetti Origine dati e Destinazione BigQuery Data Editor
roles/bigquery.dataEditor
Per set di dati specifici nel progetto Destinazione BigQuery Job User
roles/bigquery.jobUser
per i progetti Origine dati e Destinazione Storage Admin
roles/storage.admin
per i progetti Origine dati e Destinazione oppure per un bucket di archiviazione dedicato Account di servizio UPDM Finalità L'account di servizio UPDM viene utilizzato per eseguire il job corrispondente. Formato service-some-number@gcp-sa-adsdataconnector.iam.gserviceaccount.com
Accesso richiesto BigQuery Data Viewer
roles/bigquery.dataViewer
per il progetto Destination BigQuery Job User
roles/bigquery.jobUser
per il progetto Destination Cloud Storage
Account di servizio Datafusion Finalità L'account di servizio Datafusion viene utilizzato per visualizzare un elenco dei campi di origine nell'interfaccia utente di Ads Data Hub. Formato service-some-number@gcp-sa-datafusion.iam.gserviceaccount.com
Accesso richiesto Storage Object Viewer
roles/storage.objectViewer
per bucket di archiviazione specifici nel progetto Origine dati BigQuery Data Viewer
roles/bigquery.dataViewer
per il progetto di origine dati o un bucket di archiviazione dedicato Storage Admin
roles/storage.admin
per il progetto di origine dati o un bucket di archiviazione dedicato Account di servizio Dataproc Finalità L'account di servizio dataproc è responsabile dell'esecuzione delle pipeline di dati in background. Formato some-number-compute@developer.gserviceaccount.com
Accesso richiesto Storage Admin
roles/storage.admin
per i progetti Origine dati e Destinazione oppure per un bucket di archiviazione dedicato BigQuery Job User
roles/bigquery.jobUser
per il progetto Destination Account di servizio UPDM Finalità L'account di servizio UPDM viene utilizzato per eseguire il job corrispondente. Formato service-some-number@gcp-sa-adsdataconnector.iam.gserviceaccount.com
Accesso richiesto BigQuery Data Viewer
roles/bigquery.dataViewer
per il progetto Destination BigQuery Job User
roles/bigquery.jobUser
per il progetto Destination Salesforce
disponibile a breve
Importa dati proprietari
Formatta i dati per i dati di input
I tuoi dati devono rispettare questi requisiti di formattazione per essere abbinati correttamente:
- Se indicato, devi eseguire il caricamento utilizzando l'hashing SHA256 codificato come stringa Base16. Sebbene UPDM supporti Base64, è diverso dalle linee guida di Customer Match di Google Ads.
- I campi di immissione devono essere formattati come stringhe. Se utilizzi la funzione hash SHA256 e la funzione di codifica Base16 (TO_HEX), utilizza la seguente trasformazione:
TO_HEX(SHA256(user_data))
.
User-ID
- Testo normale
- Hashing: nessuno
- Rimuovi spazio vuoto
- Tutti i caratteri devono essere minuscoli.
- Includi un nome di dominio per tutti gli indirizzi email, ad esempio gmail.com o hotmail.co.jp.
- Rimuovi gli accenti, ad esempio cambia è, é, ê, o ë in e
- Hash: SHA256 con codifica Base16
Validità: TO_HEX(SHA256("jeffersonloveshiking@gmail.com"))
Non valido: TO_HEX(SHA256("JéffersonLôvesHiking@gmail.com"))
Telefono
- Rimuovi spazio vuoto
- Formato in formato E.164, ad esempio US +14155552671, Regno Unito +442071838750
- Includi il codice paese (compresi gli Stati Uniti)
- Rimuovi tutti i caratteri speciali tranne "&" prima del codice paese
- Hash: SHA256 con codifica Base16
Validità: TO_HEX(SHA256("+18005550101"))
Non valido: TO_HEX(SHA256("(800) 555-0101"))
Nome
- Rimuovi spazio vuoto
- Tutti i caratteri devono essere minuscoli.
- Rimuovi tutti i prefissi, ad esempio
- Non rimuovere gli accenti, ad esempio è, é, ê, ë
- Hash: SHA256 con codifica Base16
Validità: TO_HEX(SHA256("daní"))
Non valido: TO_HEX(SHA256("Daní"))
Cognome
- Rimuovi spazio vuoto
- Tutti i caratteri devono essere minuscoli.
- Rimuovi tutti i prefissi, ad esempio
- Non rimuovere gli accenti, ad esempio è, é, ê, ë
- Hash: SHA256 con codifica Base16
Validità: TO_HEX(SHA256("delacruz"))
Non valido: TO_HEX(SHA256("de la Cruz, Jr."))
Paese
- Includi il codice paese anche se tutti i dati dei tuoi clienti provengono dallo stesso paese.
- Non sottoporre ad hashing i dati relativi al paese
- Utilizza i codici paese ISO 3166-1 alpha-2.
- Hashing: nessuno
Validità: US
Non valido: United States of America
o USA
CAP
- Non sottoporre ad hashing i dati relativi ai codici postali
- Sono consentiti i codici postali internazionali e quelli degli Stati Uniti
- Per gli Stati Uniti:
- Sono consentiti codici a cinque cifre, ad esempio 94043
- Sono consentite anche 5 cifre seguite da un'estensione di 4 cifre, ad esempio 94043-1351 o 940431351
- Per tutti gli altri paesi:
- Non è necessaria la formattazione (non occorre utilizzare lettere minuscole o rimuovere spazi e caratteri speciali)
- Non inserire le estensioni del codice postale
- Hashing: nessuno
Convalida hash e codifica dei dati
Puoi utilizzare i seguenti script di convalida hash per assicurarti che i tuoi dati siano formattati correttamente.
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`;
Chiavi di unione
Alcune combinazioni di dati forniti dagli utenti sono più efficaci di altre. Di seguito è riportato un elenco di diverse combinazioni di dati forniti dagli utenti, classificate in base al grado di forza relativa:
- Email, telefono, indirizzo (metodo più efficace)
- Telefono, indirizzo
- Indirizzo email, indirizzo
- Email, telefono
- Indirizzo
- Telefono
- Email (debole)
Creare una tabella delle corrispondenze
- Fai clic su Connessioni > Corrispondenza dei dati > Crea connessione.
- Scegli un'origine dati, poi fai clic su Connetti. Autentica, se richiesto, fai clic su Avanti.
- Configura l'origine dati e poi fai clic su Avanti:
BigQuery
Seleziona la tabella BigQuery da importare.
Cloud Storage
Inserisci il percorso del file gsutil, ad esempio
gs://my-bucket/folder/
, e seleziona la formattazione del tuo file.Salesforce
disponibile a breve
- Imposta destination (destinazione), quindi fai clic su Next (Avanti):
- Seleziona un nuovo set di dati BigQuery da utilizzare come destinazione intermedia per i dati. Questo passaggio garantisce che i dati siano formattati correttamente.
- (Facoltativo) Modifica il formato dei dati. Le trasformazioni includono l'hash di calcolo, la formattazione minuscolo/maiuscolo e l'unione o la suddivisione dei campi.
- Fai clic su Azione > > Trasforma.
- Nel riquadro visualizzato, fai clic su Aggiungi trasformazione o Aggiungi un'altra trasformazione.
- Scegli un tipo di trasformazione dal menu a discesa e inserisci i requisiti.
- Fai clic su Salva.
- Scegli almeno una chiave di join per mappare i campi che utilizzerai, quindi fai clic su Avanti.
- Imposta una programmazione:
- Assegna un nome alla connessione.
- Imposta una frequenza, dettando la frequenza con cui i dati verranno importati nel set di dati selezionato nel passaggio precedente. Ogni esecuzione sovrascriverà i dati nella tabella di destinazione.
- Specifica la modalità di gestione delle collisioni di ID utente. Puoi scegliere se mantenere la corrispondenza esistente o sovrascrivere con nuovi dati.
- Fai clic su Fine.
Visualizzazione dei dettagli della connessione
La pagina dei dettagli della connessione fornisce informazioni sulle esecuzioni recenti ed errori di una connessione specifica. Per visualizzare i dettagli di una connessione specifica:
- Fai clic su Connessioni > Corrispondenza dei dati.
- Fai clic sul nome della connessione per visualizzarne i dettagli.
- Ora puoi vedere i dettagli della connessione e le esecuzioni recenti. Ciascun tipo mostra due possibili tipi di errori: a livello di connessione (la connessione non è stata eseguita) ed errori a livello di riga (una riga non è stata importata).
- Lo stato Non riuscita indica che l'esecuzione dell'intera connessione non è riuscita, ad esempio un problema di autorizzazione dell'account di servizio. Fai clic sullo stato dell'errore per vedere quali errori hanno influito sulla connessione.
- Lo stato Completata indica che la connessione è stata eseguita correttamente. Tuttavia, potrebbero comunque essere presenti errori a livello di riga, indicati da un valore diverso da zero nella colonna "Righe con errori". Fai clic sul valore per saperne di più sui record non riusciti.
Modificare una connessione
La modifica delle connessioni non è ancora supportata. Per cambiare una connessione, creane una nuova ed elimina quella precedente.
Eseguire una query sui dati in Ads Data Hub
Esegui una query sulle tabelle delle corrispondenze
Quando le tabelle delle corrispondenze contengono dati sufficienti a soddisfare i controlli sulla privacy, è tutto pronto per eseguire query sulle tabelle. Ogni tabella nello schema di Ads Data Hub contenente un campo user_id
è accompagnata da una tabella *_match
. Ad esempio, per la tabella adh.google_ads_impressions
, Ads Data Hub genera anche una tabella delle corrispondenze denominata adh.google_ads_impressions_match
contenente solo ID utente. Queste tabelle contengono un sottoinsieme di utenti disponibili nelle tabelle originali, dove esiste una corrispondenza su user_id
. Ad esempio, se la tabella originale contiene dati per l'utente A e l'utente B, ma solo l'utente A corrisponde, l'utente B non sarà presente nella tabella delle corrispondenze.
Le tabelle delle corrispondenze contengono un'ulteriore colonna denominata external_cookie
, che memorizza il tuo cookie come BYTES.
Il campo external_cookie contiene il tuo ID come BYTES. Per trasmettere correttamente, devi trasmettere la chiave di join in BYTES.
JOIN ON
google_data_imp.external_cookie = CAST(my_data.user_id AS BYTES)
Utilizza le tabelle delle corrispondenze con query su *_match
visualizzazioni delle tabelle degli eventi di annunci. Se utilizzi anche la corrispondenza dei cookie, nelle tue query puoi filtrare per tipo di corrispondenza.
Utilizza:
match_type = 1
per la corrispondenza dei cookiematch_type = 2
per la corrispondenza dei dati forniti dall'utente
Anche se il valore match_type
è consentito nelle query, questo campo non può essere restituito nei risultati, quindi non devi includerlo nell'istruzione SELECT
finale.
Query di esempio
Conteggio degli utenti corrispondenti
Questa query conteggia il numero di utenti corrispondenti nella tabella delle impressioni di Google Ads.
/* Count matched users in Google Ads impressions table */
SELECT COUNT(DISTINCT user_id)
FROM adh.google_ads_impressions_match
Conteggia gli utenti con dati forniti corrispondenti
Questa query conteggia il numero di utenti corrispondenti per tipo di corrispondenza. Poiché le tabelle di eventi degli annunci contengono eventi sia di utenti che hanno eseguito l'accesso sia di utenti che hanno eseguito l'accesso, il filtro sulla corrispondenza dei dati forniti dall'utente darà come risultato solo gli utenti che hanno eseguito l'accesso.
/* 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
Questa query mostra come unire i dati proprietari ai dati di 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
Questa query conteggia il numero di utenti corrispondenti ai dati forniti dagli utenti, esclusi gli utenti con corrispondenza dei cookie. Tieni presente che le tabelle di eventi degli annunci contengono eventi di utenti che hanno eseguito l'accesso e di disconnessione, pertanto il filtro solo per la corrispondenza dei dati forniti dall'utente comporterà la corrispondenza solo degli utenti che hanno eseguito l'accesso.
/* 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
Connessioni
Per ottenere importanti informazioni pubblicitarie spesso è necessario unire i dati provenienti da più fonti. La creazione di una soluzione personalizzata a questo problema della pipeline di dati richiede investimenti significativi in termini di tempo e ingegneria. Le connessioni semplificano questo processo fornendo un'interfaccia guidata passo passo per l'importazione, la trasformazione e la scrittura dei dati in BigQuery. Dopo aver scritto i dati, puoi utilizzarli nelle query di Ads Data Hub o in qualsiasi altro prodotto letto da BigQuery. Arricchire le query con dati proprietari può offrire esperienze cliente più complete ed è più resistente ai cambiamenti di monitoraggio degli annunci a livello di settore.
Inoltre, Connections è dotato di strumenti che consentono di criptare e condividere informazioni che consentono l'identificazione personale (PII) con i partner nel rispetto della privacy. Dopo aver selezionato le colonne contenenti PII, le connessioni criptano i dati, garantendo che i dati proprietari possano essere esportati o letti solo da persone autorizzate a farlo.
Puoi utilizzare Connections per importare i dati da:
- BigQuery
- Cloud Storage
- Salesforce (disponibile a breve)
Sapere quali dati proprietari sono necessari per il tuo caso d'uso di misurazione o attivazione può essere difficile, quindi Connections fornisce un elenco completo di casi d'uso predefiniti e ti guida lungo l'intera esperienza di estrazione, trasformazione e caricamento dei tuoi dati.
Differenze tra i dati proprietari e quelli corrispondenti
Il flusso di lavoro per configurare una tabella delle corrispondenze fornita dall'utente è simile alla creazione di una normale connessione dati proprietari tramite Connections. Tuttavia, il requisito per due progetti presuppone che tu stia configurando le connessioni prima di utilizzare la corrispondenza dei dati forniti dall'utente. Se utilizzi solo le connessioni come strumento di preparazione dei dati, puoi utilizzare un singolo progetto Google Cloud.
Requisiti aggiuntivi per la corrispondenza dei dati forniti dall'utente:
- Devi utilizzare email, telefono, indirizzo o qualsiasi combinazione come chiave di join.
- Devi specificare la modalità di risoluzione delle collisioni user_id. Puoi scegliere se mantenere la corrispondenza esistente o sovrascrivere con nuovi dati.
- Devi utilizzare un account di servizio UPDM oltre agli account datafusion e dataproc.
Il tuo flusso di lavoro relativo ai dati proprietari
Creazione di una connessione
- Fai clic su Connessioni > I tuoi dati proprietari > Crea connessione.
- Collegati a un'origine dati. Ti verrà chiesto di eseguire l'autenticazione.
BigQuery
Le autorizzazioni si basano sul tuo Account Google, quindi non è richiesta alcuna autenticazione aggiuntiva. Assicurati che gli account di servizio Connections abbiano accesso in lettura alla tabella.
Cloud Storage
Le autorizzazioni si basano sul tuo Account Google, quindi non è richiesta alcuna autenticazione aggiuntiva. Assicurati che gli account di servizio Connections abbiano accesso in lettura al bucket di archiviazione.
Salesforce
(Disponibile a breve)
Per accedere, utilizza le credenziali Salesforce della tua organizzazione. Google non memorizza le tue credenziali, quindi ogni nuova connessione Salesforce richiede la riautenticazione.
- Scegli un caso d'uso e una chiave di join, quindi fai clic su Seleziona caso d'uso. Se non vuoi selezionare un caso d'uso, fai clic su Salta. Non potrai selezionare un caso d'uso in un secondo momento.
- Configura l'origine dati.
BigQuery
Seleziona la tabella BigQuery da importare.
Cloud Storage
Inserisci il percorso del file gsutil, ad esempio
gs://my-bucket/folder/
, e seleziona la formattazione del tuo file.Salesforce
disponibile a breve
- Configura i campi della destinazione e della mappa.
- Seleziona il progetto, il set di dati e la tabella Google Cloud in cui vuoi scrivere i risultati. Assicurati che gli account di servizio Connections abbiano accesso in scrittura al set di dati su cui scriverai.
- Ogni connessione creerà una nuova tabella in cui scrivere. Se selezioni una tabella già esistente, verrà visualizzato un errore.
- Mappa i campi di destinazione (campi che verranno visualizzati nella tabella che stai creando) ai campi di origine nei dati di origine.
- Imposta una pianificazione.
- Assegna un nome alla connessione.
- Imposta una frequenza, dettando la frequenza con cui i dati verranno importati nel set di dati selezionato nel passaggio precedente. Ogni esecuzione sovrascriverà i dati nella tabella di destinazione.
- Fai clic su Fine. L'esecuzione delle connessioni che elaborano grandi quantità di dati può richiedere diverse ore.
Visualizzazione dei dettagli della connessione
La pagina dei dettagli della connessione fornisce informazioni sulle esecuzioni recenti ed errori di una connessione specifica. Per visualizzare i dettagli di una connessione specifica:
- Fai clic su Connessioni > I tuoi dati proprietari.
- Fai clic sul nome della connessione per visualizzarne i dettagli.
- Ora puoi vedere i dettagli della connessione e le esecuzioni recenti. Ciascun tipo mostra due possibili tipi di errori: a livello di connessione (la connessione non è stata eseguita) ed errori a livello di riga (una riga non è stata importata).
- Lo stato Non riuscita indica che l'esecuzione dell'intera connessione non è riuscita, ad esempio un problema di autorizzazione dell'account di servizio. Fai clic sullo stato dell'errore per vedere quali errori hanno influito sulla connessione.
- Lo stato Completata indica che la connessione è stata eseguita correttamente. Tuttavia, potrebbero comunque essere presenti errori a livello di riga, indicati da un valore diverso da zero nella colonna "Righe con errori". Fai clic sul valore per saperne di più sui record non riusciti.
Modificare una connessione
La modifica delle connessioni non è ancora supportata. Per cambiare una connessione, creane una nuova ed elimina quella precedente.
Casi d'uso
Il caso d'uso selezionato influisce sullo schema della tabella di destinazione e sui campi delle chiavi di join importati. Espandi i casi d'uso di seguito per scoprire in che modo influiscono sulle chiavi schema e join:
Copertura e frequenza
Misura la copertura e la frequenza delle campagne su più canali e dispositivi, con i dati suddivisi per i tuoi segmenti utenti proprietari.
Nome campo | Descrizione | Tipo | Obbligatorio/facoltativo |
---|---|---|---|
chiave di join | Modifiche basate sulla chiave di join che utilizzi | string | Obbligatorio |
genere | Genere | string | Facoltativo |
età | Età | int | Facoltativo |
città | Città | string | Facoltativo |
country | Paese | string | Facoltativo |
stato_ciclo_di_ciclo | Stato della canalizzazione dei clienti: sconosciuto, onboarding, coinvolgimento, timeout e così via. | string | Facoltativo |
fedeltà_stato | Argento, oro, platino, diamante e così via. | string | Facoltativo |
data_ultimo_acquisto | Data dell'ultimo acquisto (timestamp a Unix) | int | Facoltativo |
ultimo_prodotto_acquisto | Ultimo acquisto / consumo prodotto | string | Facoltativo |
ultimo_contatto_con_ data | Data dell'ultimo contatto / coinvolgimento (timestamp di Unix) | int | Facoltativo |
LTV | LTV clienti | int | Facoltativo |
abbonamento_tipo | Sottotipo / tipo di abbonamento di un cliente, ad es. deluxe, piano Famiglia | string | Facoltativo |
transaction_id | ID univoco per questa transazione | string | Facoltativo |
transazione_date | Data della transazione (timestamp a periodo di Unix) | int | Facoltativo |
entrate_transazioni | Entrate derivanti dalla transazione | int | Facoltativo |
currency | Tipo di valuta della transazione | string | Facoltativo |
quantity | Quantità di articoli nella transazione | string | Facoltativo |
price | Prezzo per articolo nella transazione | int | Facoltativo |
transazione_costo | Costo di beni / servizi della transazione | int | Facoltativo |
profitto_transazione | Profitto lordo della transazione | int | Facoltativo |
product_id | SKU / ID del prodotto o dei prodotti nella transazione | string | Facoltativo |
descrizione_transazione | Altra descrizione / metadati / parametri della transazione | string | Facoltativo |
evento_tipo | Ad es. impressione dell'annuncio TV, email di marketing, visita al sito web, visita in negozio e così via. | string | Facoltativo |
event_id | ID univoco dell'evento riportato sopra | string | Facoltativo |
event_timestamp | Data dell'evento (timestamp a livello di Unix) | int | Facoltativo |
metadati_canale | Metadati o informazioni aggiuntivi su questo canale touchpoint | string | Facoltativo |
Attribuzione multi-touch
Misura l'attribuzione unendo i tuoi touchpoint proprietari con quelli ricavati dai dati di Google.
Nome campo | Descrizione | Tipo | Obbligatorio/facoltativo |
---|---|---|---|
chiave di join | Modifiche basate sulla chiave di join che utilizzi | string | Obbligatorio |
evento_tipo | Ad es. impressione dell'annuncio TV, email di marketing, visita al sito web, visita in negozio e così via. | string | Obbligatorio |
event_id | ID univoco dell'evento riportato sopra | string | Obbligatorio |
event_timestamp | Data dell'evento (timestamp a livello di Unix) | int | Obbligatorio |
credito | Valore del credito (utilizzato per l'attribuzione), ad esempio n. di conversioni | int | Facoltativo |
metadati_canale | Metadati o informazioni aggiuntivi su questo canale touchpoint | string | Facoltativo |
Metriche sul rendimento
Misura il rendimento delle campagne, con i dati suddivisi per gruppi demografici, affinità o segmenti utenti proprietari.
Nome campo | Descrizione | Tipo | Obbligatorio/facoltativo |
---|---|---|---|
chiave di join | Modifiche basate sulla chiave di join che utilizzi | string | Obbligatorio |
genere | Genere | string | Facoltativo |
età | Età | int | Facoltativo |
città | Città | string | Facoltativo |
country | Paese | string | Facoltativo |
stato_ciclo_di_ciclo | Stato della canalizzazione dei clienti: sconosciuto, onboarding, coinvolgimento, timeout e così via. | string | Facoltativo |
fedeltà_stato | Argento, oro, platino, diamante e così via. | string | Facoltativo |
data_ultimo_acquisto | Data dell'ultimo acquisto (timestamp a Unix) | int | Facoltativo |
ultimo_prodotto_acquisto | Ultimo acquisto / consumo prodotto | string | Facoltativo |
ultimo_contatto_con_ data | Data dell'ultimo contatto / coinvolgimento (timestamp di Unix) | int | Facoltativo |
LTV | LTV clienti | int | Facoltativo |
abbonamento_tipo | Sottotipo / tipo di abbonamento di un cliente, ad es. deluxe, piano Famiglia | string | Facoltativo |
Attribuzione del percorso verso la conversione
Analizza il rendimento dei percorsi verso la conversione con touchpoint personalizzati, tra cui quelli proprietari.
Nome campo | Descrizione | Tipo | Obbligatorio/facoltativo |
---|---|---|---|
chiave di join | Modifiche basate sulla chiave di join che utilizzi | string | Obbligatorio |
evento_tipo | Ad es. impressione dell'annuncio TV, email di marketing, visita al sito web, visita in negozio e così via. | string | Obbligatorio |
event_id | ID univoco dell'evento riportato sopra | string | Obbligatorio |
event_timestamp | Data dell'evento (timestamp a livello di Unix) | int | Obbligatorio |
credito | Valore del credito (utilizzato per l'attribuzione), ad esempio n. di conversioni | int | Facoltativo |
metadati_canale | Metadati o informazioni aggiuntivi su questo canale touchpoint | string | Facoltativo |
Sovrapposizione di più publisher
Analizza la copertura e la frequenza delle campagne tra più publisher, con i dati suddivisi per i tuoi segmenti utenti proprietari.
Nome campo | Descrizione | Tipo | Obbligatorio/facoltativo |
---|---|---|---|
chiave di join | Modifiche basate sulla chiave di join che utilizzi | string | Obbligatorio |
genere | Genere | string | Facoltativo |
età | Età | int | Facoltativo |
città | Città | string | Facoltativo |
country | Paese | string | Facoltativo |
stato_ciclo_di_ciclo | Stato della canalizzazione dei clienti: sconosciuto, onboarding, coinvolgimento, timeout e così via. | string | Facoltativo |
fedeltà_stato | Argento, oro, platino, diamante e così via. | string | Facoltativo |
data_ultimo_acquisto | Data dell'ultimo acquisto (timestamp a Unix) | int | Facoltativo |
ultimo_prodotto_acquisto | Ultimo acquisto / consumo prodotto | string | Facoltativo |
ultimo_contatto_con_ data | Data dell'ultimo contatto / coinvolgimento (timestamp di Unix) | int | Facoltativo |
LTV | LTV clienti | int | Facoltativo |
abbonamento_tipo | Sottotipo / tipo di abbonamento di un cliente, ad es. deluxe, piano Famiglia | string | Facoltativo |
Rendimento delle campagne simultanee
Misura l'impatto dell'esposizione a campagne parallele sul rendimento, con i dati suddivisi per i tuoi segmenti utenti proprietari.
Nome campo | Descrizione | Tipo | Obbligatorio/facoltativo |
---|---|---|---|
chiave di join | Modifiche basate sulla chiave di join che utilizzi | string | Obbligatorio |
genere | Genere | string | Facoltativo |
età | Età | int | Facoltativo |
città | Città | string | Facoltativo |
country | Paese | string | Facoltativo |
stato_ciclo_di_ciclo | Stato della canalizzazione dei clienti: sconosciuto, onboarding, coinvolgimento, timeout e così via. | string | Facoltativo |
fedeltà_stato | Argento, oro, platino, diamante e così via. | string | Facoltativo |
data_ultimo_acquisto | Data dell'ultimo acquisto (timestamp a Unix) | int | Facoltativo |
ultimo_prodotto_acquisto | Ultimo acquisto / consumo prodotto | string | Facoltativo |
ultimo_contatto_con_ data | Data dell'ultimo contatto / coinvolgimento (timestamp di Unix) | int | Facoltativo |
LTV | LTV clienti | int | Facoltativo |
abbonamento_tipo | Sottotipo / tipo di abbonamento di un cliente, ad es. deluxe, piano Famiglia | string | Facoltativo |
transaction_id | ID univoco per questa transazione | string | Facoltativo |
transazione_date | Data della transazione (timestamp a periodo di Unix) | int | Facoltativo |
entrate_transazioni | Entrate derivanti dalla transazione | int | Facoltativo |
currency | Tipo di valuta della transazione | string | Facoltativo |
quantity | Quantità di articoli nella transazione | string | Facoltativo |
price | Prezzo per articolo nella transazione | int | Facoltativo |
transazione_costo | Costo di beni / servizi della transazione | int | Facoltativo |
profitto_transazione | Profitto lordo della transazione | int | Facoltativo |
product_id | SKU / ID del prodotto o dei prodotti nella transazione | string | Facoltativo |
descrizione_transazione | Altra descrizione / metadati / parametri della transazione | string | Facoltativo |
evento_tipo | Ad es. impressione dell'annuncio TV, email di marketing, visita al sito web, visita in negozio e così via. | string | Facoltativo |
event_id | ID univoco dell'evento riportato sopra | string | Facoltativo |
event_timestamp | Data dell'evento (timestamp a livello di Unix) | int | Facoltativo |
metadati_canale | Metadati o informazioni aggiuntivi su questo canale touchpoint | string | Facoltativo |
Confronto delle campagne
Confrontare il rendimento delle campagne Google e di quello di altri publisher.
Nome campo | Descrizione | Tipo | Obbligatorio/facoltativo |
---|---|---|---|
chiave di join | Modifiche basate sulla chiave di join che utilizzi | string | Obbligatorio |
canale | Canale su cui è stata pubblicata la campagna, ad esempio Facebook, TV e così via. | string | Obbligatorio |
partner | Nome del partner, se coinvolto | string | Facoltativo |
tattica | Nome della tattica specifica | string | Facoltativo |
metadati_campagna | Metadati o informazioni aggiuntive su questa campagna | string | Facoltativo |
date | Data dell'attività della campagna (timestamp epoca Unix) | int | Obbligatorio |
impressions | Numero di impressioni di questa campagna in questa data | int | Obbligatorio |
clicks | Numero di clic da questa campagna in questa data | int | Obbligatorio |
conversioni | Numero di conversioni di questa campagna in questa data | int | Obbligatorio |
cost | Costo totale di questa campagna in questa data | int | Obbligatorio |
Confronto tra affinità ed etichette
Trova la sovrapposizione tra i segmenti utenti proprietari e i segmenti di pubblico in-market e di affinità di Google.
Nome campo | Descrizione | Tipo | Obbligatorio/facoltativo |
---|---|---|---|
chiave di join | Modifiche basate sulla chiave di join che utilizzi | string | Obbligatorio |
genere | Genere | string | Facoltativo |
età | Età | int | Facoltativo |
città | Città | string | Facoltativo |
country | Paese | string | Facoltativo |
stato_ciclo_di_ciclo | Stato della canalizzazione dei clienti: sconosciuto, onboarding, coinvolgimento, timeout e così via. | string | Facoltativo |
fedeltà_stato | Argento, oro, platino, diamante e così via. | string | Facoltativo |
data_ultimo_acquisto | Data dell'ultimo acquisto (timestamp a Unix) | int | Facoltativo |
ultimo_prodotto_acquisto | Ultimo acquisto / consumo prodotto | string | Facoltativo |
ultimo_contatto_con_ data | Data dell'ultimo contatto / coinvolgimento (timestamp di Unix) | int | Facoltativo |
LTV | LTV clienti | int | Facoltativo |
abbonamento_tipo | Sottotipo / tipo di abbonamento di un cliente, ad es. deluxe, piano Famiglia | string | Facoltativo |
Analisi delle conversioni di app
Misura l'impatto delle campagne sul comportamento in-app.
Nome campo | Descrizione | Tipo | Obbligatorio/facoltativo |
---|---|---|---|
chiave di join | Modifiche basate sulla chiave di join che utilizzi | string | Obbligatorio |
date | Data dell'attività nelle app per dispositivi mobili (timestamp a Unix del periodo) | int | Obbligatorio |
installa | Valore booleano che indica se un giorno è stato registrato un evento di installazione | boolean | Obbligatorio |
registrazione | Valore booleano che indica se un giorno è stato registrato un evento di registrazione | boolean | Obbligatorio |
login | Valore booleano che indica se un giorno è stato registrato un evento di accesso | boolean | Obbligatorio |
acquisti_in_app | Importo totale degli acquisti in-app in questo giorno | int | Obbligatorio |
Calcolo del ROI
Misura i ritorni incrementali in base ai tuoi dati sulle conversioni proprietari.
Nome campo | Descrizione | Tipo | Obbligatorio/facoltativo |
---|---|---|---|
chiave di join | Modifiche basate sulla chiave di join che utilizzi | string | Obbligatorio |
transaction_id | ID univoco per questa transazione | string | Obbligatorio |
transazione_date | Data della transazione (timestamp a periodo di Unix) | int | Obbligatorio |
entrate_transazioni | Entrate derivanti dalla transazione | int | Obbligatorio |
currency | Tipo di valuta della transazione | string | Facoltativo |
quantity | Quantità di articoli nella transazione | string | Facoltativo |
price | Prezzo per articolo nella transazione | int | Facoltativo |
transazione_costo | Costo di beni / servizi della transazione | int | Facoltativo |
profitto_transazione | Profitto lordo della transazione | int | Facoltativo |
product_id | SKU / ID del prodotto o dei prodotti nella transazione | string | Facoltativo |
descrizione_transazione | Altra descrizione / metadati / parametri della transazione | string | Facoltativo |
Attivazione dei segmenti di pubblico personalizzati
Crea e attiva segmenti utenti personalizzati in base ai tuoi dati proprietari e a quelli di Google
Nome campo | Descrizione | Tipo | Obbligatorio/facoltativo |
---|---|---|---|
chiave di join | Modifiche basate sulla chiave di join che utilizzi | string | Obbligatorio |
genere | Genere | string | Facoltativo |
età | Età | int | Facoltativo |
città | Città | string | Facoltativo |
country | Paese | string | Facoltativo |
stato_ciclo_di_ciclo | Stato della canalizzazione dei clienti: sconosciuto, onboarding, coinvolgimento, timeout e così via. | string | Facoltativo |
fedeltà_stato | Argento, oro, platino, diamante e così via. | string | Facoltativo |
data_ultimo_acquisto | Data dell'ultimo acquisto (timestamp a Unix) | int | Facoltativo |
ultimo_prodotto_acquisto | Ultimo acquisto / consumo prodotto | string | Facoltativo |
ultimo_contatto_con_ data | Data dell'ultimo contatto / coinvolgimento (timestamp di Unix) | int | Facoltativo |
LTV | LTV clienti | int | Facoltativo |
abbonamento_tipo | Sottotipo / tipo di abbonamento di un cliente, ad es. deluxe, piano Famiglia | string | Facoltativo |
Offerte personalizzate
Ottimizza le strategie di offerta di Display & Video 360 in base ai tuoi dati proprietari e a quelli di Google
Nome campo | Descrizione | Tipo | Obbligatorio/facoltativo |
---|---|---|---|
chiave di join | Modifiche basate sulla chiave di join che utilizzi | string | Obbligatorio |
genere | Genere | string | Facoltativo |
età | Età | int | Facoltativo |
città | Città | string | Facoltativo |
country | Paese | string | Facoltativo |
stato_ciclo_di_ciclo | Stato della canalizzazione dei clienti: sconosciuto, onboarding, coinvolgimento, timeout e così via. | string | Facoltativo |
fedeltà_stato | Argento, oro, platino, diamante e così via. | string | Facoltativo |
data_ultimo_acquisto | Data dell'ultimo acquisto (timestamp a Unix) | int | Facoltativo |
ultimo_prodotto_acquisto | Ultimo acquisto / consumo prodotto | string | Facoltativo |
ultimo_contatto_con_ data | Data dell'ultimo contatto / coinvolgimento (timestamp di Unix) | int | Facoltativo |
LTV | LTV clienti | int | Facoltativo |
abbonamento_tipo | Sottotipo / tipo di abbonamento di un cliente, ad es. deluxe, piano Famiglia | string | Facoltativo |
Rendimento di più publisher
Misura le metriche sul rendimento, con i dati suddivisi per publisher o per publisher e segmenti utenti proprietari
Nome campo | Descrizione | Tipo | Obbligatorio/facoltativo |
---|---|---|---|
chiave di join | Modifiche basate sulla chiave di join che utilizzi | string | Obbligatorio |
genere | Genere | string | Facoltativo |
età | Età | int | Facoltativo |
città | Città | string | Facoltativo |
country | Paese | string | Facoltativo |
stato_ciclo_di_ciclo | Stato della canalizzazione dei clienti: sconosciuto, onboarding, coinvolgimento, timeout e così via. | string | Facoltativo |
fedeltà_stato | Argento, oro, platino, diamante e così via. | string | Facoltativo |
data_ultimo_acquisto | Data dell'ultimo acquisto (timestamp a Unix) | int | Facoltativo |
ultimo_prodotto_acquisto | Ultimo acquisto / consumo prodotto | string | Facoltativo |
ultimo_contatto_con_ data | Data dell'ultimo contatto / coinvolgimento (timestamp di Unix) | int | Facoltativo |
LTV | LTV clienti | int | Facoltativo |
abbonamento_tipo | Sottotipo / tipo di abbonamento di un cliente, ad es. deluxe, piano Famiglia | string | Facoltativo |