Dopasowywanie danych przekazywanych przez użytkowników

Opis

UPDM (dopasowywanie danych przekazywanych przez użytkowników) łączy dane własne o użytkowniku (takie jak informacje z Twoich witryn, aplikacji lub sklepów stacjonarnych) z tą samą aktywnością użytkownika w danych reklam Google, z wyłączeniem Google Marketing Platform. Aby umożliwić dopasowywanie danych przekazywanych przez użytkowników, zdarzenie reklamy musi być połączone z zalogowanym użytkownikiem w danych reklam Google.

Dopasowywanie danych przekazywanych przez użytkowników zapewnia wyjątkowe korzyści w porównaniu z innymi formami kierowania na listę klientów. Dopasowywanie danych przekazywanych przez użytkowników:

  • jest bardziej odporny na zmiany w branży niż dane firm zewnętrznych.
  • Nie będzie to miało wpływu na wycofanie plików cookie innych firm, ponieważ dopasowywanie danych przekazywanych przez użytkowników jest możliwe tylko w przypadku zalogowanych i udostępnianych przez Google zasobów reklamowych.
  • może zapewnić klientom większą wygodę, co często prowadzi do zwiększenia zaangażowania klientów;
  • Zapewnia bogatsze statystyki klientów

Podsumowanie procesu

Gdy włączysz dopasowywanie danych przekazywanych przez użytkowników na swoim koncie, będziesz dalej korzystać z tej funkcji na dwóch etapach:

  1. Dane własne przetwarzane w Centrum danych reklam
    • Ty formatujesz i przesyłasz dane własne do zbioru danych BigQuery. Możesz użyć dowolnego własnego zbioru danych BigQuery innego niż projekt administracyjny.
    • Rozpocznij dopasowanie dopasowania danych, tworząc połączenie i planując import.
    • Aby tworzyć i aktualizować tabele *_match, Google łączy dane między Twoim projektem a danymi należącymi do Google, które zawierają identyfikator użytkownika Google i zaszyfrowane dane przekazywane przez użytkowników.
  2. Bieżące zapytania w Centrum danych reklam, na podstawie dopasowanych danych
    • Przeprowadzasz zapytaniaw tabeli *_matchw taki sam sposób, jak w przypadku standardowych zapytań w Centrum danych reklam.

Projekty źródła danych i celu

Połączenia wymagają dwóch różnych projektów Google Cloud: projektu źródła danych i projektu docelowego.

  • Źródło danych: ten projekt zawiera Twoje zastrzeżone dane reklamowe w nieprzetworzonym formacie.
  • Miejsce docelowe: to zbiór danych BigQuery, do którego zapisuje dane w Centrum danych reklam. Domyślnie jest to Twój projekt administracyjny. Aby dowiedzieć się, jak zmienić projekt na inny projekt Google Cloud, przeczytaj artykuł Konfigurowanie kont usługi.

Ograniczenia dotyczące prywatności

Zbieranie danych klientów

Jeśli korzystasz z funkcji dopasowywania danych przekazywanych przez użytkowników, musisz przesłać te dane. Mogą to być informacje zebrane z Twoich stron, aplikacji, sklepów stacjonarnych lub dowolne informacje, które klient udostępnił Ci bezpośrednio.

Rozmiar danych

Aby chronić prywatność użytkowników, dopasowywanie danych przekazywanych przez użytkowników egzekwuje te wymagania dotyczące rozmiaru danych:

  • Na liście użytkowników musisz przesłać co najmniej 1000 rekordów.
  • Każda udana aktualizacja tabeli odpowiedników musi obejmować minimalną liczbę nowo dopasowanych użytkowników. Nasze zachowanie przypomina sprawdzanie różnic.
  • Lista nie może przekraczać maksymalnej liczby rekordów. Aby dowiedzieć się więcej o maksymalnym limicie danych, skontaktuj się z przedstawicielem Google.

Włącz kartę Połączenia

