So khớp dữ liệu do người dùng cung cấp

Tổng quan

UPDM (So khớp dữ liệu do người dùng cung cấp) kết hợp dữ liệu của bên thứ nhất mà bạn đã thu thập về người dùng về việc này (chẳng hạn như thông tin từ các trang web, ứng dụng hoặc cửa hàng thực của bạn) với hoạt động đăng nhập của người dùng đó trong dữ liệu quảng cáo trên Google, ngoại trừ Google Marketing Platform. Để đủ điều kiện sử dụng tính năng so khớp dữ liệu do người dùng cung cấp, bạn phải liên kết sự kiện quảng cáo với một người dùng đã đăng nhập trong dữ liệu quảng cáo của Google.

Tính năng so khớp dữ liệu do người dùng cung cấp có một số ưu điểm độc đáo so với các hình thức so khớp khách hàng khác. So khớp dữ liệu do người dùng cung cấp:

  • Có khả năng thích ứng với các thay đổi trong ngành nhiều hơn so với dữ liệu của bên thứ ba
  • Tính năng cookie cookie của bên thứ ba sắp không bị ảnh hưởng nữa, vì kết quả so khớp dữ liệu do người dùng cung cấp chỉ có trên khoảng không quảng cáo do Google sở hữu và điều hành, dành cho người dùng đã đăng nhập
  • Có thể cung cấp trải nghiệm phù hợp hơn cho khách hàng, giúp tăng mức độ tương tác của khách hàng
  • Cung cấp nhiều thông tin chi tiết hơn về khách hàng

Tóm tắt quy trình

Sau khi bạn bật tính năng so khớp dữ liệu do người dùng cung cấp trên tài khoản, sẽ có hai giai đoạn sử dụng tính năng này:

  1. Nhập dữ liệu của bên thứ nhất vào Trung tâm dữ liệu quảng cáo
    • Bạn định dạng và tải dữ liệu của bên thứ nhất lên tập dữ liệu BigQuery. Bạn có thể sử dụng bất kỳ tập dữ liệu BigQuery nào mà bạn sở hữu, ngoài dự án quản trị của bạn.
    • Bạn bắt đầu một yêu cầu so khớp dữ liệu bằng cách tạo kết nối và lịch biểu nhập.
    • Google kết hợp dữ liệu giữa dự án của bạn và dữ liệu do Google sở hữu chứa mã người dùng của Google và dữ liệu đã băm do người dùng cung cấp để tạo và cập nhật bảng *_match.
  2. Truy vấn đang diễn ra trong Ads Data Hub, dựa trên dữ liệu được so khớp
    • Bạn chạy các truy vấn dựa trên các bảng *_match giống như cách bạn chạy truy vấn thông thường trong Ads Data Hub.

Dự án nguồn dữ liệu và đích

Kết nối yêu cầu bạn phải sử dụng hai dự án Google Cloud khác nhau: dự án Nguồn dữ liệu và dự án Đích đến.

  • Nguồn dữ liệu: Dự án này chứa dữ liệu quảng cáo độc quyền ở định dạng thô.
  • Đích đến: Đây là tập dữ liệu BigQuery mà Ads Data Hub ghi vào. Theo mặc định, đây là dự án quản trị của bạn. Để chuyển sang một dự án Google Cloud khác, hãy xem bài viết Định cấu hình tài khoản dịch vụ.

Quy định hạn chế về quyền riêng tư

Thu thập dữ liệu khách hàng

Khi sử dụng tính năng so khớp dữ liệu do người dùng cung cấp, bạn phải tải dữ liệu của bên thứ nhất lên. Đó có thể là thông tin bạn thu thập được từ các trang web, ứng dụng, cửa hàng thực của bạn hoặc thông tin mà khách hàng chia sẻ trực tiếp với bạn.

Kích cỡ dữ liệu

Để bảo vệ quyền riêng tư của người dùng cuối, tính năng so khớp dữ liệu do người dùng cung cấp sẽ thực thi các yêu cầu sau liên quan đến kích thước dữ liệu của bạn:

  • Bạn phải tải lên ít nhất 1.000 bản ghi trong danh sách người dùng của mình.
  • Mỗi lần cập nhật thành công bảng so khớp của bạn phải bao gồm số lượng người dùng mới phù hợp tối thiểu. Hành vi này tương tự như quy trình kiểm tra sự khác biệt.
  • Danh sách của bạn không được vượt quá số lượng bản ghi tối đa. Để tìm hiểu về giới hạn dữ liệu tối đa, hãy liên hệ với người đại diện của Google.

Bật thẻ Kết nối

Trước khi bắt đầu, hãy định cấu hình tài khoản Ads Data Hub để bật thẻ Kết nối. Đây là nơi bạn sẽ thiết lập quy trình so khớp dữ liệu. Bạn chỉ cần thực hiện các bước này một lần.

  1. Gửi cho người đại diện của Google:
    1. Mã tài khoản Ads Data Hub mà bạn sẽ sử dụng để so khớp dữ liệu do người dùng cung cấp.
    2. Địa chỉ email của người dùng cấp cao có quyền truy cập vào dự án Đích.
    3. Xác nhận với người đại diện của Google rằng tài khoản và siêu người dùng đó có trong danh sách cho phép.
  2. Bật Ads Data Connector API trong dự án Google Cloud đã chỉ định. Theo mặc định, đây là dự án quản trị của bạn. Để sử dụng một dự án khác, hãy làm theo các bước sau với dự án Google Cloud thay thế làm dự án Nguồn dữ liệu. Bạn phải thực hiện các bước này trong khi đăng nhập với tư cách là người dùng cao cấp trong danh sách cho phép.

    1. Truy cập vào Thư viện API Cloud Console.
    2. Chọn dự án Data Source (Nguồn dữ liệu) từ danh sách.
    3. Tìm kiếm "API Trình kết nối dữ liệu quảng cáo" Nếu API Trình kết nối dữ liệu quảng cáo không hiển thị trong kết quả tìm kiếm, có thể Tài khoản Google đã đăng nhập không phải là siêu người dùng được liệt kê trong danh sách cho phép.
    4. Trên trang API, hãy nhấp vào ENABLE (BẬT).
    5. Xác nhận với người đại diện của Google rằng API đã được bật.
  3. Người đại diện của Google sẽ gửi cho bạn 3 địa chỉ email, được chỉ định là tài khoản dịch vụ Datafusion, DataprocUPDM.

    Mục Kết nối mới cũng sẽ xuất hiện trong tài khoản Ads Data Hub, chứa các thẻ có tên là Dữ liệu của bên thứ nhấtSo khớp dữ liệu. Tìm hiểu về các trường hợp sử dụng cho từng thẻ.

  4. Cấp các quyền phù hợp cho tài khoản dịch vụ. Để xem nội dung giải thích về các tài khoản dịch vụ và các quyền cần thiết, hãy chọn nguồn dữ liệu của bạn trong bảng:

    BigQuery

    Tài khoản dịch vụ Datafusion
    Mục đích Tài khoản dịch vụ truyền dữ liệu được dùng để hiển thị danh sách các trường nguồn trong giao diện người dùng Ads Data Hub.
    Định dạng service-some-number@gcp-sa-datafusion.iam.gserviceaccount.com
    Quyền truy cập bắt buộc
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    cho các tập dữ liệu cụ thể trong các dự án Nguồn dữ liệuĐích
    Storage Admin
    roles/storage.admin
    cho dự án Nguồn dữ liệu hoặc bộ chứa lưu trữ chuyên dụng
    Tài khoản dịch vụ Dataproc
    Mục đích Tài khoản dịch vụ dataproc chịu trách nhiệm chạy quy trình dữ liệu ở chế độ nền.
    Định dạng some-number-compute@developer.gserviceaccount.com
    Quyền truy cập bắt buộc
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    cho các tập dữ liệu cụ thể trong các dự án Nguồn dữ liệuĐích
    BigQuery Data Editor
    roles/bigquery.dataEditor
    cho các tập dữ liệu cụ thể trong dự án Destination (Đích đến)
    BigQuery Job User
    roles/bigquery.jobUser
    cho cả dự án Nguồn dữ liệuĐích
    Storage Admin
    roles/storage.admin
    cho cả dự án Nguồn dữ liệuĐích hoặc bộ chứa chuyên dụng
    Tài khoản dịch vụ UPDM
    Mục đích Tài khoản dịch vụ UPDM được dùng để chạy công việc so khớp.
    Định dạng service-some-number@gcp-sa-adsdataconnector.iam.gserviceaccount.com
    Quyền truy cập bắt buộc
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    cho dự án Destination (Đích đến)
    BigQuery Job User
    roles/bigquery.jobUser
    cho dự án Destination (Đích đến)

    Cloud Storage

    Tài khoản dịch vụ Datafusion
    Mục đích Tài khoản dịch vụ truyền dữ liệu được dùng để hiển thị danh sách các trường nguồn trong giao diện người dùng Ads Data Hub.
    Định dạng service-some-number@gcp-sa-datafusion.iam.gserviceaccount.com
    Quyền truy cập bắt buộc
    Storage Object Viewer
    roles/storage.objectViewer
    cho các nhóm bộ nhớ cụ thể trong dự án Nguồn dữ liệu
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    cho dự án Nguồn dữ liệu hoặc bộ chứa lưu trữ chuyên dụng
    Storage Admin
    roles/storage.admin
    cho dự án Nguồn dữ liệu hoặc bộ chứa lưu trữ chuyên dụng
    Tài khoản dịch vụ Dataproc
    Mục đích Tài khoản dịch vụ dataproc chịu trách nhiệm chạy quy trình dữ liệu ở chế độ nền.
    Định dạng some-number-compute@developer.gserviceaccount.com
    Quyền truy cập bắt buộc
    Storage Admin
    roles/storage.admin
    cho cả dự án Nguồn dữ liệuĐích hoặc bộ chứa chuyên dụng
    BigQuery Job User
    roles/bigquery.jobUser
    cho dự án Destination (Đích đến)
    Tài khoản dịch vụ UPDM
    Mục đích Tài khoản dịch vụ UPDM được dùng để chạy công việc so khớp.
    Định dạng service-some-number@gcp-sa-adsdataconnector.iam.gserviceaccount.com
    Quyền truy cập bắt buộc
    BigQuery Data Viewer
    roles/bigquery.dataViewer
    cho dự án Destination (Đích đến)
    BigQuery Job User
    roles/bigquery.jobUser
    cho dự án Destination (Đích đến)

    Salesforce

    Sắp có

