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:
- 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
.
- 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.
- Bạn chạy các truy vấn dựa trên các bảng
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.
- Gửi cho người đại diện của Google:
- 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.
- Địa chỉ email của người dùng cấp cao có quyền truy cập vào dự án Đích.
- 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.
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.
- Truy cập vào Thư viện API Cloud Console.
- Chọn dự án Data Source (Nguồn dữ liệu) từ danh sách.
- 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.
- Trên trang API, hãy nhấp vào ENABLE (BẬT).
- Xác nhận với người đại diện của Google rằng API đã được bật.
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, Dataproc và UPDM.
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ất và So khớp dữ liệu. Tìm hiểu về các trường hợp sử dụng cho từng thẻ.
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 và Đí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 và Đí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 và Đích Storage Admin
roles/storage.admin
cho cả dự án Nguồn dữ liệu và Đí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 và Đí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ó
- 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:
- Email, số điện thoại, địa chỉ (mạnh nhất)
- Điện thoại, Địa chỉ
- Email, địa chỉ
- Email, số điện thoại
- Address (Địa chỉ)
- Phone
- Email (yếu nhất)
Tạo bảng so khớp
- Nhấp vào Kết nối > So khớp dữ liệu > Tạo kết nối.
- 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).
- Đị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ó
- Đặt đích đến, sau đó nhấp vào Tiếp theo:
- 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.
- 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.
- Nhấp vào Hành động > > Chuyển đổi.
- 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
- 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.
- Nhấp vào Lưu.
- 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.
- Đặt lịch biểu:
- Đặt tên cho kết nối của bạn.
- Đặ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.
- 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.
- 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:
- Nhấp vào Kết nối > So khớp dữ liệu.
- Nhấp vào tên của kết nối để xem chi tiết.
- 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).
- 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.
- 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 cookiematch_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ừ:
- BigQuery
- Bộ nhớ trên đám mây
- Salesforce (sắp ra mắ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
- Nhấp vào Kết nối > Dữ liệu của bên thứ nhất > Tạo kết nối.
- 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.
- 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 đó.
- Đị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ó
- Đị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.
- Đặt lịch biểu.
- Đặt tên cho kết nối của bạn.
- Đặ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.
- 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:
- Nhấp vào Kết nối > Dữ liệu của bên thứ nhất.
- Nhấp vào tên của kết nối để xem chi tiết.
- 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).
- 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.
- 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 |