Zanim zaczniesz, skonfiguruj konto Ads Data Hub, aby włączyć kartę Połączenia. W tym miejscu utworzysz potok dopasowywania danych. Wystarczy, że tylko raz wykonasz te kroki.

  1. Wyślij do swojego przedstawiciela Google:
    1. Identyfikator konta Centrum danych reklam, które posłuży Ci do dopasowywania danych przekazywanych przez użytkowników.
    2. Adres e-mail superużytkownika, który ma dostęp do Twojego projektu Miejsce docelowe.
    3. Potwierdź u przedstawiciela Google, że konto i superużytkownik są dodane do listy dozwolonych.
  2. Włącz interfejs Ads Data Connector API w wyznaczonym projekcie Google Cloud. Domyślnie jest to projekt administratora. Aby użyć innego projektu, wykonaj te czynności razem z alternatywnym projektem Google Cloud jako projektem Źródło danych. Te czynności musisz wykonać po zalogowaniu się jako superużytkownik na liście dozwolonych.

    1. Otwórz bibliotekę interfejsu Cloud Console API.
    2. Wybierz z listy projekt Źródło danych.
    3. Wyszukaj interfejs "Ads Data Connector API&quot. Jeśli interfejs Ads Data Connector API nie wyświetla się w wynikach wyszukiwania, może to oznaczać, że konto Google, na które się logujesz, nie jest superużytkownikiem, który został dodany do listy dozwolonych.
    4. Na stronie interfejsu API kliknij WŁĄCZ.
    5. Poproś przedstawiciela Google o włączenie interfejsu API.
  3. Przedstawiciel Google wyśle Ci 3 adresy e-mail – jako konta usługi Datafusion, Dataproc i UPDM.

    Na koncie Ads Data Hub pojawi się nowa sekcja Połączenia z kartami Twoje dane własne i Dopasowanie danych. Dowiedz się więcej o przypadkach użycia każdej z kart.

  4. Przyznaj odpowiednie uprawnienia kontom usługi. Aby poznać poszczególne konta usługi i ich wymagane uprawnienia, wybierz w tabeli źródło danych:

    BigQuery

    Konto usługi Datafusion
    Cel Konto usługi Datafusion służy do wyświetlania listy pól źródłowych w interfejsie użytkownika Ads Data Hub.
    Format service-some-number@gcp-sa-datafusion.iam.gserviceaccount.com
    Wymagany dostęp
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    dla określonych zbiorów danych w projektach Źródło danych i Miejsce docelowe
    Storage Admin
    roles/storage.admin
    w projekcie Źródło danych lub zasobnik na dane
    Konto usługi Dataproc
    Cel Za działanie potoków danych w tle odpowiada konto usługi Dataproc.
    Format some-number-compute@developer.gserviceaccount.com
    Wymagany dostęp
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    dla określonych zbiorów danych w projektach Źródło danych i Miejsce docelowe
    BigQuery Data Editor
    roles/bigquery.dataEditor
    dla określonych zbiorów danych w projekcie Destination
    BigQuery Job User
    roles/bigquery.jobUser
    dla źródła danych i projektu
    Storage Admin
    roles/storage.admin
    w projektach Źródło danych i Miejsce docelowe lub w zasobniku
    Konto usługi UDM
    Cel Konto usługi UPDM jest używane do uruchamiania pasującego zadania.
    Format service-some-number@gcp-sa-adsdataconnector.iam.gserviceaccount.com
    Wymagany dostęp
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    w projekcie Destination
    BigQuery Job User
    roles/bigquery.jobUser
    w projekcie Destination

    Cloud Storage

    Konto usługi Datafusion
    Cel Konto usługi Datafusion służy do wyświetlania listy pól źródłowych w interfejsie użytkownika Ads Data Hub.
    Format service-some-number@gcp-sa-datafusion.iam.gserviceaccount.com
    Wymagany dostęp
    Storage Object Viewer
    roles/storage.objectViewer
    w przypadku konkretnych zasobników na dane w projekcie Źródło danych;
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    w projekcie Źródło danych lub zasobnik na dane
    Storage Admin
    roles/storage.admin
    w projekcie Źródło danych lub zasobnik na dane
    Konto usługi Dataproc
    Cel Za działanie potoków danych w tle odpowiada konto usługi Dataproc.
    Format some-number-compute@developer.gserviceaccount.com
    Wymagany dostęp
    Storage Admin
    roles/storage.admin
    w projektach Źródło danych i Miejsce docelowe lub w zasobniku
    BigQuery Job User
    roles/bigquery.jobUser
    w projekcie Destination
    Konto usługi UDM
    Cel Konto usługi UPDM jest używane do uruchamiania pasującego zadania.
    Format service-some-number@gcp-sa-adsdataconnector.iam.gserviceaccount.com
    Wymagany dostęp
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    w projekcie Destination
    BigQuery Job User
    roles/bigquery.jobUser
    w projekcie Destination

    Salesforce

    Wkrótce

Pozyskiwanie danych własnych

Formatowanie danych do wprowadzania

Twoje dane muszą spełniać te wymagania dotyczące formatowania, aby zostały poprawnie dopasowane:

  • Tam, gdzie jest określony, musisz przesłać plik za pomocą algorytmu SHA256 zakodowanego jako ciąg tekstowy Base16. Chociaż UPDM obsługuje bazę danych Base64, różni się ona od wytycznych kierowania na listę klientów Google Ads.
  • Pola wejściowe muszą być w postaci ciągów znaków. Jeśli używasz funkcji haszowania SHA256 i funkcji kodowania Base16 (TO_HEX) w BigQuery, użyj tej przekształcenia: TO_HEX(SHA256(user_data))

User-ID

  • Zwykły tekst
  • Haszowanie: brak

E-mail

  • Usuń odstęp
  • Używaj tylko małych liter.
  • Wszystkie adresy e-mail muszą zawierać domenę, np. gmail.com lub poczta.onet.pl
  • Usuń akcenty, np. zmień è, é, ê lub ë na e.
  • Haszowanie: kodowanie SHA256 z kodowaniem Base16

Prawidłowa: TO_HEX(SHA256("jeffersonloveshiking@gmail.com"))

Nieprawidłowy: TO_HEX(SHA256("JéffersonLôvesHiking@gmail.com"))

Telefon

  • Usuń odstęp
  • w formacie E.164, na przykład Stany Zjednoczone +14155552671, Wielka Brytania +442071838750).
  • Dodaj kod kraju (w tym Stany Zjednoczone)
  • Usuń wszystkie znaki specjalne oprócz znaku „"+&quot” przed kodem kraju
  • Haszowanie: kodowanie SHA256 z kodowaniem Base16

Prawidłowa: TO_HEX(SHA256("+18005550101"))

Nieprawidłowy: TO_HEX(SHA256("(800) 555-0101"))

Imię

  • Usuń odstęp
  • Używaj tylko małych liter.
  • Usuń wszystkie prefiksy, na przykład Pani.
  • Nie usuwaj akcentów, np. ę, é, ê czy ë.
  • Haszowanie: kodowanie SHA256 z kodowaniem Base16

Prawidłowa: TO_HEX(SHA256("daní"))

Nieprawidłowy: TO_HEX(SHA256("Daní"))