Nhập dữ liệu của bên thứ nhất

Định dạng dữ liệu cho đầu vào

Dữ liệu của bạn phải tuân thủ các yêu cầu định dạng này để được so khớp chính xác:

  • Khi được chỉ định, bạn phải tải lên bằng cách sử dụng hàm băm SHA256 được mã hóa dưới dạng chuỗi Base16. Mặc dù UPDM hỗ trợ Base64, nhưng điều này khác với nguyên tắc So khớp khách hàng của Google Ads.
  • Các trường nhập dữ liệu phải có định dạng là các chuỗi. Nếu bạn đang sử dụng hàm băm SHA256 và hàm mã hoá Base16 (TO_HEX), hãy sử dụng phép biến đổi sau: TO_HEX(SHA256(user_data)).

User ID

  • Văn bản thuần túy
  • Băm: Không có

Email

  • Xóa khoảng trắng
  • Chữ thường tất cả ký tự
  • Cung cấp tên miền của tất cả các địa chỉ email (như gmail.com hoặc hotmail.co.jp)
  • Xóa dấu, ví dụ: đổi è, é, ê hoặc ë thành e
  • Băm: SHA156 được mã hóa Base16

Hợp lệ: TO_HEX(SHA256("jeffersonloveshiking@gmail.com"))

Không hợp lệ: TO_HEX(SHA256("JéffersonLôvesHiking@gmail.com"))

Phone

  • Xóa khoảng trắng
  • Định dạng ở định dạng E.164—ví dụ: US +14155552671, Vương quốc Anh +442071838750)
  • Bao gồm cả mã quốc gia (bao gồm cả Hoa Kỳ)
  • Xóa tất cả các ký tự đặc biệt, ngoại trừ "+" trước mã quốc gia
  • Băm: SHA156 được mã hóa Base16

Hợp lệ: TO_HEX(SHA256("+18005550101"))

Không hợp lệ: TO_HEX(SHA256("(800) 555-0101"))

Tên

  • Xóa khoảng trắng
  • Chữ thường tất cả ký tự
  • Xóa tất cả các tiền tố, chẳng hạn như Bà
  • Không xóa dấu, ví dụ như è, é, ê, hoặc ë
  • Băm: SHA156 được mã hóa Base16

Hợp lệ: TO_HEX(SHA256("daní"))

Không hợp lệ: TO_HEX(SHA256("Daní"))

Họ

  • Xóa khoảng trắng
  • Chữ thường tất cả ký tự
  • Xóa tất cả các tiền tố, chẳng hạn như Jr.
  • Không xóa dấu, ví dụ như è, é, ê, hoặc ë
  • Băm: SHA156 được mã hóa Base16

Hợp lệ: TO_HEX(SHA256("delacruz"))

Không hợp lệ: TO_HEX(SHA256("de la Cruz, Jr."))

Quốc gia

  • Bao gồm mã quốc gia ngay cả khi tất cả dữ liệu khách hàng của bạn đến từ cùng một quốc gia
  • Không băm dữ liệu quốc gia
  • Sử dụng mã quốc gia theo ISO 3166-1 alpha-2
  • Băm: Không có

Hợp lệ: US

Không hợp lệ: United States of America hoặc USA

Mã Zip

  • Không băm dữ liệu mã bưu chính
  • Có thể sử dụng cả mã bưu chính của Mỹ và mã bưu chính quốc tế
  • Đối với Hoa Kỳ:
    • Có thể sử dụng mã 5 chữ số, ví dụ: 94043
    • Bạn cũng có thể sử dụng mã bưu chính gồm 5 chữ số kèm theo 4 số mở rộng phía sau – ví dụ: 94043-1351 hoặc 940431351
  • Đối với tất cả các quốc gia khác:
    • Không cần định dạng (Không cần viết thường hoặc xoá khoảng trắng và ký tự đặc biệt)
    • Bỏ phần mở rộng mã bưu chính
  • Băm: Không có

Xác thực hàm băm và mã hóa dữ liệu

Bạn có thể sử dụng các tập lệnh xác thực hàm băm sau đây để đảm bảo dữ liệu của bạn được định dạng chính xác.

JavaScript

Base16

/**
 * @fileoverview Provides the hashing algorithm for User-Provided Data Match, as
 * well as some valid hashes of sample data for testing.
*/

async function hash(token) {
  const formattedToken = token.trim().toLowerCase();
  const hashArrayBuffer = await crypto.subtle.digest(
      'SHA-256', (new TextEncoder()).encode(formattedToken));
  return Array.from(new Uint8Array(hashArrayBuffer))
      .map((b) => b.toString(16).padStart(2, '0'))
      .join('');
}

