Mise en correspondance des données fournies par l'utilisateur

Présentation

La fonctionnalité de mise en correspondance des données fournies par l'utilisateur associe les données first party que vous avez collectées à propos d'un utilisateur, telles que les informations provenant de vos sites Web, de vos applications ou de vos magasins physiques, avec l'activité de l'utilisateur connecté dans les données des annonces Google, à l'exclusion de Google Marketing Platform. Pour pouvoir être mis en correspondance avec des données fournies par l'utilisateur, l'événement d'annonce doit être associé à un utilisateur connecté dans les données d'annonces Google.

La mise en correspondance des données fournies par l'utilisateur présente des avantages uniques par rapport aux autres formes de correspondance des clients. Mise en correspondance des données fournies par l'utilisateur:

  • Il résiste mieux aux changements du secteur que les données tierces
  • Ne sera pas affectée par l'abandon à venir des cookies tiers, car la mise en correspondance des données fournies par les utilisateurs n'est disponible que dans l'inventaire détenu et géré par Google, pour les utilisateurs connectés
  • Proposer des expériences client plus pertinentes, ce qui entraîne souvent un engagement client plus élevé
  • Fournit des insights client plus complets

Résumé du processus

Une fois que vous avez activé la mise en correspondance des données fournies par l'utilisateur dans votre compte, vous devez suivre deux étapes pour continuer à utiliser la fonctionnalité:

  1. Ingestion de données first party dans Ads Data Hub
    • Vous formatez et importez vos données first party dans votre ensemble de données BigQuery. Vous pouvez utiliser n'importe quel ensemble de données BigQuery autre que votre projet administrateur.
    • Vous lancez une requête de mise en correspondance des données en créant une connexion et un calendrier d'importation.
    • Google associe les données de votre projet aux données Google contenant l'ID utilisateur de Google et les données hachées fournies par les utilisateurs pour créer et mettre à jour des tables *_match.
  2. Requêtes en cours dans Ads Data Hub, en fonction des données correspondantes
    • Vous exécutez des requêtes sur les tables *_match de la même manière que vous exécutez des requêtes standards dans Ads Data Hub.

Projets de source de données et de destination

Les connexions nécessitent d'utiliser deux projets Google Cloud différents: un projet de source de données et un projet de destination.

  • Source des données: ce projet contient vos données publicitaires propriétaires dans leur format brut.
  • Destination: ensemble de données BigQuery dans lequel Ads Data Hub écrit. Par défaut, il s'agit de votre projet administrateur. Pour savoir comment passer à un autre projet Google Cloud, consultez Configurer des comptes de service.

Restrictions de confidentialité

Collecte des données client

Lorsque vous utilisez la mise en correspondance des données fournies par l'utilisateur, vous devez importer des données first party. Il peut s'agir d'informations que vous avez collectées à partir de vos sites Web, d'applications ou de magasins physiques, ou d'informations qu'un client a partagées directement avec vous.

Taille des données

Pour protéger la confidentialité des données des utilisateurs finaux, la mise en correspondance des données fournies par l'utilisateur applique les exigences suivantes concernant la taille de vos données:

  • Vous devez importer au moins 1 000 enregistrements dans votre liste d'utilisateurs.
  • Chaque mise à jour du tableau de correspondance doit inclure un nombre minimal d'utilisateurs nouvellement mis en correspondance. Ce comportement est semblable à la vérification des différences.
  • Votre liste ne doit pas dépasser le nombre maximal d'enregistrements. Pour en savoir plus sur la limite de données maximale, contactez votre représentant Google.

Activer l'onglet "Connexions"

