Ringkasan
UPDM (Pencocokan data yang disediakan pengguna) menggabungkan data pihak pertama yang telah Anda kumpulkan tentang pengguna, seperti informasi dari situs, aplikasi, atau toko fisik Anda, dengan aktivitas login pengguna yang sama di data iklan Google, tidak termasuk Google Marketing Platform. Agar memenuhi syarat untuk pencocokan data yang diberikan pengguna, peristiwa iklan harus ditautkan ke pengguna yang login dalam data iklan Google.
Pencocokan data yang disediakan pengguna menawarkan beberapa keunggulan unik dibandingkan bentuk pencocokan pelanggan lainnya. Pencocokan data yang disediakan pengguna:
- Lebih tahan terhadap perubahan industri daripada data pihak ketiga
- Tidak terpengaruh oleh penghentian cookie pihak ketiga yang akan datang, karena pencocokan data yang diberikan pengguna hanya tersedia di inventaris yang dimiliki dan dioperasikan oleh Google, untuk pengguna yang login
- Dapat memberikan pengalaman pelanggan yang lebih relevan, yang sering menghasilkan interaksi pelanggan yang lebih tinggi
- Menawarkan insight pelanggan yang lebih beragam
Ringkasan proses
Setelah Anda mengaktifkan pencocokan data yang disediakan pengguna di akun Anda, ada dua tahap dalam penggunaan fitur secara berkelanjutan:
- Penyerapan data pihak pertama ke Ads Data Hub
- Anda memformat dan mengupload data pihak pertama Anda ke set data BigQuery. Anda dapat menggunakan set data BigQuery apa pun yang Anda miliki, selain project admin.
- Anda memulai permintaan pencocokan data dengan membuat koneksi dan mengimpor jadwal.
- Google menggabungkan data antara project Anda dan data milik Google yang berisi ID pengguna Google dan data yang di-hash yang disediakan pengguna untuk membuat dan memperbarui tabel
*_match
.
- Kueri berkelanjutan di Ads Data Hub, berdasarkan data yang cocok
- Anda menjalankan kueri terhadap tabel
*_match
dengan cara yang sama seperti menjalankan kueri reguler di Ads Data Hub.
- Anda menjalankan kueri terhadap tabel
Sumber data dan project tujuan
Anda harus menggunakan dua project Google Cloud yang berbeda: project Sumber Data dan project Tujuan.
- Sumber Data: Project ini berisi data iklan milik Anda dalam format mentahnya.
- Tujuan: Ini adalah set data BigQuery yang digunakan untuk menulis Ads Data Hub. Secara default, ini adalah project admin Anda. Untuk mengubahnya ke Project Google Cloud lain, lihat Mengonfigurasi akun layanan.
Batasan privasi
Mengumpulkan data pelanggan
Jika menggunakan pencocokan data yang disediakan pengguna, Anda harus mengupload data pihak pertama. Informasi ini dapat berupa informasi yang Anda kumpulkan dari situs, aplikasi, toko fisik, atau informasi apa pun yang dibagikan pelanggan secara langsung kepada Anda.
Ukuran data
Untuk melindungi privasi pengguna akhir, pencocokan data yang disediakan pengguna menerapkan persyaratan berikut mengenai ukuran data Anda:
- Anda harus mengupload setidaknya 1.000 data dalam daftar pengguna.
- Setiap pembaruan yang cocok pada tabel pencocokan Anda harus menyertakan jumlah minimum pengguna yang baru dicocokkan. Perilaku ini mirip dengan pemeriksaan perbedaan.
- Daftar Anda tidak boleh melebihi jumlah data maksimum. Untuk mempelajari batas data maksimum, hubungi perwakilan Google Anda.
Mengaktifkan tab Connections
Sebelum memulai, konfigurasikan akun Ads Data Hub Anda untuk mengaktifkan tab Koneksi, tempat Anda akan membuat pipeline pencocokan data. Anda hanya perlu melakukan langkah-langkah ini satu kali.
- Kirim perwakilan Google Anda:
- ID akun Ads Data Hub yang akan Anda gunakan untuk pencocokan data yang disediakan pengguna.
- Alamat email superuser yang memiliki akses ke project Destination.
- Konfirmasikan dengan perwakilan Google Anda bahwa akun dan pengguna super diizinkan.
Aktifkan Ads Data Connector API di project Google Cloud yang ditetapkan. Secara default, ini adalah project admin Anda. Untuk menggunakan project lain, ikuti langkah-langkah berikut dengan project Google Cloud alternatif sebagai project Sumber Data. Langkah-langkah ini harus dilakukan saat login sebagai pengguna super yang diizinkan.
- Buka Library Cloud Console API.
- Pilih project Sumber Data Anda dari daftar.
- Telusuri "Ads Data Connector API". Jika Ads Data Connector API tidak muncul di hasil penelusuran, hal ini mungkin menunjukkan bahwa Akun Google yang digunakan untuk login tersebut bukan superuser yang diizinkan.
- Di halaman API, klik AKTIFKAN.
- Konfirmasikan dengan perwakilan Google Anda bahwa API telah diaktifkan.
Perwakilan Google akan mengirimkan tiga alamat email kepada Anda, yang ditetapkan sebagai akun layanan Datafusion, Datapro, dan UPDM.
Bagian Koneksi baru juga akan muncul di akun Ads Data Hub Anda, yang berisi tab yang disebut Data pihak pertama Anda dan Pencocokan data. Pelajari kasus penggunaan untuk setiap tab.
Berikan izin yang sesuai ke akun layanan. Untuk penjelasan tentang berbagai akun layanan dan izin yang diperlukannya, pilih sumber data Anda di tabel:
BigQuery
Akun layanan datafusion Tujuan Akun layanan datafusion digunakan untuk menampilkan daftar kolom sumber di UI Ads Data Hub. Format service-some-number@gcp-sa-datafusion.iam.gserviceaccount.com
Akses yang diperlukan BigQuery Data Viewer
roles/bigquery.dataViewer
untuk set data tertentu di project Sumber Data dan Tujuan Storage Admin
roles/storage.admin
untuk project Sumber Data, atau bucket penyimpanan khusus Akun layanan datapro Tujuan Akun layanan datapro bertanggung jawab untuk menjalankan pipeline data di latar belakang. Format some-number-compute@developer.gserviceaccount.com
Akses yang diperlukan BigQuery Data Viewer
roles/bigquery.dataViewer
untuk set data tertentu di project Sumber Data dan Tujuan BigQuery Data Editor
roles/bigquery.dataEditor
untuk set data tertentu di project Destination BigQuery Job User
roles/bigquery.jobUser
untuk project Sumber Data dan Tujuan Storage Admin
roles/storage.admin
untuk project Sumber Data dan Tujuan, atau bucket penyimpanan khusus Akun layanan UPDM Tujuan Akun layanan UPDM digunakan untuk menjalankan tugas yang cocok. Format service-some-number@gcp-sa-adsdataconnector.iam.gserviceaccount.com
Akses yang diperlukan BigQuery Data Viewer
roles/bigquery.dataViewer
untuk project Destination BigQuery Job User
roles/bigquery.jobUser
untuk project Destination Cloud Storage
Akun layanan datafusion Tujuan Akun layanan datafusion digunakan untuk menampilkan daftar kolom sumber di UI Ads Data Hub. Format service-some-number@gcp-sa-datafusion.iam.gserviceaccount.com
Akses yang diperlukan Storage Object Viewer
roles/storage.objectViewer
untuk bucket penyimpanan tertentu dalam project Sumber Data BigQuery Data Viewer
roles/bigquery.dataViewer
untuk project Sumber Data, atau bucket penyimpanan khusus Storage Admin
roles/storage.admin
untuk project Sumber Data, atau bucket penyimpanan khusus Akun layanan datapro Tujuan Akun layanan datapro bertanggung jawab untuk menjalankan pipeline data di latar belakang. Format some-number-compute@developer.gserviceaccount.com
Akses yang diperlukan Storage Admin
roles/storage.admin
untuk project Sumber Data dan Tujuan, atau bucket penyimpanan khusus BigQuery Job User
roles/bigquery.jobUser
untuk project Destination Akun layanan UPDM Tujuan Akun layanan UPDM digunakan untuk menjalankan tugas yang cocok. Format service-some-number@gcp-sa-adsdataconnector.iam.gserviceaccount.com
Akses yang diperlukan BigQuery Data Viewer
roles/bigquery.dataViewer
untuk project Destination BigQuery Job User
roles/bigquery.jobUser
untuk project Destination Salesforce
Segera hadir
Menyerap data pihak pertama
Memformat data untuk input
Data Anda harus mematuhi persyaratan pemformatan berikut agar dapat dicocokkan dengan benar:
- Jika ditunjukkan, Anda harus mengupload menggunakan hashing SHA256 yang dienkode sebagai string Base16. Meskipun UPDM mendukung Base64, hal ini berbeda dengan pedoman Customer Match Google Ads.
- Kolom input harus diformat sebagai string. Jika Anda menggunakan fungsi hash SHA256 BigQuery dan fungsi encoding Base16 (TO_HEX), gunakan transformasi berikut:
TO_HEX(SHA256(user_data))
.
User-ID
- Teks biasa
- Hashing: Tidak ada
- Hapus spasi kosong
- Semua karakter harus berupa huruf kecil
- Sertakan nama domain untuk semua alamat email, seperti gmail.com atau hotmail.co.jp
- Hapus aksen—misalnya, ubah è, é, ê, atau ë menjadi e
- Hashing: SHA256 berenkode Base16
Valid: TO_HEX(SHA256("jeffersonloveshiking@gmail.com"))
Tidak valid:TO_HEX(SHA256("JéffersonLôvesHiking@gmail.com"))
Phone
- Hapus spasi kosong
- Format dalam format E.164—misalnya, AS +14155552671, Inggris +442071838750)
- Sertakan kode negara (termasuk AS)
- Hapus semua karakter khusus kecuali "+" sebelum kode negara
- Hashing: SHA256 berenkode Base16
Valid: TO_HEX(SHA256("+18005550101"))
Tidak valid:TO_HEX(SHA256("(800) 555-0101"))
Nama depan
- Hapus spasi kosong
- Semua karakter harus berupa huruf kecil
- Hapus semua awalan, seperti Ny.
- Jangan hapus aksen—misalnya, è, é, ê, atau ë
- Hashing: SHA256 berenkode Base16
Valid: TO_HEX(SHA256("daní"))
Tidak valid:TO_HEX(SHA256("Daní"))
Nama belakang
- Hapus spasi kosong
- Semua karakter harus berupa huruf kecil
- Hapus semua awalan, seperti Jr.
- Jangan hapus aksen—misalnya, è, é, ê, atau ë
- Hashing: SHA256 berenkode Base16
Valid: TO_HEX(SHA256("delacruz"))
Tidak valid: TO_HEX(SHA256("de la Cruz, Jr."))
Negara
- Sertakan kode negara meskipun semua data pelanggan Anda berasal dari negara yang sama
- Jangan hash data negara
- Gunakan kode negara ISO 3166-1 alpha-2
- Hashing: Tidak ada
Valid: US
Tidak valid:United States of America
atau USA
Kode pos
- Jangan hash data kode pos
- Kode zip/pos AS dan internasional diizinkan
- Untuk AS:
- Kode 5 digit diizinkan—misalnya, 94043
- 5 digit yang diikuti dengan ekstensi 4 digit juga diizinkan—misalnya, 94043-1351 atau 940431351
- Untuk semua negara lain:
- Tidak perlu pemformatan (Tidak perlu huruf kecil, atau menghapus spasi dan karakter khusus)
- Jangan sertakan ekstensi kode pos
- Hashing: Tidak ada
Validasi hash dan encoding data
Anda dapat menggunakan skrip validasi hash berikut untuk memastikan data Anda diformat dengan benar.
JavaScript
Dasar16
/**
* @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
Dasar16
"""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
Dasar16
/*
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
Dasar16
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
Dasar16
/*
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`;
Kunci penghubung
Beberapa kombinasi data yang disediakan pengguna lebih kuat dibandingkan data lainnya. Berikut adalah daftar berbagai kombinasi data yang disediakan pengguna, yang diberi peringkat berdasarkan kekuatan relatif:
- Email, Telepon, Alamat (yang paling kuat)
- Telepon, Alamat
- Email, Alamat
- Email, Telepon
- Alamat
- Phone
- Email (terlemah)
Membuat tabel pencocokan
- Klik Koneksi > Pencocokan data > Buat koneksi.
- Pilih sumber data, lalu klik Hubungkan. Autentikasi jika diminta, lalu klik Next.
- Konfigurasikan sumber data Anda, lalu klik Berikutnya:
BigQuery
Pilih tabel BigQuery yang akan diimpor.
Cloud Storage
Masukkan jalur file gsutil, seperti
gs://my-bucket/folder/
dan pilih format file.Salesforce
Segera hadir
- Tetapkan destination, lalu klik Next:
- Pilih set data BigQuery baru untuk digunakan sebagai tujuan perantara data. Langkah ini memastikan data Anda diformat dengan benar.
- Opsional: Ubah format data Anda. Transformasi meliputi hash komputasi, pemformatan huruf kecil/kecil, dan kolom penggabungan/pemisahan.
- Klik Tindakan > > Transform.
- Di panel yang muncul, klik Tambahkan transformasi atau Tambahkan transformasi lain
- Pilih jenis transformasi dari menu dropdown dan masukkan persyaratannya.
- Klik Simpan.
- Pilih setidaknya satu kunci gabung untuk memetakan kolom yang akan Anda gunakan, lalu klik Berikutnya.
- Tetapkan jadwal:
- Beri nama koneksi Anda.
- Tetapkan frekuensi, yang mendikte seberapa sering data akan diimpor ke set data yang Anda pilih pada langkah sebelumnya. Setiap operasi akan menimpa data di tabel destination.
- Tentukan cara menangani konflik ID pengguna. Anda dapat memilih antara menyimpan kecocokan yang ada atau menimpa dengan data baru.
- Klik Finish.
Lihat detail koneksi
Halaman detail koneksi menyediakan informasi tentang operasi dan error terbaru koneksi tertentu. Untuk melihat detail koneksi tertentu:
- Klik Koneksi > Pencocokan data.
- Klik nama koneksi untuk melihat detailnya.
- Sekarang Anda dapat melihat detail koneksi dan operasi terbaru. Masing-masing menampilkan dua
jenis error yang mungkin terjadi: tingkat koneksi (koneksi tidak berjalan) dan
error tingkat baris (baris tidak diimpor).
- Status Failed menunjukkan bahwa seluruh koneksi gagal dijalankan (misalnya, masalah izin akun layanan). Klik status error untuk melihat error mana yang memengaruhi koneksi.
- Status Selesai menunjukkan bahwa koneksi berhasil dijalankan. Namun, mungkin masih ada error tingkat baris, yang ditunjukkan dengan nilai bukan nol di kolom "Baris dengan error". Klik nilai untuk mempelajari data yang gagal lebih lanjut.
Mengedit koneksi
Pengeditan koneksi belum didukung. Untuk mengubah koneksi, buat yang baru, lalu hapus yang lama.
Membuat kueri data di Ads Data Hub
Membuat kueri tabel pencocokan
Jika tabel pencocokan Anda berisi cukup data untuk memenuhi pemeriksaan privasi, Anda siap menjalankan kueri terhadap tabel. Setiap tabel dalam skema Ads Data Hub yang berisi kolom user_id
disertai dengan
tabel *_match
. Misalnya, untuk tabel adh.google_ads_impressions
, Ads Data Hub juga membuat tabel pencocokan yang disebut
adh.google_ads_impressions_match
yang berisi ID pengguna hanya. Tabel ini berisi subkumpulan pengguna yang tersedia dalam tabel awal, jika ada kecocokan pada user_id
. Misalnya, jika tabel asli berisi data untuk Pengguna A dan Pengguna B, tetapi hanya Pengguna A yang cocok, maka Pengguna B tidak akan berada dalam tabel pencocokan.
Tabel kecocokan berisi kolom tambahan yang disebut external_cookie
, yang menyimpan cookie Anda sebagai ccTLD.
Kolom external_cookie berisi ID Anda sebagai ccTLD. Anda harus mentransmisikan kunci penghubung ke ccTLD agar pencocokan berhasil.
JOIN ON
google_data_imp.external_cookie = CAST(my_data.user_id AS BYTES)
Gunakan tabel pencocokan dengan membuat kueri *_match
tampilan tabel peristiwa iklan. Jika Anda juga menggunakan pencocokan cookie, Anda dapat memfilter berdasarkan jenis pencocokan di kueri Anda.
Gunakan:
match_type = 1
untuk pencocokan cookiematch_type = 2
untuk pencocokan data yang disediakan pengguna
Meskipun match_type
diizinkan dalam kueri, kolom ini tidak dapat ditampilkan
dalam hasil, jadi Anda tidak boleh menyertakannya dalam pernyataan SELECT
akhir.
Sampel kueri
Hitung pengguna yang cocok
Kueri ini menghitung jumlah pengguna yang cocok dalam tabel tayangan Google Ads Anda.
/* Count matched users in Google Ads impressions table */
SELECT COUNT(DISTINCT user_id)
FROM adh.google_ads_impressions_match
Menghitung data yang cocok yang diberikan pengguna
Kueri ini menghitung jumlah pengguna yang cocok menurut jenis pencocokan. Karena tabel peristiwa iklan berisi peristiwa dari pengguna yang login dan logout, pemfilteran pada pencocokan data yang disediakan pengguna hanya akan mencocokkan pengguna yang login.
/* 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
Kueri ini menunjukkan cara menggabungkan data pihak pertama dengan data 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
Kueri ini menghitung jumlah pengguna yang cocok dengan data yang disediakan pengguna, tidak termasuk pengguna yang cocok dengan cookie. Perhatikan bahwa tabel peristiwa iklan berisi peristiwa dari pengguna yang login dan logout, sehingga memfilter hanya pencocokan data yang disediakan pengguna hanya akan mencocokkan pengguna yang login.
/* 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
Koneksi
Untuk memperoleh insight iklan yang berharga sering kali dibutuhkan untuk menggabungkan data dari beberapa sumber. Membuat solusi Anda sendiri untuk masalah pipeline data ini memerlukan investasi waktu dan investasi teknis yang signifikan. Koneksi menyederhanakan proses ini dengan menyediakan antarmuka terpandu langkah demi langkah untuk mengimpor, mengubah, dan menulis data ke BigQuery. Setelah menulis data, Anda dapat menggunakannya dalam kueri Ads Data Hub, atau produk lain yang dibaca dari BigQuery. Memperkaya kueri Anda dengan data pihak pertama dapat memberikan pengalaman pelanggan yang lebih kaya, dan lebih tahan terhadap perubahan pelacakan iklan di seluruh industri.
Selain itu, Connections dibuat dengan alat yang memungkinkan Anda mengenkripsi dan membagikan informasi identitas pribadi (PII) kepada partner melalui cara yang berfokus pada privasi. Setelah memilih kolom yang berisi PII, Koneksi akan mengenkripsi data, sehingga memastikan data pihak pertama hanya dapat diekspor atau dibaca oleh orang yang memiliki izin untuk melakukannya.
Anda dapat menggunakan Connections untuk mengimpor data dari:
- BigQuery
- Cloud Storage
- Salesforce (segera hadir)
Mengetahui data pihak pertama yang diperlukan untuk kasus penggunaan pengukuran atau aktivasi dapat sulit dilakukan, sehingga Connections menyediakan daftar lengkap kasus penggunaan standar, lalu memandu Anda seluruh pengalaman mengekstrak, mentransformasi, dan memuat data.
Perbedaan antara Data Pihak Pertama dan Pencocokan Data
Alur kerja untuk mengonfigurasi tabel pencocokan yang disediakan pengguna mirip dengan membuat koneksi data pihak pertama reguler melalui Koneksi. Namun, persyaratan dua project mengasumsikan bahwa Anda menyiapkan Connections sebelum menggunakan pencocokan data yang disediakan pengguna. Jika hanya menggunakan Connections sebagai alat persiapan data, Anda dapat menggunakan satu project Google Cloud.
Persyaratan tambahan untuk pencocokan data yang disediakan pengguna:
- Anda harus menggunakan email, telepon, alamat, atau kombinasi apa pun sebagai kunci penghubung.
- Anda harus menentukan cara menangani konflik pengguna_id. Anda dapat memilih antara menyimpan kecocokan yang ada atau menimpa dengan data baru.
- Anda harus menggunakan akun layanan UPDM selain akun datafusion dan datapro.
Alur kerja Data Pihak Pertama Anda
Membuat koneksi
- Klik Koneksi > Data Pihak Pertama Anda > Buat koneksi.
- Menghubungkan ke sumber data. Anda akan diminta untuk mengautentikasi.
BigQuery
Izin didasarkan pada Akun Google Anda, sehingga tidak memerlukan autentikasi tambahan. Pastikan akun layanan Connections memiliki akses baca ke tabel.
Cloud Storage
Izin didasarkan pada Akun Google Anda, sehingga tidak memerlukan autentikasi tambahan. Pastikan akun layanan Connections memiliki akses baca ke bucket penyimpanan.
Salesforce
(Segera hadir)
Gunakan kredensial Salesforce organisasi Anda untuk login. Google tidak menyimpan kredensial Anda, sehingga setiap koneksi Salesforce baru akan memerlukan autentikasi ulang.
- Pilih kasus penggunaan dan kunci join, lalu klik Pilih kasus penggunaan. Jika Anda tidak ingin memilih kasus penggunaan, klik Lewati. Anda tidak akan dapat memilih kasus penggunaan nanti.
- Konfigurasikan sumber data Anda.
BigQuery
Pilih tabel BigQuery yang akan diimpor.
Cloud Storage
Masukkan jalur file gsutil, seperti
gs://my-bucket/folder/
dan pilih format file.Salesforce
Segera hadir
- Konfigurasikan kolom tujuan dan peta Anda.
- Pilih project, set data, dan tabel Google Cloud tempat Anda ingin menulis hasil. Pastikan akun layanan Connections memiliki akses tulis ke set data yang akan Anda tulis.
- Setiap koneksi akan membuat tabel baru tempat Anda ingin menulis. Jika memilih tabel yang sudah ada, Anda akan melihat error.
- Petakan kolom tujuan (kolom yang akan muncul di tabel yang Anda buat) ke kolom sumber di data sumber Anda.
- Setel jadwal.
- Beri nama koneksi Anda.
- Tetapkan frekuensi, yang mendikte seberapa sering data akan diimpor ke set data yang Anda pilih pada langkah sebelumnya. Setiap operasi akan menimpa data di tabel destination.
- Klik Done. Koneksi yang memproses data dalam jumlah besar mungkin memerlukan waktu beberapa jam untuk dijalankan.
Lihat detail koneksi
Halaman detail koneksi menyediakan informasi tentang operasi dan error terbaru koneksi tertentu. Untuk melihat detail koneksi tertentu:
- Klik Koneksi > Data Pihak Pertama Anda.
- Klik nama koneksi untuk melihat detailnya.
- Sekarang Anda dapat melihat detail koneksi dan operasi terbaru. Masing-masing menampilkan dua
jenis error yang mungkin terjadi: tingkat koneksi (koneksi tidak berjalan) dan
error tingkat baris (baris tidak diimpor).
- Status Failed menunjukkan bahwa seluruh koneksi gagal dijalankan (misalnya, masalah izin akun layanan). Klik status error untuk melihat error mana yang memengaruhi koneksi.
- Status Selesai menunjukkan bahwa koneksi berhasil dijalankan. Namun, mungkin masih ada error tingkat baris, yang ditunjukkan dengan nilai bukan nol di kolom "Baris dengan error". Klik nilai untuk mempelajari data yang gagal lebih lanjut.
Mengedit koneksi
Pengeditan koneksi belum didukung. Untuk mengubah koneksi, buat yang baru dan hapus yang lama.
Kasus penggunaan
Kasus penggunaan yang Anda pilih memengaruhi skema tabel tujuan dan kolom join join key. Perluas kasus penggunaan di bawah untuk mempelajari pengaruhnya terhadap skema dan kunci join:
Jangkauan dan frekuensi
Ukur jangkauan dan frekuensi kampanye di seluruh saluran dan perangkat, yang dikelompokkan berdasarkan segmen pengguna pihak pertama Anda.
Nama kolom | Deskripsi | Jenis | Wajib/opsional |
---|---|---|---|
kunci join | Perubahan berdasarkan kunci join yang Anda gunakan | string | Wajib |
gender | Gender | string | Opsional |
age | Usia | int | Opsional |
kota | Kota | string | Opsional |
country | Negara | string | Opsional |
status_siklus proses | Status funnel pelanggan: tidak diketahui, orientasi, engagement, nonaktif, dll. | string | Opsional |
loyalitas_status | Perak, emas, platina, berlian, dll. | string | Opsional |
tanggal_pembelian_terakhir | Tanggal pembelian terakhir (stempel waktu epoch Unix) | int | Opsional |
produk_pembelian_terakhir | Produk terakhir dibeli / digunakan | string | Opsional |
tanggal_kontak_terakhir | Tanggal kontak / interaksi terakhir (stempel waktu epoch Unix) | int | Opsional |
LTV | LTV Pelanggan | int | Opsional |
subscription_type [jenis_langganan] | Subproduk / jenis langganan yang dimiliki pelanggan - mis. deluxe, paket keluarga | string | Opsional |
transaction_id | ID unik untuk transaksi ini | string | Opsional |
transaction_date [tanggal_transaksi] | Tanggal transaksi (stempel waktu epoch Unix) | int | Opsional |
transaction_pendapatan | Pendapatan dari transaksi | int | Opsional |
currency | Jenis mata uang transaksi | string | Opsional |
quantity | Jumlah item dalam transaksi | string | Opsional |
price | Harga per item dalam transaksi | int | Opsional |
transaction_cost [biaya_transaksi] | Biaya barang / layanan dari transaksi | int | Opsional |
transaction_profit | Laba kotor dari transaksi | int | Opsional |
product_id | SKU / ID produk dalam transaksi | string | Opsional |
transaction_description | Deskripsi / metadata / parameter lain tentang transaksi | string | Opsional |
jenis_peristiwa | Misalnya tayangan iklan TV, email pemasaran, kunjungan situs, kunjungan di toko, dll. | string | Opsional |
id_peristiwa | ID unik acara di atas | string | Opsional |
event_timestamp | Tanggal peristiwa (stempel waktu epoch Unix) | int | Opsional |
metadata_channel | Metadata atau informasi tambahan tentang channel poin kontak ini | string | Opsional |
Atribusi multi-sentuh
Ukur atribusi dengan menggabungkan poin kontak pihak pertama dengan poin kontak dari data Google.
Nama kolom | Deskripsi | Jenis | Wajib/opsional |
---|---|---|---|
kunci join | Perubahan berdasarkan kunci join yang Anda gunakan | string | Wajib |
jenis_peristiwa | Misalnya tayangan iklan TV, email pemasaran, kunjungan situs, kunjungan di toko, dll. | string | Wajib |
id_peristiwa | ID unik acara di atas | string | Wajib |
event_timestamp | Tanggal peristiwa (stempel waktu epoch Unix) | int | Wajib |
kredit | Nilai kredit (digunakan untuk atribusi) - mis. # konversi | int | Opsional |
metadata_channel | Metadata atau informasi tambahan tentang channel poin kontak ini | string | Opsional |
Metrik performa
Ukur performa kampanye yang dikelompokkan menurut demografi, minat, atau segmen pengguna pihak pertama.
Nama kolom | Deskripsi | Jenis | Wajib/opsional |
---|---|---|---|
kunci join | Perubahan berdasarkan kunci join yang Anda gunakan | string | Wajib |
gender | Gender | string | Opsional |
age | Usia | int | Opsional |
kota | Kota | string | Opsional |
country | Negara | string | Opsional |
status_siklus proses | Status funnel pelanggan: tidak diketahui, orientasi, engagement, nonaktif, dll. | string | Opsional |
loyalitas_status | Perak, emas, platina, berlian, dll. | string | Opsional |
tanggal_pembelian_terakhir | Tanggal pembelian terakhir (stempel waktu epoch Unix) | int | Opsional |
produk_pembelian_terakhir | Produk terakhir dibeli / digunakan | string | Opsional |
tanggal_kontak_terakhir | Tanggal kontak / interaksi terakhir (stempel waktu epoch Unix) | int | Opsional |
LTV | LTV Pelanggan | int | Opsional |
subscription_type [jenis_langganan] | Subproduk / jenis langganan yang dimiliki pelanggan - mis. deluxe, paket keluarga | string | Opsional |
Jalur menuju atribusi konversi
Analisis performa jalur konversi dengan poin kontak kustom, termasuk poin kontak pihak pertama Anda.
Nama kolom | Deskripsi | Jenis | Wajib/opsional |
---|---|---|---|
kunci join | Perubahan berdasarkan kunci join yang Anda gunakan | string | Wajib |
jenis_peristiwa | Misalnya tayangan iklan TV, email pemasaran, kunjungan situs, kunjungan di toko, dll. | string | Wajib |
id_peristiwa | ID unik acara di atas | string | Wajib |
event_timestamp | Tanggal peristiwa (stempel waktu epoch Unix) | int | Wajib |
kredit | Nilai kredit (digunakan untuk atribusi) - mis. # konversi | int | Opsional |
metadata_channel | Metadata atau informasi tambahan tentang channel poin kontak ini | string | Opsional |
Tumpang-tindih lintas penayang
Analisis jangkauan dan frekuensi kampanye di seluruh penayang, yang dikelompokkan berdasarkan segmen pengguna pihak pertama Anda.
Nama kolom | Deskripsi | Jenis | Wajib/opsional |
---|---|---|---|
kunci join | Perubahan berdasarkan kunci join yang Anda gunakan | string | Wajib |
gender | Gender | string | Opsional |
age | Usia | int | Opsional |
kota | Kota | string | Opsional |
country | Negara | string | Opsional |
status_siklus proses | Status funnel pelanggan: tidak diketahui, orientasi, engagement, nonaktif, dll. | string | Opsional |
loyalitas_status | Perak, emas, platina, berlian, dll. | string | Opsional |
tanggal_pembelian_terakhir | Tanggal pembelian terakhir (stempel waktu epoch Unix) | int | Opsional |
produk_pembelian_terakhir | Produk terakhir dibeli / digunakan | string | Opsional |
tanggal_kontak_terakhir | Tanggal kontak / interaksi terakhir (stempel waktu epoch Unix) | int | Opsional |
LTV | LTV Pelanggan | int | Opsional |
subscription_type [jenis_langganan] | Subproduk / jenis langganan yang dimiliki pelanggan - mis. deluxe, paket keluarga | string | Opsional |
Performa kampanye simultan
Ukur dampak performa dari eksposur terhadap kampanye paralel, yang dikelompokkan menurut segmen pengguna pihak pertama Anda.
Nama kolom | Deskripsi | Jenis | Wajib/opsional |
---|---|---|---|
kunci join | Perubahan berdasarkan kunci join yang Anda gunakan | string | Wajib |
gender | Gender | string | Opsional |
age | Usia | int | Opsional |
kota | Kota | string | Opsional |
country | Negara | string | Opsional |
status_siklus proses | Status funnel pelanggan: tidak diketahui, orientasi, engagement, nonaktif, dll. | string | Opsional |
loyalitas_status | Perak, emas, platina, berlian, dll. | string | Opsional |
tanggal_pembelian_terakhir | Tanggal pembelian terakhir (stempel waktu epoch Unix) | int | Opsional |
produk_pembelian_terakhir | Produk terakhir dibeli / digunakan | string | Opsional |
tanggal_kontak_terakhir | Tanggal kontak / interaksi terakhir (stempel waktu epoch Unix) | int | Opsional |
LTV | LTV Pelanggan | int | Opsional |
subscription_type [jenis_langganan] | Subproduk / jenis langganan yang dimiliki pelanggan - mis. deluxe, paket keluarga | string | Opsional |
transaction_id | ID unik untuk transaksi ini | string | Opsional |
transaction_date [tanggal_transaksi] | Tanggal transaksi (stempel waktu epoch Unix) | int | Opsional |
transaction_pendapatan | Pendapatan dari transaksi | int | Opsional |
currency | Jenis mata uang transaksi | string | Opsional |
quantity | Jumlah item dalam transaksi | string | Opsional |
price | Harga per item dalam transaksi | int | Opsional |
transaction_cost [biaya_transaksi] | Biaya barang / layanan dari transaksi | int | Opsional |
transaction_profit | Laba kotor dari transaksi | int | Opsional |
product_id | SKU / ID produk dalam transaksi | string | Opsional |
transaction_description | Deskripsi / metadata / parameter lain tentang transaksi | string | Opsional |
jenis_peristiwa | Misalnya tayangan iklan TV, email pemasaran, kunjungan situs, kunjungan di toko, dll. | string | Opsional |
id_peristiwa | ID unik acara di atas | string | Opsional |
event_timestamp | Tanggal peristiwa (stempel waktu epoch Unix) | int | Opsional |
metadata_channel | Metadata atau informasi tambahan tentang channel poin kontak ini | string | Opsional |
Perbandingan kampanye
Bandingkan performa di seluruh kampanye Google dan kampanye penayang lainnya.
Nama kolom | Deskripsi | Jenis | Wajib/opsional |
---|---|---|---|
kunci join | Perubahan berdasarkan kunci join yang Anda gunakan | string | Wajib |
langganan | Channel tempat kampanye ini berjalan (misalnya Facebook, TV, dll.) | string | Wajib |
mitra | Nama partner jika terlibat | string | Opsional |
taktik | Nama taktik tertentu | string | Opsional |
campaign_metadata | Metadata atau informasi tambahan tentang kampanye ini | string | Opsional |
date | Tanggal aktivitas kampanye (stempel waktu epoch Unix) | int | Wajib |
impressions | Jumlah tayangan dari kampanye ini pada tanggal ini | int | Wajib |
clicks | Jumlah klik dari kampanye ini pada tanggal ini | int | Wajib |
konversi | Jumlah konversi dari kampanye ini pada tanggal ini | int | Wajib |
biaya | Total biaya dari kampanye ini pada tanggal ini | int | Wajib |
Perbandingan minat dan label
Temukan tumpang-tindih antara segmen pengguna pihak pertama dan segmen audiens minat dan audiens dalam pasar Google.
Nama kolom | Deskripsi | Jenis | Wajib/opsional |
---|---|---|---|
kunci join | Perubahan berdasarkan kunci join yang Anda gunakan | string | Wajib |
gender | Gender | string | Opsional |
age | Usia | int | Opsional |
kota | Kota | string | Opsional |
country | Negara | string | Opsional |
status_siklus proses | Status funnel pelanggan: tidak diketahui, orientasi, engagement, nonaktif, dll. | string | Opsional |
loyalitas_status | Perak, emas, platina, berlian, dll. | string | Opsional |
tanggal_pembelian_terakhir | Tanggal pembelian terakhir (stempel waktu epoch Unix) | int | Opsional |
produk_pembelian_terakhir | Produk terakhir dibeli / digunakan | string | Opsional |
tanggal_kontak_terakhir | Tanggal kontak / interaksi terakhir (stempel waktu epoch Unix) | int | Opsional |
LTV | LTV Pelanggan | int | Opsional |
subscription_type [jenis_langganan] | Subproduk / jenis langganan yang dimiliki pelanggan - mis. deluxe, paket keluarga | string | Opsional |
Analisis konversi aplikasi
Mengukur dampak kampanye terhadap perilaku dalam aplikasi.
Nama kolom | Deskripsi | Jenis | Wajib/opsional |
---|---|---|---|
kunci join | Perubahan berdasarkan kunci join yang Anda gunakan | string | Wajib |
date | Tanggal aktivitas aplikasi seluler (stempel waktu epoch Unix) | int | Wajib |
instal | Boolean yang mewakili apakah peristiwa penginstalan dicatat pada hari ini | boolean | Wajib |
pendaftaran | Boolean yang menunjukkan apakah peristiwa pendaftaran dicatat pada hari ini | boolean | Wajib |
login | Boolean yang menunjukkan apakah peristiwa login dicatat pada hari ini atau tidak | boolean | Wajib |
in_app_purchases | Jumlah total pembelian dalam aplikasi pada hari ini | int | Wajib |
Penghitungan ROI
Mengukur pengembalian inkremental berdasarkan data konversi pihak pertama.
Nama kolom | Deskripsi | Jenis | Wajib/opsional |
---|---|---|---|
kunci join | Perubahan berdasarkan kunci join yang Anda gunakan | string | Wajib |
transaction_id | ID unik untuk transaksi ini | string | Wajib |
transaction_date [tanggal_transaksi] | Tanggal transaksi (stempel waktu epoch Unix) | int | Wajib |
transaction_pendapatan | Pendapatan dari transaksi | int | Wajib |
currency | Jenis mata uang transaksi | string | Opsional |
quantity | Jumlah item dalam transaksi | string | Opsional |
price | Harga per item dalam transaksi | int | Opsional |
transaction_cost [biaya_transaksi] | Biaya barang / layanan dari transaksi | int | Opsional |
transaction_profit | Laba kotor dari transaksi | int | Opsional |
product_id | SKU / ID produk dalam transaksi | string | Opsional |
transaction_description | Deskripsi / metadata / parameter lain tentang transaksi | string | Opsional |
Aktivasi audiens kustom
Membuat dan mengaktifkan segmen pengguna kustom berdasarkan data pihak pertama dan data Google Anda
Nama kolom | Deskripsi | Jenis | Wajib/opsional |
---|---|---|---|
kunci join | Perubahan berdasarkan kunci join yang Anda gunakan | string | Wajib |
gender | Gender | string | Opsional |
age | Usia | int | Opsional |
kota | Kota | string | Opsional |
country | Negara | string | Opsional |
status_siklus proses | Status funnel pelanggan: tidak diketahui, orientasi, engagement, nonaktif, dll. | string | Opsional |
loyalitas_status | Perak, emas, platina, berlian, dll. | string | Opsional |
tanggal_pembelian_terakhir | Tanggal pembelian terakhir (stempel waktu epoch Unix) | int | Opsional |
produk_pembelian_terakhir | Produk terakhir dibeli / digunakan | string | Opsional |
tanggal_kontak_terakhir | Tanggal kontak / interaksi terakhir (stempel waktu epoch Unix) | int | Opsional |
LTV | LTV Pelanggan | int | Opsional |
subscription_type [jenis_langganan] | Subproduk / jenis langganan yang dimiliki pelanggan - mis. deluxe, paket keluarga | string | Opsional |
Bidding kustom
Mengoptimalkan strategi bidding Display & 360 berdasarkan data pihak pertama dan data Google Anda
Nama kolom | Deskripsi | Jenis | Wajib/opsional |
---|---|---|---|
kunci join | Perubahan berdasarkan kunci join yang Anda gunakan | string | Wajib |
gender | Gender | string | Opsional |
age | Usia | int | Opsional |
kota | Kota | string | Opsional |
country | Negara | string | Opsional |
status_siklus proses | Status funnel pelanggan: tidak diketahui, orientasi, engagement, nonaktif, dll. | string | Opsional |
loyalitas_status | Perak, emas, platina, berlian, dll. | string | Opsional |
tanggal_pembelian_terakhir | Tanggal pembelian terakhir (stempel waktu epoch Unix) | int | Opsional |
produk_pembelian_terakhir | Produk terakhir dibeli / digunakan | string | Opsional |
tanggal_kontak_terakhir | Tanggal kontak / interaksi terakhir (stempel waktu epoch Unix) | int | Opsional |
LTV | LTV Pelanggan | int | Opsional |
subscription_type [jenis_langganan] | Subproduk / jenis langganan yang dimiliki pelanggan - mis. deluxe, paket keluarga | string | Opsional |
Performa lintas penayang
Mengukur metrik performa yang dikelompokkan menurut penayang, atau dibagi berdasarkan segmen pengguna pihak pertama dan penayang Anda
Nama kolom | Deskripsi | Jenis | Wajib/opsional |
---|---|---|---|
kunci join | Perubahan berdasarkan kunci join yang Anda gunakan | string | Wajib |
gender | Gender | string | Opsional |
age | Usia | int | Opsional |
kota | Kota | string | Opsional |
country | Negara | string | Opsional |
status_siklus proses | Status funnel pelanggan: tidak diketahui, orientasi, engagement, nonaktif, dll. | string | Opsional |
loyalitas_status | Perak, emas, platina, berlian, dll. | string | Opsional |
tanggal_pembelian_terakhir | Tanggal pembelian terakhir (stempel waktu epoch Unix) | int | Opsional |
produk_pembelian_terakhir | Produk terakhir dibeli / digunakan | string | Opsional |
tanggal_kontak_terakhir | Tanggal kontak / interaksi terakhir (stempel waktu epoch Unix) | int | Opsional |
LTV | LTV Pelanggan | int | Opsional |
subscription_type [jenis_langganan] | Subproduk / jenis langganan yang dimiliki pelanggan - mis. deluxe, paket keluarga | string | Opsional |