function main() {
  // Expected hash for test@gmail.com:
  // 87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
  hash('test@gmail.com').then(result => console.log(result));

  // Expected hash for +18005551212:
  // 61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
  hash('+18005551212').then(result => console.log(result));

  // Expected hash for John:
  // 96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a
  hash('John').then(result => console.log(result));

  // Expected hash for Doe:
  // 799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f
  hash('Doe').then(result => console.log(result));
}

main()

Base64

/**
 * @fileoverview Provides the hashing algorithm, as well as some valid hashes of
 * sample data for testing.
*/

async function hash(token) {
  const formattedToken = token.trim().toLowerCase();
  const hashBuffer = await crypto.subtle.digest(
      'SHA-256', (new TextEncoder()).encode(formattedToken));
  const base64Str = btoa(String.fromCharCode(...new Uint8Array(hashBuffer)));
  return base64Str;
}

function main() {
  // Expected hash for test@gmail.com:
  // h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
  hash('test@gmail.com').then(result => console.log(result));

  // Expected hash for +18005551212:
  // YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
  hash('+18005551212').then(result => console.log(result));

  // Expected hash for John: ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
  hash('John').then(result => console.log(result));

  // Expected hash for Doe: eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
  hash('Doe').then(result => console.log(result));
}

main()

Python

Base16

"""Provides the hashing algorithm, as well as some valid hashes of sample data for testing.

Supports: Python 2, Python 3

Sample hashes:

  - Email 'test@gmail.com': 87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
  - Phone '+18005551212':   61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
  - First name 'John':      96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a
  - Last name 'Doe':        799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f
"""

import base64
import hashlib

def updm_hash(token):
  return hashlib.sha256(token.strip().lower().encode('utf-8')).hexdigest()

def print_updm_hash(token):
  print('Hash: "{}"\t(Token: {})'.format(updm_hash(token), token))

def main():
  print_updm_hash('test@gmail.com')
  print_updm_hash('+18005551212')
  print_updm_hash('John')
  print_updm_hash('Doe')

if __name__ == '__main__':
  main()

Base64

"""Provides the hashing algorithm, as well as some valid hashes of sample data for testing.

Supports: Python 2, Python 3

Sample hashes:

  - Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
  - Phone '+18005551212':   YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
  - First name 'John':      ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
  - Last name 'Doe':        eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
"""

import base64
import hashlib

def hash(token):
  return base64.b64encode(
      hashlib.sha256(
          token.strip().lower().encode('utf-8')).digest()).decode('utf-8')

def print_hash(token, expected=None):
  hashed = hash(token)

  if expected is not None and hashed != expected:
    print(
        'ERROR: Incorrect hash for token "{}". Expected "{}", got "{}"'.format(
            token, expected, hashed))
    return

  print('Hash: "{}"\t(Token: {})'.format(hashed, token))

def main():
  print_hash(
      'test@gmail.com', expected='h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=')
  print_hash(
      '+18005551212', expected='YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=')
  print_hash('John', expected='ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=')
  print_hash('Doe', expected='eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=')

if __name__ == '__main__':
  main()

Go

Base16

/*
Provides the hashing algorithm, as well as some valid hashes of sample data for testing.

Sample hashes:

  - Email 'test@gmail.com': 87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
  - Phone '+18005551212':   61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
  - First name 'John':      96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a
  - Last name 'Doe':        799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f
*/
package main

import (
  "crypto/sha256"
  "fmt"
  "strings"
)

// Hash hashes an email, phone, first name, or last name into the correct format.
func Hash(token string) string {
  formatted := strings.TrimSpace(strings.ToLower(token))
  hashed := sha256.Sum256([]byte(formatted))
  encoded := fmt.Sprintf("%x", hashed[:])
  return encoded
}

// PrintHash prints the hash for a token.
func PrintHash(token string) {
  fmt.Printf("Hash: \"%s\"\t(Token: %s)\n", Hash(token), token)

}

func main() {
  PrintHash("test@gmail.com")
  PrintHash("+18005551212")
  PrintHash("John")
  PrintHash("Doe")
}

Base64

/*
Provides the hashing algorithm, as well as some valid hashes of sample data for testing.

Sample hashes:

  - Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
  - Phone '+18005551212':   YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
  - First name 'John':      ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
  - Last name 'Doe':        eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
*/
package main

import (
  "crypto/sha256"
  "encoding/base64"
  "fmt"
  "strings"
)

// Hash hashes an email, phone, first name, or last name into the correct format.
func Hash(token string) string {
  formatted := strings.TrimSpace(strings.ToLower(token))
  hashed := sha256.Sum256([]byte(formatted))
  encoded := base64.StdEncoding.EncodeToString(hashed[:])
  return encoded
}

// PrintHash prints the hash for a token.
func PrintHash(token string) {
  fmt.Printf("Hash: \"%s\"\t(Token: %s)\n", Hash(token), token)

}

func main() {
  PrintHash("test@gmail.com")
  PrintHash("+18005551212")
  PrintHash("John")
  PrintHash("Doe")
}

Java

Base16

package updm.hashing;

import static java.nio.charset.StandardCharsets.UTF_8;

import com.google.common.base.Ascii;
import com.google.common.hash.Hashing;

/**
 * Example of the UPDM hashing algorithm using hex-encoded SHA-256.
*
* <p>This uses the Guava Hashing to generate the hash: https://github.com/google/guava
*
* <p>Sample valid hashes:
*
* <ul>
*   <li>Email "test@gmail.com": "87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674"
*   <li>Phone "+18005551212": "61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44"
*   <li>First name "John": "96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a"
*   <li>Last name "Doe": "799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f"
* </ul>
*/
public final class HashExample {

  private HashExample() {}

  public static String hash(String token) {
    String formattedToken = Ascii.toLowerCase(token).strip();
    return Hashing.sha256().hashString(formattedToken, UTF_8).toString();
  }

  public static void printHash(String token) {
    System.out.printf("Hash: \"%s\"\t(Token: %s)\n", hash(token), token);
  }

  public static void main(String[] args) {
    printHash("test@gmail.com");
    printHash("+18005551212");
    printHash("John");
    printHash("Doe");
  }
}

Base64

package updm.hashing;

import static java.nio.charset.StandardCharsets.UTF_8;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;

/**
* Example of the hashing algorithm.
*
* <p>Sample hashes:
*
* <ul>
*   <li>Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
*   <li>Phone '+18005551212': YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
*   <li>First name 'John': ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
*   <li>Last name 'Doe': eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=
* </ul>
*/
public final class HashExample {

private HashExample() {}

public static String hash(String token) {
  String formattedToken = token.toLowerCase().strip();

  byte[] hash;
  try {
    hash = MessageDigest.getInstance("SHA-256").digest(formattedToken.getBytes(UTF_8));
  } catch (NoSuchAlgorithmException e) {
    throw new IllegalStateException("SHA-256 not supported", e);
  }

  return Base64.getEncoder().encodeToString(hash);
}

public static void printHash(String token) {
  System.out.printf("Hash: \"%s\"\t(Token: %s)\n", hash(token), token);
}

public static void main(String[] args) {
  printHash("test@gmail.com");
  printHash("+18005551212");
  printHash("John");
  printHash("Doe");
}
}

SQL

Base16

/*
Provides the hashing algorithm, as well as some valid hashes of sample data for testing.

The following code uses Google Standard SQL and can be run on BigQuery to generate match tables from unhashed data.

Sample hashes:

  - Email 'test@gmail.com': 87924606b4131a8aceeeae8868531fbb9712aaa07a5d3a756b26ce0f5d6ca674
  - Phone '+18005551212':   61d9111bed3e6d9cfc1bc3b5cb35a402687c4f1546bee061a2bd444fbdd64c44
  - First name 'John':      96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a
  - Last name 'Doe':        799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f

The unhashed input table schema is assumed to be:

- Column name: UserID, Type: String
- Column name: Email, Type: String
- Column name: Phone, Type: String
- Column name: FirstName, Type: String
- Column name: LastName, Type: String
- Column name: PostalCode, Type: String
- Column name: CountryCode, Type: String
*/

