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:
- 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.
- Bieżące zapytania w Centrum danych reklam, na podstawie dopasowanych danych
- Przeprowadzasz zapytaniaw tabeli
*_match
w taki sam sposób, jak w przypadku standardowych zapytań w Centrum danych reklam.
- Przeprowadzasz zapytaniaw tabeli
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.
- Wyślij do swojego przedstawiciela Google:
- Identyfikator konta Centrum danych reklam, które posłuży Ci do dopasowywania danych przekazywanych przez użytkowników.
- Adres e-mail superużytkownika, który ma dostęp do Twojego projektu Miejsce docelowe.
- Potwierdź u przedstawiciela Google, że konto i superużytkownik są dodane do listy dozwolonych.
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.
- Otwórz bibliotekę interfejsu Cloud Console API.
- Wybierz z listy projekt Źródło danych.
- Wyszukaj interfejs "Ads Data Connector API". 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.
- Na stronie interfejsu API kliknij WŁĄCZ.
- Poproś przedstawiciela Google o włączenie interfejsu API.
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.
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
- 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 „"+"” 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:
- Adres e-mail, telefon, adres (najlepszy)
- Telefon, adres
- Adres e-mail, adres
- E-mail, telefon
- Adres
- Telefon
- E-mail (najsłabszy)
Utwórz tabelę z dopasowaniem
- Kliknij Połączenia > Dopasowanie danych > Utwórz połączenie.
- Wybierz źródło danych i kliknij Połącz. Uwierzytelnij się, jeśli pojawi się taka prośba, a potem kliknij Dalej.
- 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
- Ustaw miejsce docelowe, a następnie kliknij Dalej:
- Wybierz nowy zbiór danych BigQuery, który ma być pośrednim miejscem docelowym danych. Dzięki temu dane będą prawidłowo sformatowane.
- Opcjonalnie: zmień format danych. Przekształcenia obejmują haszowanie obliczeniowe,
formatowanie małych i wielkich liter oraz scalanie i dzielenie.
- Kliknij Działanie > > Przekształć.
- W wyświetlonym panelu kliknij Dodaj przekształcenie lub Dodaj kolejne przekształcenie.
- Wybierz typ przekształcenia z menu i podaj wymagania.
- Kliknij Zapisz.
- Wybierz co najmniej 1 klucz łączenia, aby zmapować pola, których będziesz używać, a potem kliknij Dalej.
- Ustaw harmonogram:
- Nazwij połączenie.
- 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.
- Określ, jak mają być obsługiwane kolizje identyfikatorów użytkowników. Możesz zachować bieżące dopasowanie lub zastąpić nowymi danymi.
- 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:
- Kliknij Połączenia > Dopasowanie danych.
- Kliknij nazwę połączenia, aby wyświetlić jego szczegóły.
- 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).
- 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.
- 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 cookiematch_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:
- BigQuery
- Cloud Storage
- Salesforce (już wkrótce)
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
- Kliknij Połączenia > Twoje dane własne > Utwórz połączenie.
- 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.
- 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.
- 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
- 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.
- Ustaw harmonogram.
- Nazwij połączenie.
- 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.
- 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:
- Kliknij Połączenia i Twoje dane własne.
- Kliknij nazwę połączenia, aby wyświetlić jego szczegóły.
- 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).
- 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.
- 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 |