Nazwisko

  • Usuń odstęp
  • Używaj tylko małych liter.
  • Usuń wszystkie prefiksy, np. Junior.
  • Nie usuwaj akcentów, np. ę, é, ê czy ë.
  • Haszowanie: kodowanie SHA256 z kodowaniem Base16

Prawidłowa: TO_HEX(SHA256("delacruz"))

Nieprawidłowy: TO_HEX(SHA256("de la Cruz, Jr."))

Kraj

  • Podawaj kod kraju nawet wtedy, gdy wszyscy Twoi klienci pochodzą z tego samego państwa.
  • Nie szyfruj danych kraju
  • Użyj kodów krajów w formacie ISO 3166-1 alpha-2
  • Haszowanie: brak

Prawidłowa: US

Nieprawidłowo: United States of America lub USA

Kod pocztowy

  • Nie szyfruj danych kodu pocztowego
  • Dopuszczalne są zarówno amerykańskie, jak i międzynarodowe kody pocztowe
  • W przypadku Stanów Zjednoczonych:
    • Dozwolone są kody 5-cyfrowe, np. 94043
    • Dozwolone są również 5 cyfr i 4-cyfrowe rozszerzenie, np. 94043-1351 lub 940431351
  • W przypadku pozostałych krajów:
    • Nie musisz formatować tekstu (nie musisz używać małych liter ani usunąć spacji ani znaków specjalnych)
    • Nie dodawaj rozszerzeń kodu pocztowego
  • Haszowanie: brak

Weryfikacja haszowania i kodowanie danych

Aby upewnić się, że dane są prawidłowo sformatowane, możesz użyć poniższych skryptów weryfikacji haszowania.

JavaScript

Podstawa 16

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

Podstawa 16