CREATE TABLE `your_project_name.your_dataset_name.output_hashed_table_name`
AS
SELECT
  UserID,
  TO_HEX(SHA256(LOWER(Email))) AS Email,
  TO_HEX(SHA256(Phone)) AS Phone,
  TO_HEX(SHA256(LOWER(FirstName))) AS FirstName,
  TO_HEX(SHA256(LOWER(LastName))) AS LastName,
  PostalCode,
  CountryCode,
FROM
  `your_project_name.your_dataset_name.input_unhashed_table_name`;

Base64

/*
Provides the hashing algorithm, as well as some valid hashes of sample data for testing.

The following code uses Google Standard SQL and can be run on BigQuery to generate match tables from unhashed data.

Sample hashes:

  - Email 'test@gmail.com': h5JGBrQTGorO7q6IaFMfu5cSqqB6XTp1aybOD11spnQ=
  - Phone '+18005551212':   YdkRG+0+bZz8G8O1yzWkAmh8TxVGvuBhor1ET73WTEQ=
  - First name 'John':      ltljLzY1ZMwwMlIUCc8iqFLyAy7sCZ7VlnwNAAzsYHo=
  - Last name 'Doe':        eZ75KhGvkY4/t0HfQpNPO1aO0tk6wd908bjUGieTKm8=

The unhashed input table schema is assumed to be:

- Column name: UserID, Type: String
- Column name: Email, Type: String
- Column name: Phone, Type: String
- Column name: FirstName, Type: String
- Column name: LastName, Type: String
- Column name: PostalCode, Type: String
- Column name: CountryCode, Type: String
*/

CREATE TABLE `your_project_name.your_dataset_name.output_hashed_table_name`
AS
SELECT
  UserID,
  TO_BASE64(SHA256(LOWER(Email))) AS Email,
  TO_BASE64(SHA256(Phone)) AS Phone,
  TO_BASE64(SHA256(LOWER(FirstName))) AS FirstName,
  TO_BASE64(SHA256(LOWER(LastName))) AS LastName,
  PostalCode,
  CountryCode,
FROM
  `your_project_name.your_dataset_name.input_unhashed_table_name`;

Khóa kết hợp

Một số kiểu kết hợp dữ liệu do người dùng cung cấp mạnh hơn các kiểu kết hợp khác. Dưới đây là danh sách các cách kết hợp dữ liệu do người dùng cung cấp, được xếp hạng theo độ mạnh tương đối:

  1. Email, số điện thoại, địa chỉ (mạnh nhất)
  2. Điện thoại, Địa chỉ
  3. Email, địa chỉ
  4. Email, số điện thoại
  5. Address (Địa chỉ)
  6. Phone
  7. Email (yếu nhất)

Tạo bảng so khớp

  1. Nhấp vào Kết nối > So khớp dữ liệu > Tạo kết nối.
  2. Chọn một nguồn dữ liệu, sau đó nhấp vào Kết nối. Xác thực (nếu được nhắc) rồi nhấp vào Tiếp theo (Next).
  3. Định cấu hình nguồn dữ liệu của bạn, sau đó nhấp vào Tiếp theo:

    BigQuery

    Chọn bảng BigQuery để nhập.

    Cloud Storage

    Nhập đường dẫn tệp gsutil, chẳng hạn như gs://my-bucket/folder/ và chọn định dạng tệp của bạn.

    Salesforce

    Sắp có

  4. Đặt đích đến, sau đó nhấp vào Tiếp theo:
    1. Chọn một tập dữ liệu BigQuery mới để dùng làm đích trung gian cho dữ liệu. Bước này đảm bảo dữ liệu của bạn được định dạng chính xác.
  5. Không bắt buộc: Sửa đổi định dạng của dữ liệu. Các phép biến đổi bao gồm tính toán băm, định dạng chữ hoa/chữ thường và trường hợp nhất/phân tách.
    1. Nhấp vào Hành động > > Chuyển đổi.
    2. Trong bảng điều khiển bật lên, hãy nhấp vào Thêm phép biến đổi hoặc Thêm phép biến đổi khác
    3. Chọn một loại chuyển đổi từ trình đơn thả xuống và nhập các yêu cầu.
    4. Nhấp vào Lưu.
  6. Chọn ít nhất một khóa tham gia để liên kết các trường mà bạn sẽ sử dụng, sau đó nhấp vào Tiếp theo.
  7. Đặt lịch biểu:
    1. Đặt tên cho kết nối của bạn.
    2. Đặt tần suất, cho biết tần suất nhập dữ liệu vào tập dữ liệu mà bạn đã chọn ở bước trước. Mỗi lần chạy sẽ ghi đè dữ liệu trong bảng đích.
    3. Chỉ định cách bạn muốn xử lý xung đột mã nhận dạng người dùng. Bạn có thể chọn giữ nguyên kết quả phù hợp hiện có hoặc ghi đè bằng dữ liệu mới.
  8. Nhấp vào Finish (Hoàn tất).

Xem thông tin chi tiết về kết nối này

Trang chi tiết kết nối cung cấp cho bạn thông tin về các lần chạy và lỗi gần đây của một kết nối. Để xem thông tin chi tiết về một kết nối cụ thể, hãy làm như sau:

  1. Nhấp vào Kết nối > So khớp dữ liệu.
  2. Nhấp vào tên của kết nối để xem chi tiết.
  3. Giờ đây, bạn có thể xem thông tin chi tiết về kết nối và các lần chạy gần đây. Mỗi lỗi hiển thị hai loại lỗi có thể xảy ra: lỗi cấp kết nối (kết nối không chạy) và lỗi cấp hàng (hàng không được nhập).
    1. Trạng thái Không thành công cho biết rằng toàn bộ quá trình kết nối không chạy được (ví dụ: sự cố về quyền truy cập vào tài khoản dịch vụ). Nhấp vào trạng thái lỗi để xem lỗi nào ảnh hưởng đến kết nối.
    2. Trạng thái Đã hoàn tất cho biết kết nối đã chạy thành công. Tuy nhiên, có thể vẫn còn lỗi ở cấp hàng – được biểu thị bằng một giá trị khác 0 trong cột "Rows with errors". Nhấp vào giá trị để tìm hiểu thêm về những bản ghi nào không thực hiện được.

Chỉnh sửa kết nối

Chưa hỗ trợ chỉnh sửa kết nối. Để thay đổi kết nối, hãy tạo kết nối mới rồi xoá kết nối cũ.

Truy vấn dữ liệu trong Ads Data Hub

Truy vấn bảng so khớp

Khi các bảng so khớp của bạn chứa đủ dữ liệu để đáp ứng các quy trình kiểm tra quyền riêng tư, bạn sẽ sẵn sàng chạy truy vấn dựa trên các bảng đó. Mỗi bảng trong giản đồ Ads Data Hub chứa trường user_id đi kèm với một bảng *_match. Ví dụ: đối với bảng adh.google_ads_impressions, Ads Data Hub cũng tạo một bảng so khớp có tên là adh.google_ads_impressions_match, chỉ chứa mã nhận dạng người dùng. Các bảng này chứa một tập hợp con người dùng có sẵn trong các bảng gốc, nơi có user_id phù hợp. Ví dụ: nếu bảng gốc chứa dữ liệu cho Người dùng A và Người dùng B, nhưng chỉ có Người dùng A khớp, thì Người dùng B sẽ không nằm trong bảng so khớp.

