Corrispondenza dei dati forniti dall'utente

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:

  1. 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.
  2. 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.

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.

  1. Invia il tuo rappresentante di Google:
    1. L'ID account Ads Data Hub che utilizzerai per la corrispondenza dei dati forniti dall'utente.
    2. L'indirizzo email del super user che ha accesso al tuo progetto di destinazione.
    3. Chiedi al tuo rappresentante Google che l'account e il super user siano inclusi nella lista consentita.
  2. 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.

    1. Vai alla libreria API di Cloud Console.
    2. Seleziona il progetto Origine dati dall'elenco.
    3. 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.
    4. Nella pagina dell'API, fai clic su ABILITA.
    5. Contattare il rappresentante di Google per verificare che l'API sia abilitata.
  3. 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.

  4. 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

Email

  • 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:

  1. Email, telefono, indirizzo (metodo più efficace)
  2. Telefono, indirizzo
  3. Indirizzo email, indirizzo
  4. Email, telefono
  5. Indirizzo
  6. Telefono
  7. Email (debole)

Creare una tabella delle corrispondenze

  1. Fai clic su Connessioni > Corrispondenza dei dati > Crea connessione.
  2. Scegli un'origine dati, poi fai clic su Connetti. Autentica, se richiesto, fai clic su Avanti.
  3. 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

  4. Imposta destination (destinazione), quindi fai clic su Next (Avanti):
    1. Seleziona un nuovo set di dati BigQuery da utilizzare come destinazione intermedia per i dati. Questo passaggio garantisce che i dati siano formattati correttamente.
  5. (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.
    1. Fai clic su Azione > > Trasforma.
    2. Nel riquadro visualizzato, fai clic su Aggiungi trasformazione o Aggiungi un'altra trasformazione.
    3. Scegli un tipo di trasformazione dal menu a discesa e inserisci i requisiti.
    4. Fai clic su Salva.
  6. Scegli almeno una chiave di join per mappare i campi che utilizzerai, quindi fai clic su Avanti.
  7. Imposta una programmazione:
    1. Assegna un nome alla connessione.
    2. 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.
    3. Specifica la modalità di gestione delle collisioni di ID utente. Puoi scegliere se mantenere la corrispondenza esistente o sovrascrivere con nuovi dati.
  8. 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:

  1. Fai clic su Connessioni > Corrispondenza dei dati.
  2. Fai clic sul nome della connessione per visualizzarne i dettagli.
  3. 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).
    1. 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.
    2. 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 cookie
  • match_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:

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

  1. Fai clic su Connessioni > I tuoi dati proprietari > Crea connessione.
  2. 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.

  3. 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.
  4. 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

  5. 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.
  6. Imposta una pianificazione.
    1. Assegna un nome alla connessione.
    2. 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.
  7. 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:

  1. Fai clic su Connessioni > I tuoi dati proprietari.
  2. Fai clic sul nome della connessione per visualizzarne i dettagli.
  3. 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).
    1. 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.
    2. 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