Avant de commencer, configurez votre compte Ads Data Hub pour activer l'onglet Connections (Connexions), dans lequel vous établirez votre pipeline de mise en correspondance des données. Vous n'aurez à effectuer ces étapes qu'une seule fois.

  1. Envoyez votre représentant Google :
    1. ID de compte Ads Data Hub que vous utiliserez pour mettre en correspondance les données fournies par l'utilisateur.
    2. Adresse e-mail du super-utilisateur ayant accès à votre projet Destination.
    3. Vérifiez auprès de votre représentant Google que le compte et le super-utilisateur sont sur la liste d'autorisation.
  2. Activez l'API Ads Data Connector dans le projet Google Cloud désigné. Par défaut, il s'agit de votre projet d'administration. Pour utiliser un autre projet, procédez comme suit avec l'autre projet Google Cloud en tant que projet de source de données. Ces étapes doivent être effectuées en étant connecté en tant que super-utilisateur sur la liste d'autorisation.

    1. Accédez à la bibliothèque d'API Cloud Console.
    2. Sélectionnez votre projet de source de données dans la liste.
    3. Recherchez l'API Ads Data Connector. Si l'API Ads Data Connector ne s'affiche pas dans les résultats de recherche, cela peut indiquer que le compte Google connecté n'est pas le super-utilisateur ajouté à la liste d'autorisation.
    4. Sur la page de l'API, cliquez sur ACTIVER.
    5. Vérifiez auprès de votre représentant Google que l'API est activée.
  3. Votre représentant Google vous enverra trois adresses e-mail, désignées comme comptes de service Datafusion, Dataproc et UPDM.

    Une nouvelle section Connexions s'affichera également dans votre compte Ads Data Hub, contenant les onglets Vos données first party et Correspondance des données. Découvrez les cas d'utilisation de chaque onglet.

  4. Accordez les autorisations appropriées aux comptes de service. Pour obtenir une explication des différents comptes de service et de leurs autorisations requises, sélectionnez votre source de données dans le tableau:

    BigQuery

    Compte de service Datafusion
    Objectif Le compte de service Datafusion permet d'afficher une liste des champs sources dans l'interface utilisateur Ads Data Hub.
    Format service-some-number@gcp-sa-datafusion.iam.gserviceaccount.com
    Accès requis
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    Pour des ensembles de données spécifiques dans les projets de source de données et de destination
    Storage Admin
    roles/storage.admin
    pour le projet Source de données ou un bucket de stockage dédié
    Compte de service Dataproc
    Objectif Le compte de service Dataproc est chargé d'exécuter les pipelines de données en arrière-plan.
    Format some-number-compute@developer.gserviceaccount.com
    Accès requis
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    Pour des ensembles de données spécifiques dans les projets de source de données et de destination
    BigQuery Data Editor
    roles/bigquery.dataEditor
    pour des ensembles de données spécifiques du projet Destination
    BigQuery Job User
    roles/bigquery.jobUser
    pour les projets de source de données et de destination
    Storage Admin
    roles/storage.admin
    pour les projets de source de données et de destination, ou d'un bucket de stockage dédié
    Compte de service UPDM
    Objectif Le compte de service UPDM permet d'exécuter la tâche correspondante.
    Format service-some-number@gcp-sa-adsdataconnector.iam.gserviceaccount.com
    Accès requis
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    pour le projet Destination
    BigQuery Job User
    roles/bigquery.jobUser
    pour le projet Destination

    Cloud Storage

    Compte de service Datafusion
    Objectif Le compte de service Datafusion permet d'afficher une liste des champs sources dans l'interface utilisateur Ads Data Hub.
    Format service-some-number@gcp-sa-datafusion.iam.gserviceaccount.com
    Accès requis
    Storage Object Viewer
    roles/storage.objectViewer
    pour des buckets de stockage spécifiques dans le projet Source de données
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    pour le projet Source de données ou un bucket de stockage dédié
    Storage Admin
    roles/storage.admin
    pour le projet Source de données ou un bucket de stockage dédié
    Compte de service Dataproc
    Objectif Le compte de service Dataproc est chargé d'exécuter les pipelines de données en arrière-plan.
    Format some-number-compute@developer.gserviceaccount.com
    Accès requis
    Storage Admin
    roles/storage.admin
    pour les projets de source de données et de destination, ou d'un bucket de stockage dédié
    BigQuery Job User
    roles/bigquery.jobUser
    pour le projet Destination
    Compte de service UPDM
    Objectif Le compte de service UPDM permet d'exécuter la tâche correspondante.
    Format service-some-number@gcp-sa-adsdataconnector.iam.gserviceaccount.com
    Accès requis
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    pour le projet Destination
    BigQuery Job User
    roles/bigquery.jobUser
    pour le projet Destination

    Salesforce

    bientôt disponible

Ingérer des données first party

Mettre en forme les données d'entrée

Vos données doivent respecter les exigences de mise en forme suivantes pour être correctement mises en correspondance:

  • Le cas échéant, vous devez effectuer l'importation à l'aide du hachage SHA256 encodé en tant que chaîne Base16. Bien que le protocole UPDM soit compatible avec Base64, il diffère des consignes sur le ciblage par liste de clients Google Ads.
  • Les champs de saisie doivent être mis en forme en tant que chaînes. Si vous utilisez la fonction de hachage SHA256 et la fonction d'encodage Base16 de BigQuery (TO_HEX), utilisez la transformation TO_HEX(SHA256(user_data)) :

User-ID

  • Texte brut
  • Hachage: aucun

E-mail

  • Supprimer les espaces blancs
  • N'utilisez que des minuscules.
  • Incluez un nom de domaine pour chaque adresse e-mail (par exemple, gmail.com ou hotmail.co.jp).
  • Supprimez les accents (par exemple, remplacez è, é, ê ou ë par e).
  • Hachage: SHA256 encodé en base16

Valide:TO_HEX(SHA256("jeffersonloveshiking@gmail.com"))

Non valide: TO_HEX(SHA256("JéffersonLôvesHiking@gmail.com"))

Phone

  • Supprimer les espaces blancs
  • Utilisez le format E.164 (par exemple, US +14155552671, Royaume-Uni +442071838750).
  • Inclure le code pays (y compris les États-Unis)
  • Supprimez tous les caractères spéciaux à l'exception du caractère "+".
  • Hachage: SHA256 encodé en base16

Valide : TO_HEX(SHA256("+18005550101"))

Non valide : TO_HEX(SHA256("(800) 555-0101"))

Prénom

  • Supprimer les espaces blancs
  • N'utilisez que des minuscules.
  • Supprimez tous les préfixes, tels que
  • Ne supprimez pas les accents (par exemple, è, é, ê ou ë).
  • Hachage: SHA256 encodé en base16