Bảng so khớp chứa một cột bổ sung có tên là external_cookie, cột này sẽ lưu trữ cookie của bạn dưới dạng VAST.

Trường external_cookie chứa ID của bạn là totalvalue. Bạn cần truyền khoá tham gia thành VAST để so khớp thành công.

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

Sử dụng bảng so khớp bằng cách truy vấn *_match lượt xem của bảng sự kiện quảng cáo. Nếu sử dụng tính năng so khớp cookie, bạn có thể lọc theo một kiểu khớp trong cụm từ tìm kiếm của mình. Sử dụng:

  • match_type = 1 để so khớp cookie
  • match_type = 2 để so khớp dữ liệu do người dùng cung cấp

Mặc dù match_type được phép sử dụng trong các truy vấn, nhưng trường này không thể trả về trong kết quả, vì vậy, bạn không nên đưa trường này vào câu lệnh SELECT cuối cùng.

Truy vấn mẫu

Số người dùng đã khớp

Truy vấn này tính số người dùng đã so khớp trong bảng số lượt hiển thị Google Ads của bạn.

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

SELECT COUNT(DISTINCT user_id)
FROM adh.google_ads_impressions_match

Đếm số người dùng đã so khớp dữ liệu do người dùng cung cấp

Truy vấn này tính số người dùng đã so khớp theo loại so khớp. Vì các bảng sự kiện quảng cáo chứa các sự kiện từ cả người dùng đã đăng nhập và đã đăng xuất, nên việc lọc dựa trên dữ liệu so khớp do người dùng cung cấp sẽ chỉ dẫn đến việc người dùng đã đăng nhập được so khớp.

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

Cụm từ tìm kiếm này cho biết cách kết hợp dữ liệu của bên thứ nhất với dữ liệu 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

Truy vấn này tính số người dùng đã so khớp bởi dữ liệu do người dùng cung cấp, ngoại trừ người dùng đã so khớp cookie. Xin lưu ý rằng bảng sự kiện quảng cáo chứa các sự kiện từ cả người dùng đã đăng nhập và đã đăng xuất. Do đó, chỉ bộ lọc khớp với dữ liệu do người dùng cung cấp sẽ chỉ giúp người dùng đã đăng nhập được so khớp.

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

Kết nối

Việc thu thập thông tin chi tiết có giá trị về quảng cáo thường yêu cầu bạn phải kết hợp dữ liệu từ nhiều nguồn. Việc xây dựng giải pháp của riêng bạn cho vấn đề kênh dữ liệu này đòi hỏi đầu tư thời gian và kỹ thuật đáng kể. Kết nối dòng dữ liệu này theo quy trình này bằng cách cung cấp giao diện từng bước, có hướng dẫn để nhập, chuyển đổi và ghi dữ liệu vào BigQuery. Sau khi ghi dữ liệu, bạn có thể sử dụng dữ liệu đó trong các truy vấn trên Ads Data Hub hoặc bất kỳ sản phẩm nào khác sử dụng từ BigQuery. Việc làm phong phú thêm các truy vấn của bạn với dữ liệu của bên thứ nhất có thể mang lại trải nghiệm khách hàng phong phú hơn và có nhiều khả năng chống lại những thay đổi theo dõi quảng cáo trong toàn ngành.

Ngoài ra, Connect được xây dựng bằng các công cụ cho phép bạn mã hoá và chia sẻ thông tin nhận dạng cá nhân (PII) với các đối tác theo cách tập trung vào quyền riêng tư. Sau khi bạn chọn cột có chứa PII, Connect sẽ mã hoá dữ liệu đó, đảm bảo rằng chỉ những người có quyền mới có thể xuất hoặc đọc dữ liệu của bên thứ nhất.

Bạn có thể sử dụng tính năng Kết nối để nhập dữ liệu từ:

Khi biết dữ liệu của bên thứ nhất cần thiết cho trường hợp sử dụng đo lường hoặc kích hoạt, bạn có thể gặp khó khăn khi kết nối. Vì vậy, Connect cung cấp một danh sách đầy đủ các trường hợp sử dụng định sẵn, sau đó hướng dẫn bạn về toàn bộ quá trình trích xuất, chuyển đổi và tải dữ liệu.

Sự khác biệt giữa dữ liệu của bên thứ nhất và việc so khớp dữ liệu

Quy trình định cấu hình bảng so khớp do người dùng cung cấp tương tự như việc tạo kết nối dữ liệu bên thứ nhất thông thường thông qua Kết nối. Tuy nhiên, yêu cầu liên quan đến hai dự án giả định rằng bạn đang thiết lập Kết nối trước khi sử dụng tính năng so khớp dữ liệu do người dùng cung cấp. Nếu chỉ sử dụng Kết nối làm công cụ chuẩn bị dữ liệu, thì bạn có thể sử dụng một dự án Google Cloud duy nhất.

Những yêu cầu khác để so khớp dữ liệu do người dùng cung cấp:

  • Bạn phải sử dụng email, số điện thoại, địa chỉ hoặc bất kỳ kiểu kết hợp nào làm khóa tham gia.
  • Bạn phải chỉ định cách xung đột user_id được giải quyết. Bạn có thể chọn giữ lại kết quả phù hợp hiện có hoặc ghi đè bằng dữ liệu mới.
  • Bạn phải sử dụng tài khoản dịch vụ UPDM ngoài tài khoản datafusion và dataproc.

Quy trình công việc với Dữ liệu của bên thứ nhất

Tạo sự kết nối

  1. Nhấp vào Kết nối > Dữ liệu của bên thứ nhất > Tạo kết nối.
  2. Kết nối với một nguồn dữ liệu. Bạn sẽ được nhắc xác thực.

    BigQuery

    Các quyền này được dựa trên Tài khoản Google của bạn, vì vậy, bạn không cần phải xác thực thêm. Đảm bảo rằng tài khoản dịch vụ Kết nối có quyền đọc bảng.

    Cloud Storage

    Các quyền này được dựa trên Tài khoản Google của bạn, vì vậy, bạn không cần phải xác thực thêm. Đảm bảo rằng tài khoản dịch vụ Kết nối có quyền đọc bộ chứa.

    Salesforce

    (Sắp có)

    Sử dụng thông tin đăng nhập Salesforce của tổ chức bạn để đăng nhập. Google không lưu trữ thông tin xác thực của bạn, vì vậy, mỗi kết nối Salesforce mới sẽ yêu cầu xác thực lại.

  3. Chọn một trường hợp sử dụng và một khoá tham gia, sau đó nhấp vào Chọn trường hợp sử dụng. Nếu bạn không muốn chọn trường hợp sử dụng, hãy nhấp vào Bỏ qua. Bạn sẽ không thể chọn trường hợp sử dụng sau đó.
  4. Định cấu hình nguồn dữ liệu của bạn.

    BigQuery

    Chọn bảng BigQuery để nhập.

    Cloud Storage

    Nhập đường dẫn tệp gsutil, chẳng hạn như gs://my-bucket/folder/ và chọn định dạng tệp của bạn.

    Salesforce

    Sắp có

  5. Định cấu hình các điểm đến và trường bản đồ của bạn.
    • Chọn dự án, tập dữ liệu và bảng Google Cloud mà bạn muốn ghi kết quả. Đảm bảo rằng tài khoản dịch vụ Kết nối có quyền ghi vào tập dữ liệu mà bạn sẽ ghi vào.
    • Mỗi kết nối sẽ tạo một bảng mới để ghi vào. Nếu chọn một bảng đã tồn tại thì bạn sẽ thấy lỗi.
    • Liên kết các trường đích (các trường sẽ xuất hiện trong bảng mà bạn đang tạo) đến các trường nguồn trong dữ liệu nguồn.
  6. Đặt lịch biểu.
    1. Đặt tên cho kết nối của bạn.
    2. Đặt tần suất, cho biết tần suất nhập dữ liệu vào tập dữ liệu mà bạn đã chọn ở bước trước. Mỗi lần chạy sẽ ghi đè dữ liệu trong bảng đích.
  7. Nhấp vào Xong. Các kết nối xử lý một lượng lớn dữ liệu có thể mất vài giờ để chạy.