"""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

Podstawa 16

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

Podstawa 16

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

Podstawa 16

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

Połącz klucze

Niektóre kombinacje danych przekazywanych przez użytkowników są silniejsze od innych. Oto lista różnych kombinacji danych przekazywanych przez użytkowników, posortowanych według względnej siły:

  1. Adres e-mail, telefon, adres (najlepszy)
  2. Telefon, adres
  3. Adres e-mail, adres
  4. E-mail, telefon
  5. Adres
  6. Telefon
  7. E-mail (najsłabszy)

Utwórz tabelę z dopasowaniem

  1. Kliknij Połączenia > Dopasowanie danych > Utwórz połączenie.
  2. Wybierz źródło danych i kliknij Połącz. Uwierzytelnij się, jeśli pojawi się taka prośba, a potem kliknij Dalej.
  3. Skonfiguruj źródło danych, a następnie kliknij Dalej:

    BigQuery

    Wybierz tabelę BigQuery, którą chcesz zaimportować.

    Cloud Storage

    Wpisz ścieżkę do pliku gsutil, na przykład gs://my-bucket/folder/, i wybierz formatowanie pliku.

    Salesforce

    Wkrótce

  4. Ustaw miejsce docelowe, a następnie kliknij Dalej:
    1. Wybierz nowy zbiór danych BigQuery, który ma być pośrednim miejscem docelowym danych. Dzięki temu dane będą prawidłowo sformatowane.
  5. Opcjonalnie: zmień format danych. Przekształcenia obejmują haszowanie obliczeniowe, formatowanie małych i wielkich liter oraz scalanie i dzielenie.
    1. Kliknij Działanie > > Przekształć.
    2. W wyświetlonym panelu kliknij Dodaj przekształcenie lub Dodaj kolejne przekształcenie.
    3. Wybierz typ przekształcenia z menu i podaj wymagania.
    4. Kliknij Zapisz.
  6. Wybierz co najmniej 1 klucz łączenia, aby zmapować pola, których będziesz używać, a potem kliknij Dalej.
  7. Ustaw harmonogram:
    1. Nazwij połączenie.
    2. Ustaw częstotliwość, określając, jak często dane mają być importowane do zbioru danych wybranego w poprzednim kroku. Każde uruchomienie zastąpi dane w tabeli miejsce docelowe.
    3. Określ, jak mają być obsługiwane kolizje identyfikatorów użytkowników. Możesz zachować bieżące dopasowanie lub zastąpić nowymi danymi.
  8. Kliknij Zakończ

Wyświetl szczegóły połączenia

Na stronie szczegółów połączenia znajdują się informacje o uruchomieniach i błędach danego połączenia. Aby wyświetlić szczegóły konkretnego połączenia:

  1. Kliknij Połączenia > Dopasowanie danych.
  2. Kliknij nazwę połączenia, aby wyświetlić jego szczegóły.
  3. Możesz teraz zobaczyć szczegóły połączenia i ostatnie uruchomienia. Każdy z nich może mieć 2 rodzaje błędów: połączenie na poziomie połączenia (nie udało się uruchomić) lub błąd na poziomie wiersza (wiersz nie został zaimportowany).
    1. Stan Niepowodzenie oznacza, że nie udało się uruchomić całego połączenia (np. problem z uprawnieniami do konta usługi). Kliknij stan błędu, aby zobaczyć, które błędy miały wpływ na połączenie.
    2. Stan Ukończono oznacza, że połączenie zostało uruchomione. Mogą jednak występować błędy na poziomie wiersza, które wskazują wartość różną od 0 w kolumnie „Wiersze z błędami”. Kliknij wartość, aby dowiedzieć się więcej o tym, które rekordy się nie powiodły.

Edytowanie połączenia

Edytowanie połączeń nie jest jeszcze obsługiwane. Aby zmienić połączenie, utwórz nowe, a potem usuń stare.

Wykonywanie zapytań na danych w Centrum danych reklam

Tworzenie zapytań dotyczących tabel odpowiedników

Gdy tabele odpowiedników zawierają wystarczającą ilość danych, aby można było spełnić wymagania związane z prywatnością, możesz zapytać o tabele. Każda tabela w schemacie Centrum danych reklam zawierająca pole user_id jest połączona z tabelą *_match. Na przykład dla tabeli adh.google_ads_impressions Centrum danych reklam generuje też tabelę odpowiedników o nazwie adh.google_ads_impressions_match, która zawiera tylko identyfikatory użytkowników. Te tabele zawierają podzbiór użytkowników dostępnych w pierwotnych tabelach, gdzie dopasowano user_id. Jeśli np. pierwotna tabela zawiera dane dotyczące użytkownika A i Użytkownika B, ale dopasowanie użytkownika A nie występuje w tabeli odpowiedników,

Tabele odpowiedników zawierają dodatkową kolumnę o nazwie external_cookie, w której umieszczony jest plik cookie jako BYTES.

Pole external_cookie zawiera Twój identyfikator jako BYTES. Aby udało się osiągnąć ten cel, musisz przesłać klucz łączenia do BYTES.

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

Używaj tabel odpowiedników, wysyłając zapytania do *_match widoków tabel zdarzeń reklamowych. Jeśli używasz też dopasowania plików cookie, możesz filtrować dane według typu dopasowania w zapytaniach. Użyj:

  • match_type = 1 za dopasowanie plików cookie
  • match_type = 2 na potrzeby dopasowywania danych przekazywanych przez użytkowników

Chociaż zapytanie match_type jest dozwolone w zapytaniach, to pole nie może zostać zwrócone w wynikach wyszukiwania. Z tego względu nie należy go uwzględniać w ostatniej instrukcji SELECT.

Przykładowe zapytania

Liczba pasujących użytkowników

To zapytanie zlicza liczbę dopasowanych użytkowników w tabeli wyświetleń Google Ads.

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

SELECT COUNT(DISTINCT user_id)
FROM adh.google_ads_impressions_match

Liczba pasujących danych przekazywanych przez użytkowników

To zapytanie zlicza liczbę dopasowanych użytkowników według typu dopasowania. Tabele zdarzeń reklamowych zawierają zdarzenia zarówno pochodzące od zalogowanych, jak i niezalogowanych użytkowników. Z tego względu filtrowanie według danych przekazywanych przez użytkowników spowoduje dopasowanie tylko zalogowanych użytkowników.

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

To zapytanie pokazuje, jak połączyć dane własne z danymi 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

To zapytanie zlicza liczbę użytkowników pasujących do danych przekazywanych przez użytkowników, z wyłączeniem użytkowników dopasowanych do plików cookie. Pamiętaj, że tabele zdarzeń reklamowych zawierają zdarzenia zarówno pochodzące od zalogowanych, jak i niezalogowanych użytkowników. Z tego względu filtrowanie tylko według dopasowań danych przekazywanych przez użytkowników spowoduje dopasowywanie tylko zalogowanych użytkowników.

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

Połączenia

Uzyskanie cennych statystyk reklamowych często wymaga złączenia danych z wielu źródeł. Stworzenie własnego rozwiązania tego problemu z potokiem danych wymaga znacznej inwestycji w rozwój czasu i inwestycji w inżynierię. Połączenia usprawniają ten proces, udostępniając interfejs krok po kroku do importowania, przekształcania i zapisywania danych w BigQuery. Po zapisaniu danych możesz je wykorzystać w zapytaniach Centrum danych reklam lub w innej usłudze działającej w BigQuery. Wzbogacanie zapytań o dane własne może pozwolić na zapewnienie lepszej obsługi klienta i jest bardziej odporne na zmiany w całej branży reklamowej.

Connections łączy się z narzędziami, które pozwalają szyfrować i udostępniać partnerom informacje umożliwiające identyfikację w sposób zapewniający ochronę prywatności. Po wybraniu kolumn, które zawierają informacje umożliwiające identyfikację osób, połączenia szyfrują dane, dzięki czemu dane własne można eksportować lub odczytywać tylko przez osoby, które mają do tego uprawnienia.

Za pomocą połączeń możesz importować dane z:

Wiedza o tym, które dane własne są potrzebne do pomiaru lub aktywacji, może być trudna, więc w raportach połączeń znajdziesz pełną listę wstępnie zdefiniowanych przypadków użycia. Przeprowadzimy Cię przez cały proces wyodrębniania, przekształcania i ładowania danych.

Różnice między danymi własnymi a dopasowaniem danych

Proces konfigurowania tabeli odpowiedników przekazywanych przez użytkowników jest podobny do tworzenia zwykłego połączenia danych przez połączenia. Jednak w wymaganiu dotyczącym 2 projektów założono, że konfigurujesz połączenia, zanim użyjesz dopasowania danych przekazywanych przez użytkowników. Jeśli używasz tylko połączeń jako narzędzia do przygotowywania danych, możesz wykorzystać jeden projekt Google Cloud.

Dodatkowe wymagania dotyczące dopasowywania danych przekazywanych przez użytkowników:

  • Jako klucza łączenia musisz używać adresu e-mail, telefonu, adresu lub dowolnej kombinacji tych kryteriów.
  • Musisz określić sposób rozwiązywania sporów między użytkownikami. Możesz zachować istniejące dopasowanie lub zastąpić nowymi danymi.
  • Oprócz kont Datafusion i Dataproc musisz użyć konta usługi UPDM.

Własny przepływ danych

Tworzenie połączenia

  1. Kliknij Połączenia > Twoje dane własne > Utwórz połączenie.
  2. Połącz ze źródłem danych. Pojawi się prośba o uwierzytelnienie.

    BigQuery

    Uprawnienia są określane na podstawie konta Google, więc uwierzytelnianie nie jest wymagane. Upewnij się, że konta usługi połączeń mają uprawnienia do odczytu tabeli.

    Cloud Storage

    Uprawnienia są określane na podstawie konta Google, więc uwierzytelnianie nie jest wymagane. Sprawdź, czy konta usług połączeń mają uprawnienia do odczytu zasobnika pamięci.

    Salesforce

    (Wkrótce)

    Zaloguj się, korzystając z danych logowania Salesforce w swojej organizacji. Google nie przechowuje Twoich danych logowania, więc każde nowe połączenie z Salesforce będzie wymagać ponownego uwierzytelnienia.

  3. Wybierz przypadek użycia i klucz łączenia, a potem kliknij Wybierz przypadek użycia. Jeśli nie chcesz wybrać przypadku użycia, kliknij Pomiń. Nie możesz później wybrać takiego przypadku użycia.
  4. Skonfiguruj źródło danych.

    BigQuery

    Wybierz tabelę BigQuery, którą chcesz zaimportować.

    Cloud Storage

    Wpisz ścieżkę do pliku gsutil, na przykład gs://my-bucket/folder/, i wybierz formatowanie pliku.

    Salesforce

    Wkrótce

  5. Skonfiguruj miejsce docelowe i pola mapy.
    • Wybierz projekt, zbiór danych i tabelę Google Cloud, w których chcesz zapisać wyniki. Upewnij się, że konta usługi połączeń mają uprawnienia do zapisu w zbiorze danych, do którego chcesz zapisać dane.
    • Każde połączenie spowoduje utworzenie nowej tabeli, w której można zapisywać dane. Jeśli wybierzesz już istniejącą tabelę, pojawi się błąd.
    • Zmapuj pola miejsc docelowych (wyświetlane w tabeli) do pól źródłowych w danych źródłowych.
  6. Ustaw harmonogram.
    1. Nazwij połączenie.
    2. Ustaw częstotliwość, określając, jak często dane mają być importowane do zbioru danych wybranego w poprzednim kroku. Każde uruchomienie zastąpi dane w tabeli miejsce docelowe.
  7. Kliknij Gotowe. Połączenia, które przetwarzają duże ilości danych, mogą trwać kilka godzin.

Wyświetl szczegóły połączenia

Na stronie szczegółów połączenia znajdują się informacje o uruchomieniach i błędach danego połączenia. Aby wyświetlić szczegóły konkretnego połączenia:

  1. Kliknij Połączenia i Twoje dane własne.
  2. Kliknij nazwę połączenia, aby wyświetlić jego szczegóły.
  3. Możesz teraz zobaczyć szczegóły połączenia i ostatnie uruchomienia. Każdy z nich może mieć 2 rodzaje błędów: połączenie na poziomie połączenia (nie udało się uruchomić) lub błąd na poziomie wiersza (wiersz nie został zaimportowany).
    1. Stan Niepowodzenie oznacza, że nie udało się uruchomić całego połączenia (np. problem z uprawnieniami do konta usługi). Kliknij stan błędu, aby zobaczyć, które błędy miały wpływ na połączenie.
    2. Stan Ukończono oznacza, że połączenie zostało uruchomione. Mogą jednak występować błędy na poziomie wiersza, które wskazują wartość różną od 0 w kolumnie „Wiersze z błędami”. Kliknij wartość, aby dowiedzieć się więcej o tym, które rekordy się nie powiodły.

Edytowanie połączenia

Edytowanie połączeń nie jest jeszcze obsługiwane. Aby zmienić połączenie, utwórz nowe i usuń stare.

Przypadki użycia

Wybrany przypadek użycia wpływa na schemat tabeli docelowej oraz zaimportowane pola kluczy łączenia. Rozwiń poniższe przypadki użycia, aby dowiedzieć się, jak wpływają na schemat i klucze łączenia:

Zasięg i częstotliwość

Mierz zasięg i częstotliwość wyświetlania reklam w kampanii w wielu kanałach i na różnych urządzeniach według własnych segmentów użytkowników.

Nazwa pola Opis Typ Wymagany/opcjonalny
klucz łączenia Zmienia się w zależności od używanego klucza łączenia tekst Wymagany
płeć Płeć tekst Opcjonalny
wiek Wiek int, Opcjonalny
miasto Miasto tekst Opcjonalny
kraj Kraj tekst Opcjonalny
cykl życia Stan ścieżki klienta: nieznany, wprowadzenie, zaangażowany, nieważny itp. tekst Opcjonalny
status_lojalności Srebro, złoto, platyna, diament itp. tekst Opcjonalny
last_purchase_date [ostatnia_zakup] Data ostatniego zakupu (sygnatura czasowa Unix) int, Opcjonalny
last_purchase_product [ostatni_zakup] Ostatni zakup / konsumpcja produktu tekst Opcjonalny
data_ostatniego_kontaktu Data ostatniego kontaktu lub zaangażowania (sygnatura czasowa Unix) int, Opcjonalny
Wartość od początku śledzenia Wartość od początku śledzenia klienta int, Opcjonalny
subscription_type [typ_subskrypcji] typ produktu lub subskrypcji (np. Deluxe, subskrypcja rodzinna) tekst Opcjonalny
transaction_id Unikalny identyfikator tej transakcji tekst Opcjonalny
transaction_date Data transakcji (sygnatura czasowa Unix) int, Opcjonalny
transaction_revenue Przychody z transakcji int, Opcjonalny
currency Rodzaj waluty transakcji tekst Opcjonalny
quantity Liczba produktów w transakcji tekst Opcjonalny
price Cena za produkt w transakcji int, Opcjonalny
transaction_cost Koszt produktów / usług zawartych w transakcji int, Opcjonalny
transaction_profit Zysk brutto z transakcji int, Opcjonalny
product_id Kod SKU / identyfikator produktów w transakcji tekst Opcjonalny
transaction_description Inny opis / metadane / parametry transakcji tekst Opcjonalny
event_type (typ zdarzenia) Na przykład wyświetlenia reklam telewizyjnych, e-maile marketingowe, wizyty w witrynie, wizyty w sklepie stacjonarnym itd. tekst Opcjonalny
event_id (identyfikator zdarzenia) Unikalny identyfikator powyższego zdarzenia. tekst Opcjonalny
event_timestamp Data zdarzenia (sygnatura czasowa Unix) int, Opcjonalny
metadane_kanału Dodatkowe metadane lub informacje o tym kanale styczności z klientem tekst Opcjonalny

Atrybucja uwzględniająca różne interakcje

Mierz atrybucję przez połączenie własnych punktów kontaktu z punktami z danych Google.

Nazwa pola Opis Typ Wymagany/opcjonalny
klucz łączenia Zmienia się w zależności od używanego klucza łączenia tekst Wymagany
event_type (typ zdarzenia) Na przykład wyświetlenia reklam telewizyjnych, e-maile marketingowe, wizyty w witrynie, wizyty w sklepie stacjonarnym itd. tekst Wymagany
event_id (identyfikator zdarzenia) Unikalny identyfikator powyższego zdarzenia. tekst Wymagany
event_timestamp Data zdarzenia (sygnatura czasowa Unix) int, Wymagany
środki Wartość udziału (używana do atrybucji) – np. liczba konwersji int, Opcjonalny
metadane_kanału Dodatkowe metadane lub informacje o tym kanale styczności z klientem tekst Opcjonalny

Dane skuteczności

Mierz skuteczność kampanii według danych demograficznych, podobnych zainteresowań lub własnych segmentów użytkowników.

Nazwa pola Opis Typ Wymagany/opcjonalny
klucz łączenia Zmienia się w zależności od używanego klucza łączenia tekst Wymagany
płeć Płeć tekst Opcjonalny
wiek Wiek int, Opcjonalny
miasto Miasto tekst Opcjonalny
kraj Kraj tekst Opcjonalny
cykl życia Stan ścieżki klienta: nieznany, wprowadzenie, zaangażowany, nieważny itp. tekst Opcjonalny
status_lojalności Srebro, złoto, platyna, diament itp. tekst Opcjonalny
last_purchase_date [ostatnia_zakup] Data ostatniego zakupu (sygnatura czasowa Unix) int, Opcjonalny
last_purchase_product [ostatni_zakup] Ostatni zakup / konsumpcja produktu tekst Opcjonalny
data_ostatniego_kontaktu Data ostatniego kontaktu lub zaangażowania (sygnatura czasowa Unix) int, Opcjonalny
Wartość od początku śledzenia Wartość od początku śledzenia klienta int, Opcjonalny
subscription_type [typ_subskrypcji] typ produktu lub subskrypcji (np. Deluxe, subskrypcja rodzinna) tekst Opcjonalny

Atrybucja ścieżki konwersji

Analizuj skuteczność ścieżek konwersji obejmujących niestandardowe (w tym własne) punkty kontaktu.

Nazwa pola Opis Typ Wymagany/opcjonalny
klucz łączenia Zmienia się w zależności od używanego klucza łączenia tekst Wymagany
event_type (typ zdarzenia) Na przykład wyświetlenia reklam telewizyjnych, e-maile marketingowe, wizyty w witrynie, wizyty w sklepie stacjonarnym itd. tekst Wymagany
event_id (identyfikator zdarzenia) Unikalny identyfikator powyższego zdarzenia. tekst Wymagany
event_timestamp Data zdarzenia (sygnatura czasowa Unix) int, Wymagany
środki Wartość udziału (używana do atrybucji) – np. liczba konwersji int, Opcjonalny
metadane_kanału Dodatkowe metadane lub informacje o tym kanale styczności z klientem tekst Opcjonalny

Pokrywający się zasięg różnych wydawców

Analizuj zasięg i częstotliwość wyświetlania reklam w kampanii u różnych wydawców według własnych segmentów użytkowników.

Nazwa pola Opis Typ Wymagany/opcjonalny
klucz łączenia Zmienia się w zależności od używanego klucza łączenia tekst Wymagany
płeć Płeć tekst Opcjonalny
wiek Wiek int, Opcjonalny
miasto Miasto tekst Opcjonalny
kraj Kraj tekst Opcjonalny
cykl życia Stan ścieżki klienta: nieznany, wprowadzenie, zaangażowany, nieważny itp. tekst Opcjonalny
status_lojalności Srebro, złoto, platyna, diament itp. tekst Opcjonalny
last_purchase_date [ostatnia_zakup] Data ostatniego zakupu (sygnatura czasowa Unix) int, Opcjonalny
last_purchase_product [ostatni_zakup] Ostatni zakup / konsumpcja produktu tekst Opcjonalny
data_ostatniego_kontaktu Data ostatniego kontaktu lub zaangażowania (sygnatura czasowa Unix) int, Opcjonalny
Wartość od początku śledzenia Wartość od początku śledzenia klienta int, Opcjonalny
subscription_type [typ_subskrypcji] typ produktu lub subskrypcji (np. Deluxe, subskrypcja rodzinna) tekst Opcjonalny

Jednoczesna skuteczność kampanii

Mierz wpływ ekspozycji na kampanie równoległe na skuteczność według własnych segmentów użytkowników.

Nazwa pola Opis Typ Wymagany/opcjonalny
klucz łączenia Zmienia się w zależności od używanego klucza łączenia tekst Wymagany
płeć Płeć tekst Opcjonalny
wiek Wiek int, Opcjonalny
miasto Miasto tekst Opcjonalny
kraj Kraj tekst Opcjonalny
cykl życia Stan ścieżki klienta: nieznany, wprowadzenie, zaangażowany, nieważny itp. tekst Opcjonalny
status_lojalności Srebro, złoto, platyna, diament itp. tekst Opcjonalny
last_purchase_date [ostatnia_zakup] Data ostatniego zakupu (sygnatura czasowa Unix) int, Opcjonalny
last_purchase_product [ostatni_zakup] Ostatni zakup / konsumpcja produktu tekst Opcjonalny
data_ostatniego_kontaktu Data ostatniego kontaktu lub zaangażowania (sygnatura czasowa Unix) int, Opcjonalny
Wartość od początku śledzenia Wartość od początku śledzenia klienta int, Opcjonalny
subscription_type [typ_subskrypcji] typ produktu lub subskrypcji (np. Deluxe, subskrypcja rodzinna) tekst Opcjonalny
transaction_id Unikalny identyfikator tej transakcji tekst Opcjonalny
transaction_date Data transakcji (sygnatura czasowa Unix) int, Opcjonalny
transaction_revenue Przychody z transakcji int, Opcjonalny
currency Rodzaj waluty transakcji tekst Opcjonalny
quantity Liczba produktów w transakcji tekst Opcjonalny
price Cena za produkt w transakcji int, Opcjonalny
transaction_cost Koszt produktów / usług zawartych w transakcji int, Opcjonalny
transaction_profit Zysk brutto z transakcji int, Opcjonalny
product_id Kod SKU / identyfikator produktów w transakcji tekst Opcjonalny
transaction_description Inny opis / metadane / parametry transakcji tekst Opcjonalny
event_type (typ zdarzenia) Na przykład wyświetlenia reklam telewizyjnych, e-maile marketingowe, wizyty w witrynie, wizyty w sklepie stacjonarnym itd. tekst Opcjonalny
event_id (identyfikator zdarzenia) Unikalny identyfikator powyższego zdarzenia. tekst Opcjonalny
event_timestamp Data zdarzenia (sygnatura czasowa Unix) int, Opcjonalny
metadane_kanału Dodatkowe metadane lub informacje o tym kanale styczności z klientem tekst Opcjonalny

Porównanie kampanii

Porównaj skuteczność różnych kampanii Google i kampanii innych wydawców.

Nazwa pola Opis Typ Wymagany/opcjonalny
klucz łączenia Zmienia się w zależności od używanego klucza łączenia tekst Wymagany
Wspieranie Kanał, na którym trwała ta kampania (np. Facebook, TV itp.) tekst Wymagany
partner Nazwa partnera (jeśli dotyczy) tekst Opcjonalny
taktyka Nazwa konkretnej taktyki tekst Opcjonalny
metadane_kampanii Dodatkowe metadane lub informacje o tej kampanii tekst Opcjonalny
date Data aktywności kampanii (sygnatura czasowa Unix) int, Wymagany
wyświetlenia Liczba wyświetleń w tej kampanii w tym dniu int, Wymagany
kliknięcia Liczba kliknięć w tej kampanii w tym dniu int, Wymagany
konwersje Liczba konwersji z tej kampanii w tym dniu int, Wymagany
koszt Całkowity koszt z tej kampanii w tym dniu int, Wymagany

Porównanie podobnych zainteresowań i etykiet

Określ pokrywający się zakres Twoich własnych segmentów użytkowników oraz segmentów odbiorców o podobnych zainteresowaniach i odbiorców na rynku Google.

Nazwa pola Opis Typ Wymagany/opcjonalny
klucz łączenia Zmienia się w zależności od używanego klucza łączenia tekst Wymagany
płeć Płeć tekst Opcjonalny
wiek Wiek int, Opcjonalny
miasto Miasto tekst Opcjonalny
kraj Kraj tekst Opcjonalny
cykl życia Stan ścieżki klienta: nieznany, wprowadzenie, zaangażowany, nieważny itp. tekst Opcjonalny
status_lojalności Srebro, złoto, platyna, diament itp. tekst Opcjonalny
last_purchase_date [ostatnia_zakup] Data ostatniego zakupu (sygnatura czasowa Unix) int, Opcjonalny
last_purchase_product [ostatni_zakup] Ostatni zakup / konsumpcja produktu tekst Opcjonalny
data_ostatniego_kontaktu Data ostatniego kontaktu lub zaangażowania (sygnatura czasowa Unix) int, Opcjonalny
Wartość od początku śledzenia Wartość od początku śledzenia klienta int, Opcjonalny
subscription_type [typ_subskrypcji] typ produktu lub subskrypcji (np. Deluxe, subskrypcja rodzinna) tekst Opcjonalny

Analiza konwersji z aplikacji

Mierz wpływ kampanii na zachowania w aplikacji.

Nazwa pola Opis Typ Wymagany/opcjonalny
klucz łączenia Zmienia się w zależności od używanego klucza łączenia tekst Wymagany
date Data aktywności w aplikacjach mobilnych (sygnatura czasowa Unix) int, Wymagany
Zainstaluj Wartość logiczna wskazująca, czy w tym dniu zostało zarejestrowane zdarzenie instalacji wartość logiczna Wymagany
rejestracja Wartość logiczna wskazująca, czy w tym dniu zostało zarejestrowane zdarzenie rejestracji wartość logiczna Wymagany
login Wartość logiczna wskazująca, czy w danym dniu zostało zarejestrowane zdarzenie logowania. wartość logiczna Wymagany
in_app_purchases, Łączna liczba zakupów w aplikacji w tym dniu int, Wymagany

Obliczenia ROI

Mierz wzrost zwrotów na podstawie danych własnych o konwersjach.

Nazwa pola Opis Typ Wymagany/opcjonalny
klucz łączenia Zmienia się w zależności od używanego klucza łączenia tekst Wymagany
transaction_id Unikalny identyfikator tej transakcji tekst Wymagany
transaction_date Data transakcji (sygnatura czasowa Unix) int, Wymagany
transaction_revenue Przychody z transakcji int, Wymagany
currency Rodzaj waluty transakcji tekst Opcjonalny
quantity Liczba produktów w transakcji tekst Opcjonalny
price Cena za produkt w transakcji int, Opcjonalny
transaction_cost Koszt produktów / usług zawartych w transakcji int, Opcjonalny
transaction_profit Zysk brutto z transakcji int, Opcjonalny
product_id Kod SKU / identyfikator produktów w transakcji tekst Opcjonalny
transaction_description Inny opis / metadane / parametry transakcji tekst Opcjonalny

Aktywacja odbiorców niestandardowych

Utwórz i aktywuj niestandardowe segmenty użytkowników na podstawie danych własnych i danych Google

Nazwa pola Opis Typ Wymagany/opcjonalny
klucz łączenia Zmienia się w zależności od używanego klucza łączenia tekst Wymagany
płeć Płeć tekst Opcjonalny
wiek Wiek int, Opcjonalny
miasto Miasto tekst Opcjonalny
kraj Kraj tekst Opcjonalny
cykl życia Stan ścieżki klienta: nieznany, wprowadzenie, zaangażowany, nieważny itp. tekst Opcjonalny
status_lojalności Srebro, złoto, platyna, diament itp. tekst Opcjonalny
last_purchase_date [ostatnia_zakup] Data ostatniego zakupu (sygnatura czasowa Unix) int, Opcjonalny
last_purchase_product [ostatni_zakup] Ostatni zakup / konsumpcja produktu tekst Opcjonalny
data_ostatniego_kontaktu Data ostatniego kontaktu lub zaangażowania (sygnatura czasowa Unix) int, Opcjonalny
Wartość od początku śledzenia Wartość od początku śledzenia klienta int, Opcjonalny
subscription_type [typ_subskrypcji] typ produktu lub subskrypcji (np. Deluxe, subskrypcja rodzinna) tekst Opcjonalny

Ustalanie stawek niestandardowych

Optymalizuj strategie ustalania stawek w Display & Video 360 na podstawie danych własnych i danych Google

Nazwa pola Opis Typ Wymagany/opcjonalny
klucz łączenia Zmienia się w zależności od używanego klucza łączenia tekst Wymagany
płeć Płeć tekst Opcjonalny
wiek Wiek int, Opcjonalny
miasto Miasto tekst Opcjonalny
kraj Kraj tekst Opcjonalny
cykl życia Stan ścieżki klienta: nieznany, wprowadzenie, zaangażowany, nieważny itp. tekst Opcjonalny
status_lojalności Srebro, złoto, platyna, diament itp. tekst Opcjonalny
last_purchase_date [ostatnia_zakup] Data ostatniego zakupu (sygnatura czasowa Unix) int, Opcjonalny
last_purchase_product [ostatni_zakup] Ostatni zakup / konsumpcja produktu tekst Opcjonalny
data_ostatniego_kontaktu Data ostatniego kontaktu lub zaangażowania (sygnatura czasowa Unix) int, Opcjonalny
Wartość od początku śledzenia Wartość od początku śledzenia klienta int, Opcjonalny
subscription_type [typ_subskrypcji] typ produktu lub subskrypcji (np. Deluxe, subskrypcja rodzinna) tekst Opcjonalny

Skuteczność różnych wydawców

Mierz dane o skuteczności według wydawcy lub według wydawcy i własnych segmentów użytkowników

Nazwa pola Opis Typ Wymagany/opcjonalny
klucz łączenia Zmienia się w zależności od używanego klucza łączenia tekst Wymagany
płeć Płeć tekst Opcjonalny
wiek Wiek int, Opcjonalny
miasto Miasto tekst Opcjonalny
kraj Kraj tekst Opcjonalny
cykl życia Stan ścieżki klienta: nieznany, wprowadzenie, zaangażowany, nieważny itp. tekst Opcjonalny
status_lojalności Srebro, złoto, platyna, diament itp. tekst Opcjonalny
last_purchase_date [ostatnia_zakup] Data ostatniego zakupu (sygnatura czasowa Unix) int, Opcjonalny
last_purchase_product [ostatni_zakup] Ostatni zakup / konsumpcja produktu tekst Opcjonalny
data_ostatniego_kontaktu Data ostatniego kontaktu lub zaangażowania (sygnatura czasowa Unix) int, Opcjonalny
Wartość od początku śledzenia Wartość od początku śledzenia klienta int, Opcjonalny
subscription_type [typ_subskrypcji] typ produktu lub subskrypcji (np. Deluxe, subskrypcja rodzinna) tekst Opcjonalny