Valide : TO_HEX(SHA256("daní"))

Non valide: TO_HEX(SHA256("Daní"))

Nom

  • Supprimer les espaces blancs
  • N'utilisez que des minuscules.
  • Supprimez tous les préfixes, tels que Jr.
  • Ne supprimez pas les accents (par exemple, è, é, ê ou ë).
  • Hachage: SHA256 encodé en base16

Valide:TO_HEX(SHA256("delacruz"))

Non valide: TO_HEX(SHA256("de la Cruz, Jr."))

Pays

  • Incluez le code pays même si toutes vos données client proviennent du même pays.
  • Ne hachez pas les données de pays.
  • Utilisez les codes pays ISO 3166-1 alpha-2.
  • Hachage: aucun

Valide : US

Non valide:United States of America ou USA

Code postal

  • Ne hachez pas les données de code postal.
  • Les codes postaux internationaux et ceux des États-Unis sont acceptés.
  • États-Unis :
    • Les codes à cinq chiffres sont autorisés (94043, par exemple).
    • Les codes à cinq chiffres suivis d'une extension de quatre chiffres sont également autorisés (par exemple, 94043-1351 ou 940431351).
  • Pour tous les autres pays :
    • Aucune mise en forme n'est nécessaire (pas besoin de mettre des minuscules ou des espaces, ni des caractères spéciaux).
    • N'indiquez pas l'extension de code postal.
  • Hachage: aucun

Validation du hachage et encodage des données

