Pencocokan data yang disediakan pengguna

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:

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

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.

  1. Kirim perwakilan Google Anda:
    1. ID akun Ads Data Hub yang akan Anda gunakan untuk pencocokan data yang disediakan pengguna.
    2. Alamat email superuser yang memiliki akses ke project Destination.
    3. Konfirmasikan dengan perwakilan Google Anda bahwa akun dan pengguna super diizinkan.
  2. 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.

    1. Buka Library Cloud Console API.
    2. Pilih project Sumber Data Anda dari daftar.
    3. 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.
    4. Di halaman API, klik AKTIFKAN.
    5. Konfirmasikan dengan perwakilan Google Anda bahwa API telah diaktifkan.
  3. 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.

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

Email

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

  1. Email, Telepon, Alamat (yang paling kuat)
  2. Telepon, Alamat
  3. Email, Alamat
  4. Email, Telepon
  5. Alamat
  6. Phone
  7. Email (terlemah)

Membuat tabel pencocokan

  1. Klik Koneksi > Pencocokan data > Buat koneksi.
  2. Pilih sumber data, lalu klik Hubungkan. Autentikasi jika diminta, lalu klik Next.
  3. 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

  4. Tetapkan destination, lalu klik Next:
    1. Pilih set data BigQuery baru untuk digunakan sebagai tujuan perantara data. Langkah ini memastikan data Anda diformat dengan benar.
  5. Opsional: Ubah format data Anda. Transformasi meliputi hash komputasi, pemformatan huruf kecil/kecil, dan kolom penggabungan/pemisahan.
    1. Klik Tindakan > > Transform.
    2. Di panel yang muncul, klik Tambahkan transformasi atau Tambahkan transformasi lain
    3. Pilih jenis transformasi dari menu dropdown dan masukkan persyaratannya.
    4. Klik Simpan.
  6. Pilih setidaknya satu kunci gabung untuk memetakan kolom yang akan Anda gunakan, lalu klik Berikutnya.
  7. Tetapkan jadwal:
    1. Beri nama koneksi Anda.
    2. 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.
    3. Tentukan cara menangani konflik ID pengguna. Anda dapat memilih antara menyimpan kecocokan yang ada atau menimpa dengan data baru.
  8. Klik Finish.

Lihat detail koneksi

Halaman detail koneksi menyediakan informasi tentang operasi dan error terbaru koneksi tertentu. Untuk melihat detail koneksi tertentu:

  1. Klik Koneksi > Pencocokan data.
  2. Klik nama koneksi untuk melihat detailnya.
  3. 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).
    1. Status Failed menunjukkan bahwa seluruh koneksi gagal dijalankan (misalnya, masalah izin akun layanan). Klik status error untuk melihat error mana yang memengaruhi koneksi.
    2. 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 cookie
  • match_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:

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

  1. Klik Koneksi > Data Pihak Pertama Anda > Buat koneksi.
  2. 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.

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

  5. 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.
  6. Setel jadwal.
    1. Beri nama koneksi Anda.
    2. 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.
  7. 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:

  1. Klik Koneksi > Data Pihak Pertama Anda.
  2. Klik nama koneksi untuk melihat detailnya.
  3. 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).
    1. Status Failed menunjukkan bahwa seluruh koneksi gagal dijalankan (misalnya, masalah izin akun layanan). Klik status error untuk melihat error mana yang memengaruhi koneksi.
    2. 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 &amp 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