Xem thông tin chi tiết về kết nối này

Trang chi tiết kết nối cung cấp cho bạn thông tin về các lần chạy và lỗi gần đây của một kết nối. Để xem thông tin chi tiết về một kết nối cụ thể, hãy làm như sau:

  1. Nhấp vào Kết nối > Dữ liệu của bên thứ nhất.
  2. Nhấp vào tên của kết nối để xem chi tiết.
  3. Giờ đây, bạn có thể xem thông tin chi tiết về kết nối và các lần chạy gần đây. Mỗi lỗi hiển thị hai loại lỗi có thể xảy ra: lỗi cấp kết nối (kết nối không chạy) và lỗi cấp hàng (hàng không được nhập).
    1. Trạng thái Không thành công cho biết rằng toàn bộ quá trình kết nối không chạy được (ví dụ: sự cố về quyền truy cập vào tài khoản dịch vụ). Nhấp vào trạng thái lỗi để xem lỗi nào ảnh hưởng đến kết nối.
    2. Trạng thái Đã hoàn tất cho biết kết nối đã chạy thành công. Tuy nhiên, có thể vẫn còn lỗi ở cấp hàng – được biểu thị bằng một giá trị khác 0 trong cột "Rows with errors". Nhấp vào giá trị để tìm hiểu thêm về những bản ghi nào không thực hiện được.

Chỉnh sửa kết nối

Chưa hỗ trợ chỉnh sửa kết nối. Để thay đổi kết nối, hãy tạo kết nối mới và xoá kết nối cũ.

Trường hợp sử dụng

Trường hợp sử dụng mà bạn chọn ảnh hưởng đến giản đồ bảng đích và các trường khoá tham gia đã nhập. Hãy mở rộng các trường hợp sử dụng bên dưới để tìm hiểu cách các trường hợp này tác động đến giản đồ và khoá liên kết:

Phạm vi tiếp cận và tần suất

Đo lường phạm vi tiếp cận và tần suất của chiến dịch trên các kênh và thiết bị, chia thành các phân khúc người dùng bên thứ nhất.