Vous pouvez utiliser les scripts de validation de hachage suivants pour vous assurer que vos données sont correctement formatées.

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`;

Clés de jointure

Certaines combinaisons de données fournies par les utilisateurs sont plus performantes que d'autres. Voici une liste de différentes combinaisons de données fournies par l'utilisateur, classées par niveau d'importance:

  1. Adresse e-mail, numéro de téléphone, adresse (le plus élevé)
  2. Téléphone, adresse
  3. Adresse e-mail, adresse
  4. Adresse e-mail, numéro de téléphone
  5. Adresse
  6. Phone
  7. Adresse e-mail (la plus faible)

Créer un tableau de correspondance

  1. Cliquez sur Connexions &gt ; Correspondance de données &gt ; Créer une connexion.
  2. Choisissez une source de données, puis cliquez sur Associer. Authentifiez-vous si vous y êtes invité, puis cliquez sur Suivant.
  3. Configurez votre source de données, puis cliquez sur Suivant :

    BigQuery

    Sélectionnez la table BigQuery à importer.

    Cloud Storage

    Saisissez le chemin d'accès au fichier gsutil, par exemple gs://my-bucket/folder/, puis sélectionnez le format de votre fichier.

    Salesforce

    bientôt disponible

  4. Définissez la destination, puis cliquez sur Next (Suivant) :
    1. Sélectionnez un nouvel ensemble de données BigQuery à utiliser comme destination intermédiaire pour les données. Cette étape garantit que vos données sont correctement mises en forme.
  5. Facultatif: Modifiez le format de vos données. Les transformations incluent le hachage de calcul, la mise en forme en minuscules/majuscules et la fusion/division des champs.
    1. Cliquez sur Action > > Transform.
    2. Dans le panneau qui s'affiche, cliquez sur Ajouter une transformation ou sur Ajouter une autre transformation.
    3. Choisissez un type de transformation dans le menu déroulant, puis saisissez les exigences.
    4. Cliquez sur Enregistrer.
  6. Choisissez au moins une clé de jointure pour mapper les champs que vous utiliserez, puis cliquez sur Next (Suivant).
  7. Définissez un calendrier :
    1. Attribuez un nom à votre connexion.
    2. Définissez une fréquence en dictant la fréquence d'importation des données dans l'ensemble de données que vous avez sélectionné à l'étape précédente. Chaque exécution écrasera les données de la table destination.
    3. Indiquez comment vous souhaitez que les conflits d'ID utilisateur soient traités. Vous pouvez choisir de conserver la correspondance existante ou de l'écraser avec de nouvelles données.
  8. Cliquez sur Terminer.

Afficher les informations sur la connexion

La page des détails de la connexion vous donne des informations sur les exécutions et les erreurs récentes d'une connexion donnée. Pour afficher les détails d'une connexion spécifique:

  1. Cliquez sur Connexions &gt ; Mise en correspondance des données.
  2. Cliquez sur le nom de la connexion pour afficher ses détails.
  3. Vous pouvez maintenant voir les détails de la connexion et les exécutions récentes. Chacune présente deux types d'erreurs possibles: les erreurs au niveau de la connexion (la connexion n'a pas été exécutée) et les erreurs au niveau des lignes (une ligne n'a pas été importée).
    1. L'état Failed (Échec) indique que la connexion n'a pas pu être exécutée (problème d'autorisation de compte de service, par exemple). Cliquez sur l'état des erreurs pour voir celles qui ont affecté la connexion.
    2. L'état Completed (Terminée) indique que la connexion a bien été exécutée. Toutefois, il peut y avoir des erreurs au niveau des lignes, indiquées par une valeur non nulle dans la colonne "Lignes avec erreurs". Cliquez sur la valeur pour en savoir plus sur les enregistrements ayant échoué.

Modifier une connexion

La modification des connexions n'est pas encore disponible. Pour modifier une connexion, créez-en une, puis supprimez l'ancienne.

Interroger les données dans Ads Data Hub

Interroger les tableaux de correspondance

Lorsque vos tableaux de correspondance contiennent suffisamment de données pour répondre aux critères de confidentialité, vous êtes prêt à exécuter des requêtes sur les tableaux. Chaque table du schéma Ads Data Hub contenant un champ user_id est accompagnée d'une table *_match. Par exemple, pour le tableau adh.google_ads_impressions, Ads Data Hub génère également un tableau de correspondance appelé adh.google_ads_impressions_match qui contient uniquement les ID utilisateur. Ces tables contiennent un sous-ensemble des utilisateurs disponibles dans les tables d'origine, où il existe une correspondance sur user_id. Par exemple, si la table d'origine contient des données pour les utilisateurs A et B, mais que seul l'utilisateur A correspond, l'utilisateur B ne figurera pas dans le tableau de correspondance.

Les tableaux de correspondance contiennent une colonne supplémentaire appelée external_cookie, qui stocke vos cookies au format BYTES.

Le champ "external_cookie" contient votre identifiant au format BYTES. Vous devez convertir votre clé de jointure en BYTES pour des correspondances réussies.

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

Utilisez des tableaux de correspondance en interrogeant les vues *_match des tableaux d'événements d'annonces. Si vous utilisez également la correspondance des cookies, vous pouvez filtrer par type de correspondance dans vos requêtes. Utilisez:

  • match_type = 1 pour la mise en correspondance des cookies
  • match_type = 2 pour la mise en correspondance des données fournies par l'utilisateur

Bien que match_type soit autorisé dans les requêtes, ce champ ne peut pas être renvoyé dans les résultats. Vous ne devez donc pas l'inclure dans l'instruction finale SELECT.

Exemples de requêtes

Nombre d'utilisateurs correspondants

Cette requête comptabilise le nombre d'utilisateurs correspondants dans votre tableau des impressions Google Ads.

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

SELECT COUNT(DISTINCT user_id)
FROM adh.google_ads_impressions_match

Compter les utilisateurs avec données fournies

Cette requête comptabilise le nombre d'utilisateurs correspondants par type de correspondance. Étant donné que les tables d'événements d'annonces contiennent des événements provenant à la fois des utilisateurs connectés et non connectés, le filtrage sur la mise en correspondance des données fournies par l'utilisateur permettra uniquement d'établir une correspondance avec les utilisateurs connectés.

/* 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

Cette requête montre comment associer des données first party à des données 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

Cette requête comptabilise le nombre d'utilisateurs mis en correspondance en fonction des données fournies par les utilisateurs, à l'exclusion des utilisateurs avec correspondance pour les cookies. N'oubliez pas que les tableaux d'événements d'annonces contiennent des événements provenant à la fois des utilisateurs connectés et non connectés. Par conséquent, si vous filtrez uniquement sur la mise en correspondance des données fournies par les utilisateurs, seuls les utilisateurs connectés seront mis en correspondance.

/* 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

Liens

Pour obtenir des insights publicitaires utiles, il faut souvent assembler des données provenant de plusieurs sources. Créer votre propre solution à ce problème de pipeline de données nécessite un investissement important en temps et en ingénierie. Les connexions rationalisent ce processus en fournissant une interface guidée étape par étape pour importer, transformer et écrire des données dans BigQuery. Après avoir écrit vos données, vous pouvez les utiliser dans vos requêtes Ads Data Hub ou dans tout autre produit lu à partir de BigQuery. En enrichissant vos requêtes avec des données first party, vous pouvez offrir une expérience client plus riche et mieux résister aux changements du suivi des annonces dans l'ensemble du secteur.

En outre, Connections est conçu avec des outils qui vous permettent de chiffrer et de partager des informations personnelles avec les partenaires tout en respectant la confidentialité. Une fois les colonnes contenant des informations personnelles sélectionnées, Connection chiffre les données. Ainsi, vos données first party ne peuvent être exportées ou lues que par les personnes autorisées à le faire.

Vous pouvez utiliser des connexions pour importer des données depuis:

Il peut être difficile de savoir quelles données first party sont nécessaires pour votre cas d'utilisation de mesure ou d'activation. C'est pourquoi Connections fournit une liste complète de cas d'utilisation prédéfinis, puis vous guide tout au long de l'expérience (extraction, transformation et chargement) de vos données.

Différences entre vos données first party et la mise en correspondance des données

Le workflow pour configurer un tableau de correspondance fourni par l'utilisateur est semblable à celui permettant de créer une connexion de données first party standard via des connexions. Cependant, pour les exigences à deux projets, vous devez configurer des connexions avant d'utiliser la mise en correspondance des données fournies par l'utilisateur. Si vous n'utilisez que des connexions comme outil de préparation des données, vous ne pouvez utiliser qu'un seul projet Google Cloud.

Exigences supplémentaires pour la mise en correspondance des données fournies par l'utilisateur:

  • Vous devez utiliser une adresse e-mail, un numéro de téléphone, une adresse ou n'importe quelle combinaison comme clé d'association.
  • Vous devez spécifier le mode de résolution des conflits liés à user_id. Vous pouvez choisir de conserver la correspondance existante ou de l'écraser avec de nouvelles données.
  • Vous devez utiliser un compte de service UPDM en plus des comptes de fusion de données et Dataproc.

Votre workflow de données first party

Créer une connexion

  1. Cliquez sur Connexions &gt ; Vos données first party &gt ; Créer une connexion.
  2. Connectez-vous à une source de données. Vous serez invité à vous authentifier.

    BigQuery

    Les autorisations étant basées sur votre compte Google, aucune authentification supplémentaire n'est requise. Assurez-vous que les comptes de service Connections disposent d'un accès en lecture à la table.

    Cloud Storage

    Les autorisations étant basées sur votre compte Google, aucune authentification supplémentaire n'est requise. Assurez-vous que les comptes de service Connections disposent d'un accès en lecture au bucket de stockage.

    Salesforce

    (Bientôt disponible)

    Utilisez les identifiants Salesforce de votre organisation pour vous connecter. Google ne stocke pas vos identifiants. Par conséquent, chaque nouvelle connexion Salesforce nécessitera une nouvelle authentification.

  3. Choisissez un cas d'utilisation et une clé de jointure, puis cliquez sur Sélectionner un cas d'utilisation. Si vous ne souhaitez pas sélectionner de cas d'utilisation, cliquez sur Ignorer. Vous ne pourrez pas sélectionner de cas d'utilisation plus tard.
  4. Configurez votre source de données.

    BigQuery

    Sélectionnez la table BigQuery à importer.

    Cloud Storage

    Saisissez le chemin d'accès au fichier gsutil, par exemple gs://my-bucket/folder/, puis sélectionnez le format de votre fichier.

    Salesforce

    bientôt disponible

  5. Configurez les champs Destination et Map.
    • Sélectionnez le projet, l'ensemble de données et la table Google Cloud dans lesquels vous souhaitez écrire vos résultats. Assurez-vous que les comptes de service Connections disposent d'un accès en écriture à l'ensemble de données dans lequel vous écrivez.
    • Chaque connexion crée une table dans laquelle écrire. Si vous sélectionnez une table qui existe déjà, une erreur s'affiche.
    • Mappez les champs de destination (champs qui apparaîtront dans la table que vous créez) avec les champs sources de vos données sources.
  6. Paramétrer l'économiseur de batterie.
    1. Attribuez un nom à votre connexion.
    2. Définissez une fréquence en dictant la fréquence d'importation des données dans l'ensemble de données que vous avez sélectionné à l'étape précédente. Chaque exécution écrasera les données de la table destination.
  7. Cliquez sur OK. Les connexions qui traitent de grandes quantités de données peuvent prendre plusieurs heures.

Afficher les informations sur la connexion

La page des détails de la connexion vous donne des informations sur les exécutions et les erreurs récentes d'une connexion donnée. Pour afficher les détails d'une connexion spécifique:

  1. Cliquez sur Connexions > Vos données first party.
  2. Cliquez sur le nom de la connexion pour afficher ses détails.
  3. Vous pouvez maintenant voir les détails de la connexion et les exécutions récentes. Chacune présente deux types d'erreurs possibles: les erreurs au niveau de la connexion (la connexion n'a pas été exécutée) et les erreurs au niveau des lignes (une ligne n'a pas été importée).
    1. L'état Failed (Échec) indique que la connexion n'a pas pu être exécutée (problème d'autorisation de compte de service, par exemple). Cliquez sur l'état des erreurs pour voir celles qui ont affecté la connexion.
    2. L'état Completed (Terminée) indique que la connexion a bien été exécutée. Toutefois, il peut y avoir des erreurs au niveau des lignes, indiquées par une valeur non nulle dans la colonne "Lignes avec erreurs". Cliquez sur la valeur pour en savoir plus sur les enregistrements ayant échoué.

Modifier une connexion

La modification des connexions n'est pas encore disponible. Pour modifier une connexion, créez-en une autre et supprimez l'ancienne.

Cas d'utilisation

Le cas d'utilisation que vous sélectionnez a une incidence sur le schéma de la table de destination et sur les champs de clé de jointure importés. Développez les cas d'utilisation ci-dessous pour découvrir leur impact sur le schéma et les clés de jointure:

Couverture et fréquence

Mesurez la couverture et la fréquence de la campagne sur les différents canaux et appareils, réparties par segments d'utilisateurs first party.

Nom du champ Description Type Obligatoire/Facultatif
clé de jointure Modifications en fonction de la clé de jointure que vous utilisez chaîne Obligatoire
gender (sexe) Gender chaîne Facultative
âge Âge int Facultative
city Ville chaîne Facultative
country (pays) Pays chaîne Facultative
cycle_de_vie État de l'entonnoir de conversion du client : "Inconnu", "Intégration", "Engagement", "Arrivé à expiration", etc. chaîne Facultative
fidélité_status Argent, or, platine, diamant, etc. chaîne Facultative
dernier_achat Date du dernier achat (horodatage de l'époque Unix) int Facultative
dernier_achat_produit Produit acheté / Dernier utilisation chaîne Facultative
dernier_contacted_date Date du dernier contact / engagement (horodatage de l'époque Unix) int Facultative
LTV Valeur vie client int Facultative
subscription_type [type_d'abonnement] Sous-produit / type d'abonnement d'un client (deluxe ou abonnement famille, par exemple) chaîne Facultative
transaction_id Identifiant unique pour cette transaction chaîne Facultative
transaction_date Date de la transaction (horodatage de l'époque Unix) int Facultative
revenu_transaction Revenus issus de la transaction int Facultative
currency Type de devise de la transaction chaîne Facultative
quantity Quantité d'articles dans la transaction chaîne Facultative
price Prix par article de la transaction int Facultative
transaction_cost [coût_transaction] Prix de revient / Services liés à la transaction int Facultative
profit_transaction Marge brute de la transaction int Facultative
product_id Code SKU / ID du ou des produits concernés par la transaction chaîne Facultative
transaction_description [description_transaction] Autres descriptions / métadonnées / paramètres concernant la transaction chaîne Facultative
Type d'événement Par exemple : impression d'annonce TV, e-mail marketing, visite du site Web, visite en magasin, etc. chaîne Facultative
id_événement ID unique de l'événement ci-dessus chaîne Facultative
event_timestamp Date de l'événement (horodatage de l'époque Unix) int Facultative
métadonnées_canal Métadonnées ou informations supplémentaires sur ce canal de point de contact chaîne Facultative

Attribution multitouch

Mesurez l'attribution en combinant vos points de contact first party avec ceux issus des données Google.

Nom du champ Description Type Obligatoire/Facultatif
clé de jointure Modifications en fonction de la clé de jointure que vous utilisez chaîne Obligatoire
Type d'événement Par exemple : impression d'annonce TV, e-mail marketing, visite du site Web, visite en magasin, etc. chaîne Obligatoire
id_événement ID unique de l'événement ci-dessus chaîne Obligatoire
event_timestamp Date de l'événement (horodatage de l'époque Unix) int Obligatoire
crédit Valeur de crédit (utilisée pour l'attribution) – Exemple : nombre de conversions int Facultative
métadonnées_canal Métadonnées ou informations supplémentaires sur ce canal de point de contact chaîne Facultative

Métriques de performances

Mesurez les performances des campagnes réparties par segments démographiques, audiences d'affinité ou segments d'utilisateurs first party.

Nom du champ Description Type Obligatoire/Facultatif
clé de jointure Modifications en fonction de la clé de jointure que vous utilisez chaîne Obligatoire
gender (sexe) Gender chaîne Facultative
âge Âge int Facultative
city Ville chaîne Facultative
country (pays) Pays chaîne Facultative
cycle_de_vie État de l'entonnoir de conversion du client : "Inconnu", "Intégration", "Engagement", "Arrivé à expiration", etc. chaîne Facultative
fidélité_status Argent, or, platine, diamant, etc. chaîne Facultative
dernier_achat Date du dernier achat (horodatage de l'époque Unix) int Facultative
dernier_achat_produit Produit acheté / Dernier utilisation chaîne Facultative
dernier_contacted_date Date du dernier contact / engagement (horodatage de l'époque Unix) int Facultative
LTV Valeur vie client int Facultative
subscription_type [type_d'abonnement] Sous-produit / type d'abonnement d'un client (deluxe ou abonnement famille, par exemple) chaîne Facultative

Attribution sur le chemin avant conversion

Analysez les performances des chemins de conversion avec des points de contact personnalisés, y compris vos points de contact first party.

Nom du champ Description Type Obligatoire/Facultatif
clé de jointure Modifications en fonction de la clé de jointure que vous utilisez chaîne Obligatoire
Type d'événement Par exemple : impression d'annonce TV, e-mail marketing, visite du site Web, visite en magasin, etc. chaîne Obligatoire
id_événement ID unique de l'événement ci-dessus chaîne Obligatoire
event_timestamp Date de l'événement (horodatage de l'époque Unix) int Obligatoire
crédit Valeur de crédit (utilisée pour l'attribution) – Exemple : nombre de conversions int Facultative
métadonnées_canal Métadonnées ou informations supplémentaires sur ce canal de point de contact chaîne Facultative

Chevauchement multi-éditeurs

Analysez la couverture et la fréquence des campagnes en fonction des éditeurs, réparties par segments d'utilisateurs first party.

Nom du champ Description Type Obligatoire/Facultatif
clé de jointure Modifications en fonction de la clé de jointure que vous utilisez chaîne Obligatoire
gender (sexe) Gender chaîne Facultative
âge Âge int Facultative
city Ville chaîne Facultative
country (pays) Pays chaîne Facultative
cycle_de_vie État de l'entonnoir de conversion du client : "Inconnu", "Intégration", "Engagement", "Arrivé à expiration", etc. chaîne Facultative
fidélité_status Argent, or, platine, diamant, etc. chaîne Facultative
dernier_achat Date du dernier achat (horodatage de l'époque Unix) int Facultative
dernier_achat_produit Produit acheté / Dernier utilisation chaîne Facultative
dernier_contacted_date Date du dernier contact / engagement (horodatage de l'époque Unix) int Facultative
LTV Valeur vie client int Facultative
subscription_type [type_d'abonnement] Sous-produit / type d'abonnement d'un client (deluxe ou abonnement famille, par exemple) chaîne Facultative

Performances des campagnes simultanées

Mesurez l'impact sur les performances de l'exposition aux campagnes parallèles, réparti par segments d'utilisateurs first party.

Nom du champ Description Type Obligatoire/Facultatif
clé de jointure Modifications en fonction de la clé de jointure que vous utilisez chaîne Obligatoire
gender (sexe) Gender chaîne Facultative
âge Âge int Facultative
city Ville chaîne Facultative
country (pays) Pays chaîne Facultative
cycle_de_vie État de l'entonnoir de conversion du client : "Inconnu", "Intégration", "Engagement", "Arrivé à expiration", etc. chaîne Facultative
fidélité_status Argent, or, platine, diamant, etc. chaîne Facultative
dernier_achat Date du dernier achat (horodatage de l'époque Unix) int Facultative
dernier_achat_produit Produit acheté / Dernier utilisation chaîne Facultative
dernier_contacted_date Date du dernier contact / engagement (horodatage de l'époque Unix) int Facultative
LTV Valeur vie client int Facultative
subscription_type [type_d'abonnement] Sous-produit / type d'abonnement d'un client (deluxe ou abonnement famille, par exemple) chaîne Facultative
transaction_id Identifiant unique pour cette transaction chaîne Facultative
transaction_date Date de la transaction (horodatage de l'époque Unix) int Facultative
revenu_transaction Revenus issus de la transaction int Facultative
currency Type de devise de la transaction chaîne Facultative
quantity Quantité d'articles dans la transaction chaîne Facultative
price Prix par article de la transaction int Facultative
transaction_cost [coût_transaction] Prix de revient / Services liés à la transaction int Facultative
profit_transaction Marge brute de la transaction int Facultative
product_id Code SKU / ID du ou des produits concernés par la transaction chaîne Facultative
transaction_description [description_transaction] Autres descriptions / métadonnées / paramètres concernant la transaction chaîne Facultative
Type d'événement Par exemple : impression d'annonce TV, e-mail marketing, visite du site Web, visite en magasin, etc. chaîne Facultative
id_événement ID unique de l'événement ci-dessus chaîne Facultative
event_timestamp Date de l'événement (horodatage de l'époque Unix) int Facultative
métadonnées_canal Métadonnées ou informations supplémentaires sur ce canal de point de contact chaîne Facultative

Comparaison de campagnes

Comparez les performances des campagnes Google à celles d'autres éditeurs.

Nom du champ Description Type Obligatoire/Facultatif
clé de jointure Modifications en fonction de la clé de jointure que vous utilisez chaîne Obligatoire
Souscriptions Chaîne sur laquelle cette campagne a été diffusée (par exemple, Facebook, TV, etc.) chaîne Obligatoire
partenaire Nom du partenaire (le cas échéant) chaîne Facultative
tactique Nom de la tactique chaîne Facultative
Métadonnées de campagne Métadonnées ou informations supplémentaires sur cette campagne chaîne Facultative
date Date de l'activité de la campagne (horodatage de l'époque Unix) int Obligatoire
impressions Nombre d'impressions de cette campagne à cette date int Obligatoire
clicks Nombre de clics à partir de cette campagne à cette date int Obligatoire
conversions Nombre de conversions de cette campagne à cette date int Obligatoire
cost Coût total de cette campagne à cette date int Obligatoire

Comparaison des segments d'affinité et des libellés

Recherchez des chevauchements entre vos segments d'utilisateurs first party et vos segments d'audience d'affinité et sur le marché Google.

Nom du champ Description Type Obligatoire/Facultatif
clé de jointure Modifications en fonction de la clé de jointure que vous utilisez chaîne Obligatoire
gender (sexe) Gender chaîne Facultative
âge Âge int Facultative
city Ville chaîne Facultative
country (pays) Pays chaîne Facultative
cycle_de_vie État de l'entonnoir de conversion du client : "Inconnu", "Intégration", "Engagement", "Arrivé à expiration", etc. chaîne Facultative
fidélité_status Argent, or, platine, diamant, etc. chaîne Facultative
dernier_achat Date du dernier achat (horodatage de l'époque Unix) int Facultative
dernier_achat_produit Produit acheté / Dernier utilisation chaîne Facultative
dernier_contacted_date Date du dernier contact / engagement (horodatage de l'époque Unix) int Facultative
LTV Valeur vie client int Facultative
subscription_type [type_d'abonnement] Sous-produit / type d'abonnement d'un client (deluxe ou abonnement famille, par exemple) chaîne Facultative

Analyse des conversions d'application

Mesurez l'impact des campagnes sur le comportement des utilisateurs dans votre application.

Nom du champ Description Type Obligatoire/Facultatif
clé de jointure Modifications en fonction de la clé de jointure que vous utilisez chaîne Obligatoire
date Date de l'activité dans les applications mobiles (horodatage de l'époque Unix) int Obligatoire
installer Booléen indiquant si un événement d'installation a été consigné ce jour-là booléen Obligatoire
inscription Booléen indiquant si un événement d'inscription a été enregistré ce jour-là booléen Obligatoire
login Booléen indiquant si un événement de connexion a été enregistré ce jour-là booléen Obligatoire
achats via une application Nombre total d'achats via une application pour ce jour int Obligatoire

Calcul du ROI

Mesurez les retours incrémentiels en fonction de vos données de conversion first party.

Nom du champ Description Type Obligatoire/Facultatif
clé de jointure Modifications en fonction de la clé de jointure que vous utilisez chaîne Obligatoire
transaction_id Identifiant unique pour cette transaction chaîne Obligatoire
transaction_date Date de la transaction (horodatage de l'époque Unix) int Obligatoire
revenu_transaction Revenus issus de la transaction int Obligatoire
currency Type de devise de la transaction chaîne Facultative
quantity Quantité d'articles dans la transaction chaîne Facultative
price Prix par article de la transaction int Facultative
transaction_cost [coût_transaction] Prix de revient / Services liés à la transaction int Facultative
profit_transaction Marge brute de la transaction int Facultative
product_id Code SKU / ID du ou des produits concernés par la transaction chaîne Facultative
transaction_description [description_transaction] Autres descriptions / métadonnées / paramètres concernant la transaction chaîne Facultative

Activation des audiences personnalisées

Créez et activez des segments d'utilisateurs personnalisés en vous basant sur vos données first party et les données Google

Nom du champ Description Type Obligatoire/Facultatif
clé de jointure Modifications en fonction de la clé de jointure que vous utilisez chaîne Obligatoire
gender (sexe) Gender chaîne Facultative
âge Âge int Facultative
city Ville chaîne Facultative
country (pays) Pays chaîne Facultative
cycle_de_vie État de l'entonnoir de conversion du client : "Inconnu", "Intégration", "Engagement", "Arrivé à expiration", etc. chaîne Facultative
fidélité_status Argent, or, platine, diamant, etc. chaîne Facultative
dernier_achat Date du dernier achat (horodatage de l'époque Unix) int Facultative
dernier_achat_produit Produit acheté / Dernier utilisation chaîne Facultative
dernier_contacted_date Date du dernier contact / engagement (horodatage de l'époque Unix) int Facultative
LTV Valeur vie client int Facultative
subscription_type [type_d'abonnement] Sous-produit / type d'abonnement d'un client (deluxe ou abonnement famille, par exemple) chaîne Facultative

Enchères personnalisées

Optimisez les stratégies d'enchères Display & Video 360 en vous basant sur vos données first party et les données Google

Nom du champ Description Type Obligatoire/Facultatif
clé de jointure Modifications en fonction de la clé de jointure que vous utilisez chaîne Obligatoire
gender (sexe) Gender chaîne Facultative
âge Âge int Facultative
city Ville chaîne Facultative
country (pays) Pays chaîne Facultative
cycle_de_vie État de l'entonnoir de conversion du client : "Inconnu", "Intégration", "Engagement", "Arrivé à expiration", etc. chaîne Facultative
fidélité_status Argent, or, platine, diamant, etc. chaîne Facultative
dernier_achat Date du dernier achat (horodatage de l'époque Unix) int Facultative
dernier_achat_produit Produit acheté / Dernier utilisation chaîne Facultative
dernier_contacted_date Date du dernier contact / engagement (horodatage de l'époque Unix) int Facultative
LTV Valeur vie client int Facultative
subscription_type [type_d'abonnement] Sous-produit / type d'abonnement d'un client (deluxe ou abonnement famille, par exemple) chaîne Facultative

Performances multi-éditeurs

Mesurez les métriques de performances réparties par éditeur, ou par éditeur et par segments d'utilisateurs first party

Nom du champ Description Type Obligatoire/Facultatif
clé de jointure Modifications en fonction de la clé de jointure que vous utilisez chaîne Obligatoire
gender (sexe) Gender chaîne Facultative
âge Âge int Facultative
city Ville chaîne Facultative
country (pays) Pays chaîne Facultative
cycle_de_vie État de l'entonnoir de conversion du client : "Inconnu", "Intégration", "Engagement", "Arrivé à expiration", etc. chaîne Facultative
fidélité_status Argent, or, platine, diamant, etc. chaîne Facultative
dernier_achat Date du dernier achat (horodatage de l'époque Unix) int Facultative
dernier_achat_produit Produit acheté / Dernier utilisation chaîne Facultative
dernier_contacted_date Date du dernier contact / engagement (horodatage de l'époque Unix) int Facultative
LTV Valeur vie client int Facultative
subscription_type [type_d'abonnement] Sous-produit / type d'abonnement d'un client (deluxe ou abonnement famille, par exemple) chaîne Facultative