Tên trường Nội dung mô tả Loại Bắt buộc/không bắt buộc
mã tham gia Thay đổi dựa trên khóa tham gia bạn sử dụng chuỗi Bắt buộc
giới tính Giới tính chuỗi Không bắt buộc
tuổi Tuổi int Không bắt buộc
thành phố Thành phố chuỗi Không bắt buộc
quốc gia Quốc gia chuỗi Không bắt buộc
trạng thái_vòng đời Trạng thái kênh của khách hàng: không xác định, giới thiệu, tương tác, mất quyền, v.v. chuỗi Không bắt buộc
trạng thái_trung_ương Bạc, vàng, bạch kim, kim cương, v.v. chuỗi Không bắt buộc
last_purchase_date Ngày mua hàng gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Last_purchase_product Sản phẩm được mua / tiêu thụ lần cuối chuỗi Không bắt buộc
last_contacted_date Ngày liên hệ / lần tương tác gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Giá trị vòng đời Giá trị vòng đời của khách hàng int Không bắt buộc
gói thuê bao Sản phẩm phụ / loại gói thuê bao mà khách hàng có – ví dụ: cao cấp, gói dành cho gia đình chuỗi Không bắt buộc
transaction_id Mã nhận dạng duy nhất cho giao dịch này chuỗi Không bắt buộc
giao_dung_ngày Ngày giao dịch (dấu thời gian Unix epoch) int Không bắt buộc
giao_doanh_phí Doanh thu từ giao dịch int Không bắt buộc
currency Loại tiền tệ của giao dịch chuỗi Không bắt buộc
số lượng Số lượng mặt hàng trong giao dịch chuỗi Không bắt buộc
giá Giá mỗi mặt hàng trong giao dịch int Không bắt buộc
giao_phí Giá vốn hàng bán / dịch vụ của giao dịch int Không bắt buộc
giao dịch_lợi nhuận Lợi nhuận gộp từ giao dịch int Không bắt buộc
product_id SKU / mã nhận dạng của(các) sản phẩm trong giao dịch chuỗi Không bắt buộc
giao_dịch_mô_tả Nội dung mô tả / siêu dữ liệu / thông số khác về giao dịch chuỗi Không bắt buộc
event_type Ví dụ: lượt hiển thị quảng cáo trên truyền hình, email tiếp thị, lượt truy cập vào trang web, lượt ghé thăm cửa hàng thực tế, v.v. chuỗi Không bắt buộc
event_id Mã nhận dạng duy nhất của sự kiện ở trên chuỗi Không bắt buộc
event_timestamp Ngày diễn ra sự kiện (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
channel_metadata Siêu dữ liệu hoặc thông tin bổ sung về kênh điểm tiếp xúc này chuỗi Không bắt buộc

Phân bổ đa điểm

Đo lường mức phân bổ bằng cách kết hợp điểm tiếp xúc của bên thứ nhất với điểm tiếp xúc của dữ liệu trên Google.

Tên trường Nội dung mô tả Loại Bắt buộc/không bắt buộc
mã tham gia Thay đổi dựa trên khóa tham gia bạn sử dụng chuỗi Bắt buộc
event_type Ví dụ: lượt hiển thị quảng cáo trên truyền hình, email tiếp thị, lượt truy cập vào trang web, lượt ghé thăm cửa hàng thực tế, v.v. chuỗi Bắt buộc
event_id Mã nhận dạng duy nhất của sự kiện ở trên chuỗi Bắt buộc
event_timestamp Ngày diễn ra sự kiện (dấu thời gian bắt đầu của hệ thống Unix) int Bắt buộc
tín dụng Giá trị tín dụng (dùng để phân bổ) – ví dụ: Số lượt chuyển đổi int Không bắt buộc
channel_metadata Siêu dữ liệu hoặc thông tin bổ sung về kênh điểm tiếp xúc này chuỗi Không bắt buộc

Các chỉ số về hiệu suất

Đo lường hiệu suất của chiến dịch được phân chia theo nhân khẩu học, đối tượng chung sở thích hoặc phân khúc người dùng bên thứ nhất của bạn.

Tên trường Nội dung mô tả Loại Bắt buộc/không bắt buộc
mã tham gia Thay đổi dựa trên khóa tham gia bạn sử dụng chuỗi Bắt buộc
giới tính Giới tính chuỗi Không bắt buộc
tuổi Tuổi int Không bắt buộc
thành phố Thành phố chuỗi Không bắt buộc
quốc gia Quốc gia chuỗi Không bắt buộc
trạng thái_vòng đời Trạng thái kênh của khách hàng: không xác định, giới thiệu, tương tác, mất quyền, v.v. chuỗi Không bắt buộc
trạng thái_trung_ương Bạc, vàng, bạch kim, kim cương, v.v. chuỗi Không bắt buộc
last_purchase_date Ngày mua hàng gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Last_purchase_product Sản phẩm được mua / tiêu thụ lần cuối chuỗi Không bắt buộc
last_contacted_date Ngày liên hệ / lần tương tác gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Giá trị vòng đời Giá trị vòng đời của khách hàng int Không bắt buộc
gói thuê bao Sản phẩm phụ / loại gói thuê bao mà khách hàng có – ví dụ: cao cấp, gói dành cho gia đình chuỗi Không bắt buộc

Đường dẫn đến phân bổ chuyển đổi

Phân tích hiệu suất của đường dẫn chuyển đổi với các điểm tiếp xúc tùy chỉnh, bao gồm cả các điểm tiếp xúc 1P.

Tên trường Nội dung mô tả Loại Bắt buộc/không bắt buộc
mã tham gia Thay đổi dựa trên khóa tham gia bạn sử dụng chuỗi Bắt buộc
event_type Ví dụ: lượt hiển thị quảng cáo trên truyền hình, email tiếp thị, lượt truy cập vào trang web, lượt ghé thăm cửa hàng thực tế, v.v. chuỗi Bắt buộc
event_id Mã nhận dạng duy nhất của sự kiện ở trên chuỗi Bắt buộc
event_timestamp Ngày diễn ra sự kiện (dấu thời gian bắt đầu của hệ thống Unix) int Bắt buộc
tín dụng Giá trị tín dụng (dùng để phân bổ) – ví dụ: Số lượt chuyển đổi int Không bắt buộc
channel_metadata Siêu dữ liệu hoặc thông tin bổ sung về kênh điểm tiếp xúc này chuỗi Không bắt buộc

Chồng chéo nhà xuất bản

Phân tích phạm vi tiếp cận và tần suất của các chiến dịch trên các nhà xuất bản, chia thành các phân đoạn người dùng bên thứ nhất.

Tên trường Nội dung mô tả Loại Bắt buộc/không bắt buộc
mã tham gia Thay đổi dựa trên khóa tham gia bạn sử dụng chuỗi Bắt buộc
giới tính Giới tính chuỗi Không bắt buộc
tuổi Tuổi int Không bắt buộc
thành phố Thành phố chuỗi Không bắt buộc
quốc gia Quốc gia chuỗi Không bắt buộc
trạng thái_vòng đời Trạng thái kênh của khách hàng: không xác định, giới thiệu, tương tác, mất quyền, v.v. chuỗi Không bắt buộc
trạng thái_trung_ương Bạc, vàng, bạch kim, kim cương, v.v. chuỗi Không bắt buộc
last_purchase_date Ngày mua hàng gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Last_purchase_product Sản phẩm được mua / tiêu thụ lần cuối chuỗi Không bắt buộc
last_contacted_date Ngày liên hệ / lần tương tác gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Giá trị vòng đời Giá trị vòng đời của khách hàng int Không bắt buộc
gói thuê bao Sản phẩm phụ / loại gói thuê bao mà khách hàng có – ví dụ: cao cấp, gói dành cho gia đình chuỗi Không bắt buộc

Hiệu suất chiến dịch đồng thời

Đo lường tác động của hiệu suất tiếp xúc với các chiến dịch song song, được chia nhỏ theo các phân khúc người dùng bên thứ nhất.

Tên trường Nội dung mô tả Loại Bắt buộc/không bắt buộc
mã tham gia Thay đổi dựa trên khóa tham gia bạn sử dụng chuỗi Bắt buộc
giới tính Giới tính chuỗi Không bắt buộc
tuổi Tuổi int Không bắt buộc
thành phố Thành phố chuỗi Không bắt buộc
quốc gia Quốc gia chuỗi Không bắt buộc
trạng thái_vòng đời Trạng thái kênh của khách hàng: không xác định, giới thiệu, tương tác, mất quyền, v.v. chuỗi Không bắt buộc
trạng thái_trung_ương Bạc, vàng, bạch kim, kim cương, v.v. chuỗi Không bắt buộc
last_purchase_date Ngày mua hàng gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Last_purchase_product Sản phẩm được mua / tiêu thụ lần cuối chuỗi Không bắt buộc
last_contacted_date Ngày liên hệ / lần tương tác gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Giá trị vòng đời Giá trị vòng đời của khách hàng int Không bắt buộc
gói thuê bao Sản phẩm phụ / loại gói thuê bao mà khách hàng có – ví dụ: cao cấp, gói dành cho gia đình chuỗi Không bắt buộc
transaction_id Mã nhận dạng duy nhất cho giao dịch này chuỗi Không bắt buộc
giao_dung_ngày Ngày giao dịch (dấu thời gian Unix epoch) int Không bắt buộc
giao_doanh_phí Doanh thu từ giao dịch int Không bắt buộc
currency Loại tiền tệ của giao dịch chuỗi Không bắt buộc
số lượng Số lượng mặt hàng trong giao dịch chuỗi Không bắt buộc
giá Giá mỗi mặt hàng trong giao dịch int Không bắt buộc
giao_phí Giá vốn hàng bán / dịch vụ của giao dịch int Không bắt buộc
giao dịch_lợi nhuận Lợi nhuận gộp từ giao dịch int Không bắt buộc
product_id SKU / mã nhận dạng của(các) sản phẩm trong giao dịch chuỗi Không bắt buộc
giao_dịch_mô_tả Nội dung mô tả / siêu dữ liệu / thông số khác về giao dịch chuỗi Không bắt buộc
event_type Ví dụ: lượt hiển thị quảng cáo trên truyền hình, email tiếp thị, lượt truy cập vào trang web, lượt ghé thăm cửa hàng thực tế, v.v. chuỗi Không bắt buộc
event_id Mã nhận dạng duy nhất của sự kiện ở trên chuỗi Không bắt buộc
event_timestamp Ngày diễn ra sự kiện (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
channel_metadata Siêu dữ liệu hoặc thông tin bổ sung về kênh điểm tiếp xúc này chuỗi Không bắt buộc

So sánh chiến dịch

So sánh hiệu suất của các chiến dịch trên Google và các nhà xuất bản khác.

Tên trường Nội dung mô tả Loại Bắt buộc/không bắt buộc
mã tham gia Thay đổi dựa trên khóa tham gia bạn sử dụng chuỗi Bắt buộc
Hội viên Kênh mà chiến dịch này đã chạy (ví dụ: Facebook, TV, v.v.) chuỗi Bắt buộc
đối tác Tên của đối tác nếu có liên quan chuỗi Không bắt buộc
chiến thuật Tên của chiến thuật cụ thể chuỗi Không bắt buộc
siêu dữ liệu của chiến dịch Siêu dữ liệu hoặc thông tin bổ sung về chiến dịch này chuỗi Không bắt buộc
ngày Ngày hoạt động của chiến dịch (dấu thời gian bắt đầu của hệ thống Unix) int Bắt buộc
số lượt hiển thị Số lần hiển thị từ chiến dịch này vào ngày này int Bắt buộc
lượt nhấp Số lượt nhấp từ chiến dịch này vào ngày này int Bắt buộc
lượt chuyển đổi Số lượt chuyển đổi của chiến dịch này vào ngày này int Bắt buộc
chi phí Tổng chi phí từ chiến dịch này vào ngày này int Bắt buộc

So sánh đối tượng chung sở thích và nhãn

Tìm sự chồng chéo giữa phân khúc người dùng bên thứ nhất của bạn, cũng như phân khúc đối tượng chung sở thích và phân khúc đối tượng đang cân nhắc mua hàng trên Google.

Tên trường Nội dung mô tả Loại Bắt buộc/không bắt buộc
mã tham gia Thay đổi dựa trên khóa tham gia bạn sử dụng chuỗi Bắt buộc
giới tính Giới tính chuỗi Không bắt buộc
tuổi Tuổi int Không bắt buộc
thành phố Thành phố chuỗi Không bắt buộc
quốc gia Quốc gia chuỗi Không bắt buộc
trạng thái_vòng đời Trạng thái kênh của khách hàng: không xác định, giới thiệu, tương tác, mất quyền, v.v. chuỗi Không bắt buộc
trạng thái_trung_ương Bạc, vàng, bạch kim, kim cương, v.v. chuỗi Không bắt buộc
last_purchase_date Ngày mua hàng gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Last_purchase_product Sản phẩm được mua / tiêu thụ lần cuối chuỗi Không bắt buộc
last_contacted_date Ngày liên hệ / lần tương tác gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Giá trị vòng đời Giá trị vòng đời của khách hàng int Không bắt buộc
gói thuê bao Sản phẩm phụ / loại gói thuê bao mà khách hàng có – ví dụ: cao cấp, gói dành cho gia đình chuỗi Không bắt buộc

Phân tích lượt chuyển đổi trong ứng dụng

Đo lường tác động của chiến dịch lên hành vi trong ứng dụng.

Tên trường Nội dung mô tả Loại Bắt buộc/không bắt buộc
mã tham gia Thay đổi dựa trên khóa tham gia bạn sử dụng chuỗi Bắt buộc
ngày Ngày hoạt động của ứng dụng dành cho thiết bị di động (dấu thời gian bắt đầu của hệ thống Unix) int Bắt buộc
cài đặt Boolean biểu thị sự kiện cài đặt có được ghi lại vào ngày này hay không boolean Bắt buộc
đăng ký Boolean biểu thị sự kiện đăng ký có được ghi lại vào ngày này hay không boolean Bắt buộc
login Boolean biểu thị sự kiện đăng nhập có được ghi lại vào ngày này hay không boolean Bắt buộc
in_app_purchases Tổng số giao dịch mua hàng trong ứng dụng vào ngày này int Bắt buộc

Cách tính ROI

Đo lường lợi tức gia tăng dựa trên dữ liệu chuyển đổi của bên thứ nhất của bạn.

Tên trường Nội dung mô tả Loại Bắt buộc/không bắt buộc
mã tham gia Thay đổi dựa trên khóa tham gia bạn sử dụng chuỗi Bắt buộc
transaction_id Mã nhận dạng duy nhất cho giao dịch này chuỗi Bắt buộc
giao_dung_ngày Ngày giao dịch (dấu thời gian Unix epoch) int Bắt buộc
giao_doanh_phí Doanh thu từ giao dịch int Bắt buộc
currency Loại tiền tệ của giao dịch chuỗi Không bắt buộc
số lượng Số lượng mặt hàng trong giao dịch chuỗi Không bắt buộc
giá Giá mỗi mặt hàng trong giao dịch int Không bắt buộc
giao_phí Giá vốn hàng bán / dịch vụ của giao dịch int Không bắt buộc
giao dịch_lợi nhuận Lợi nhuận gộp từ giao dịch int Không bắt buộc
product_id SKU / mã nhận dạng của(các) sản phẩm trong giao dịch chuỗi Không bắt buộc
giao_dịch_mô_tả Nội dung mô tả / siêu dữ liệu / thông số khác về giao dịch chuỗi Không bắt buộc

Kích hoạt đối tượng tuỳ chỉnh

Tạo và kích hoạt phân khúc người dùng tùy chỉnh dựa trên dữ liệu của bên thứ nhất và dữ liệu của Google

Tên trường Nội dung mô tả Loại Bắt buộc/không bắt buộc
mã tham gia Thay đổi dựa trên khóa tham gia bạn sử dụng chuỗi Bắt buộc
giới tính Giới tính chuỗi Không bắt buộc
tuổi Tuổi int Không bắt buộc
thành phố Thành phố chuỗi Không bắt buộc
quốc gia Quốc gia chuỗi Không bắt buộc
trạng thái_vòng đời Trạng thái kênh của khách hàng: không xác định, giới thiệu, tương tác, mất quyền, v.v. chuỗi Không bắt buộc
trạng thái_trung_ương Bạc, vàng, bạch kim, kim cương, v.v. chuỗi Không bắt buộc
last_purchase_date Ngày mua hàng gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Last_purchase_product Sản phẩm được mua / tiêu thụ lần cuối chuỗi Không bắt buộc
last_contacted_date Ngày liên hệ / lần tương tác gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Giá trị vòng đời Giá trị vòng đời của khách hàng int Không bắt buộc
gói thuê bao Sản phẩm phụ / loại gói thuê bao mà khách hàng có – ví dụ: cao cấp, gói dành cho gia đình chuỗi Không bắt buộc

Đặt giá thầu tùy chỉnh

Tối ưu hóa Display & Chiến lược đặt giá thầu cho video 360 dựa trên dữ liệu của bên thứ nhất và dữ liệu của Google

Tên trường Nội dung mô tả Loại Bắt buộc/không bắt buộc
mã tham gia Thay đổi dựa trên khóa tham gia bạn sử dụng chuỗi Bắt buộc
giới tính Giới tính chuỗi Không bắt buộc
tuổi Tuổi int Không bắt buộc
thành phố Thành phố chuỗi Không bắt buộc
quốc gia Quốc gia chuỗi Không bắt buộc
trạng thái_vòng đời Trạng thái kênh của khách hàng: không xác định, giới thiệu, tương tác, mất quyền, v.v. chuỗi Không bắt buộc
trạng thái_trung_ương Bạc, vàng, bạch kim, kim cương, v.v. chuỗi Không bắt buộc
last_purchase_date Ngày mua hàng gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Last_purchase_product Sản phẩm được mua / tiêu thụ lần cuối chuỗi Không bắt buộc
last_contacted_date Ngày liên hệ / lần tương tác gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Giá trị vòng đời Giá trị vòng đời của khách hàng int Không bắt buộc
gói thuê bao Sản phẩm phụ / loại gói thuê bao mà khách hàng có – ví dụ: cao cấp, gói dành cho gia đình chuỗi Không bắt buộc

Hiệu suất trên nhiều nhà xuất bản

Đo lường các chỉ số hiệu suất do nhà xuất bản phân chia hoặc được chia nhỏ theo nhà xuất bản và phân khúc người dùng bên thứ nhất của bạn

Tên trường Nội dung mô tả Loại Bắt buộc/không bắt buộc
mã tham gia Thay đổi dựa trên khóa tham gia bạn sử dụng chuỗi Bắt buộc
giới tính Giới tính chuỗi Không bắt buộc
tuổi Tuổi int Không bắt buộc
thành phố Thành phố chuỗi Không bắt buộc
quốc gia Quốc gia chuỗi Không bắt buộc
trạng thái_vòng đời Trạng thái kênh của khách hàng: không xác định, giới thiệu, tương tác, mất quyền, v.v. chuỗi Không bắt buộc
trạng thái_trung_ương Bạc, vàng, bạch kim, kim cương, v.v. chuỗi Không bắt buộc
last_purchase_date Ngày mua hàng gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Last_purchase_product Sản phẩm được mua / tiêu thụ lần cuối chuỗi Không bắt buộc
last_contacted_date Ngày liên hệ / lần tương tác gần đây nhất (dấu thời gian bắt đầu của hệ thống Unix) int Không bắt buộc
Giá trị vòng đời Giá trị vòng đời của khách hàng int Không bắt buộc
gói thuê bao Sản phẩm phụ / loại gói thuê bao mà khách hàng có – ví dụ: cao cấp, gói dành cho gia đình chuỗi Không bắt buộc